Ir para o conteúdoIr para navegação de página: página anterior [tecla de acesso p]/próxima página [tecla de acesso n]
documentation.suse.com / Implantando o SLE Micro usando imagens de disco brutas em máquinas virtuais

Implantando o SLE Micro usando imagens de disco brutas em máquinas virtuais

Data de Publicação: 29/09/2024
O QUE É?

O SLE Micro fornece imagens brutas, também chamadas de imagens predefinidas, que podem ser implantadas diretamente na máquina virtual.

POR QUÊ?

A implantação virtualizada economiza recursos de hardware.

DEDICAÇÃO

A leitura do artigo leva aproximadamente 20 minutos.

META

O SLE Micro será implantado com êxito em uma máquina virtual.

REQUISITOS
  • Um Servidor de Host de VM com libvirt e um ambiente de virtualização KVM instalado e em execução.

  • Mínimo de 32 GB de espaço em disco para implantação da imagem.

  • Opcionalmente, um meio de configuração, por exemplo, um disco flash USB.

1 Sobre as imagens predefinidas

As imagens predefinidas são representações prontas para uso de um sistema operacional em execução. Elas não são instaladas da maneira tradicional com um instalador, mas são copiadas para o disco rígido do host de destino. O tópico inclui informações básicas sobre essas imagens predefinidas.

As imagens predefinidas devem ser configuradas na primeira inicialização usando as ferramentas incluídas nas imagens. O carregador de boot detecta a primeira inicialização conforme descrito na Seção 1.2, “Detecção de primeira inicialização”. Cada imagem vem com subvolumes padrão montados, que podem ser mudados na configuração durante a primeira inicialização. Para obter detalhes sobre os subvolumes, consulte a Seção 1.1, “Particionamento padrão”.

1.1 Particionamento padrão

As imagens predefinidas são fornecidas com um esquema de particionamento padrão. Você pode mudá-lo durante a primeira inicialização usando o Ignition ou o Combustion.

Importante
Importante: O Btrfs é obrigatório para o sistema de arquivos raiz

Se você pretende realizar qualquer mudança no esquema de particionamento padrão, o sistema de arquivos raiz deve ser Btrfs.

Cada imagem tem os seguintes subvolumes:

/home
/root
/opt
/srv
/usr/local
/var

O diretório /etc é montado como overlayFS, em que o diretório superior é montado em /var/lib/overlay/1/etc/.

Você pode reconhecer os subvolumes montados por padrão pela opção x-initrd.mount em /etc/fstab. Outros subvolumes ou partições devem ser configurados por meio do Ignition ou Combustion.

1.2 Detecção de primeira inicialização

A configuração da implantação é executada apenas na primeira inicialização. Para diferenciar a primeira inicialização das seguintes, o arquivo de flag /boot/writable/firstboot_happened será criado após a conclusão da primeira inicialização. Se o arquivo não estiver presente no sistema de arquivos, o atributo ignition.firstboot será inserido na linha de comando do kernel e, portanto, tanto o Ignition quanto o Combustion serão acionados para execução (no initrd). Após concluir a primeira inicialização, o arquivo de flag /boot/writable/firstboot_happened será criado.

Nota
Nota: O arquivo de flag sempre é criado

Mesmo que a configuração não seja bem-sucedida por causa de arquivos de configuração impróprios ou ausentes, o arquivo de flag /boot/writable/firstboot_happened será criado.

1.2.1 Forçar a reconfiguração do sistema em uma inicialização subsequente

Se você precisar reconfigurar o sistema após a primeira inicialização, poderá forçar a reconfiguração na inicialização subsequente. Há duas opções.

  • Você pode inserir o atributo ignition.firstboot=1 na linha de comando do kernel.

  • Você pode apagar o arquivo de flag /boot/writable/firstboot_happened.

2 Preparando o dispositivo de configuração

Importante
Importante: Login SSH

Por padrão, o login SSH de root no SLE Micro é permitido apenas usando a chave SSH. Durante o processo de implantação, recomendamos criar um usuário sem privilégios que você possa usar para acessar o sistema instalado. Você pode criar uma conta de usuário sem privilégios na primeira inicialização com a ferramenta Combustion ou Ignition. A criação de um usuário sem privilégios durante a implantação do sistema também é útil para acessar a interface da Web do Cockpit.

Para preparar o dispositivo de configuração, faça o seguinte:

Procedimento 1: Preparando o dispositivo de configuração
  1. Formate o disco em qualquer sistema de arquivos suportado pelo SLE Micro: Ext3, Ext4 etc.:

    > sudo mkfs.ext4 /dev/sdY
  2. Defina o rótulo do dispositivo como ignition (quando o Ignition ou o Combustion é usado) ou como combustion (quando apenas o Combustion é usado). Se necessário (por exemplo, no host do Windows), use letras maiúsculas para os rótulos. Para definir o rótulo do dispositivo, execute:

    > sudo e2label /dev/sdY ignition

    Você pode usar qualquer tipo de mídia de armazenamento de configuração suportado pelo seu sistema de virtualização ou hardware: imagem ISO, disco flash USB etc.

  3. Monte o dispositivo:

    > sudo mount /dev/sdY /mnt
  4. Crie a estrutura de diretórios conforme mencionado na Seção 2.1.1.1, “ config.ign ou na Seção 2.2, “Configurando a implantação do SLE Micro com o Combustion”, dependendo da ferramenta de configuração usada:

    > sudo mkdir  /mnt/ignition/

    Ou:

    > sudo mkdir -p /mnt/combustion/
  5. Prepare todos os elementos da configuração que serão usados pelo Ignition ou Combustion.

2.1 Configurando a implantação do SLE Micro com o Ignition

Ignition é uma ferramenta de aprovisionamento que permite configurar um sistema de acordo com as suas especificações na primeira inicialização.

2.1.1 Como funciona o Ignition?

Quando o sistema é inicializado pela primeira vez, o Ignition é carregado como parte de um initramfs e procura um arquivo de configuração em um diretório específico (em um disco flash USB, ou você pode fornecer um URL). Todas as mudanças são executadas antes que o kernel alterne do sistema de arquivos temporário para o sistema de arquivos raiz real (antes da emissão do comando switch_root).

O Ignition usa um arquivo de configuração no formato JSON chamado config.ign. Você pode gravar a configuração manualmente ou usar o aplicativo da Web Fuel Ignition em https://ignite.opensuse.org para gerá-la.

Importante
Importante

O Fuel Ignition ainda não abrange o vocabulário completo do Ignition, e o arquivo JSON resultante pode precisar de outros ajustes manuais.

2.1.1.1 config.ign

O arquivo de configuração config.ign deve residir no subdiretório ignition da mídia de configuração, por exemplo, um pendrive USB chamado ignition. A estrutura de diretórios deve ter a seguinte aparência:

<root directory>
└── ignition
    └── config.ign
Dica
Dica

Para criar uma imagem de disco com a configuração do Ignition, você pode usar o aplicativo da Web Fuel Ignition em https://ignite.opensuse.org.

O config.ign contém vários tipos de dados: objetos, strings, números inteiros, boolianos e listas de objetos. Para obter uma especificação completa, consulte Ignition specification v3.3.0.

O atributo version é obrigatório e, no caso do SLE Micro, o valor dele deve ser definido como 3.3.0 ou qualquer versão anterior. Do contrário, o Ignition falhará.

Para efetuar login no sistema como root, você deve incluir pelo menos uma senha de root. No entanto, é recomendável estabelecer o acesso por meio de chaves SSH. Para configurar uma senha, use uma senha segura. Se você usar uma senha gerada aleatoriamente, use pelo menos 10 caracteres. Se você criar a senha manualmente, use mais do que 10 caracteres e combine letras maiúsculas, letras minúsculas e números.

2.1.2 Exemplos de configuração do Ignition

2.1.2.1 Exemplos de configuração

Esta seção apresenta vários exemplos de configuração do Ignition no formato JSON incorporado.

Importante
Importante

A Seção 1.1, “Particionamento padrão” lista os subvolumes que são montados por padrão durante a execução da imagem predefinida. Para adicionar um novo usuário ou modificar qualquer um dos arquivos em um subvolume que não esteja montado por padrão, você precisa declarar esse subvolume primeiro para que ele também seja montado. Encontre mais detalhes sobre a montagem de sistemas de arquivos na Seção 2.1.2.1.1.3, “O atributo filesystems.

Nota
Nota: O atributo version é obrigatório

Cada config.fcc deve incluir a versão 1.4.0 ou inferior, que será convertida na especificação do Ignition correspondente.

2.1.2.1.1 Configuração de armazenamento

O atributo storage é usado para configurar partições, RAID, definir sistemas de arquivos, criar arquivos etc. Para definir partições, use o atributo disks. O atributo filesystems é usado para formatar partições e definir pontos de montagem de partições específicas. O atributo files pode ser usado para criar arquivos no sistema de arquivos. Cada um dos atributos mencionados está descrito nas seções a seguir.

2.1.2.1.1.1 O atributo disks

O atributo disks é uma lista de dispositivos que permite definir partições nesses dispositivos. O atributo disks deve conter pelo menos um device, os outros atributos são opcionais. O seguinte exemplo usa um único dispositivo virtual e divide o disco em quatro partições:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "disks": [
      {
        "device": "/dev/vda",
        "partitions": [
          {
            "label": "root",
            "number": 1,
            "typeGuid": "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709"
          },
          {
            "label": "boot",
            "number": 2,
            "typeGuid": "BC13C2FF-59E6-4262-A352-B275FD6F7172"
          },
          {
            "label": "swap",
            "number": 3,
            "typeGuid": "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F"
          },
          {
            "label": "home",
            "number": 4,
            "typeGuid": "933AC7E1-2EB4-4F13-B844-0E14E2AEF915"
          }
        ],
        "wipeTable": true
      }
    ]
  }
}
2.1.2.1.1.2 O atributo raid

raid é uma lista de matrizes RAID. Os seguintes atributos de raid são obrigatórios:

level

um nível da matriz RAID específica (linear, raid0, raid1, raid2, raid3, raid4, raid5, raid6)

devices

uma lista de dispositivos na matriz referenciada por seus caminhos absolutos

name

um nome que será usado para o dispositivo md

Por exemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "raid": [
      {
        "devices": [
          "/dev/sda",
          "/dev/sdb"
        ],
        "level": "raid1",
        "name": "system"
      }
    ]
  }
}
2.1.2.1.1.3 O atributo filesystems

filesystems deve conter os seguintes atributos:

device

o caminho absoluto para o dispositivo, normalmente /dev/sda, no caso de disco físico

format

o formato do sistema de arquivos (Btrfs, Ext4, xfs, vfat ou swap (troca))

Nota
Nota

No caso do SLE Micro, o sistema de arquivos root deve ser formatado como Btrfs.

O exemplo a seguir demonstra o uso do atributo filesystems. O diretório /opt será montado na partição /dev/sda1, que está formatada como Btrfs. O dispositivo não será apagado.

Por exemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "filesystems": [
      {
        "device": "/dev/sda1",
        "format": "btrfs",
        "path": "/opt",
        "wipeFilesystem": false
      }
    ]
  }
}

Normalmente, o diretório pessoal de um usuário comum está localizado no diretório /home/USER_NAME. Como /home não é montado por padrão no initrd, a montagem deve ser definida claramente para que a criação do usuário seja bem-sucedida:

{
  "ignition": {
    "version": "3.1.0"
  },
  "passwd": {
    "users": [
      {
        "name": "root",
        "passwordHash": "PASSWORD_HASH",
        "sshAuthorizedKeys": [
          "ssh-rsa SSH_KEY_HASH"
        ]
      }
    ]
  },
  "storage": {
    "filesystems": [
      {
        "device": "/dev/sda3",
        "format": "btrfs",
        "mountOptions": [
          "subvol=/@/home"
        ],
        "path": "/home",
        "wipeFilesystem": false
      }
    ]
  }
}
2.1.2.1.1.4 O atributo files

Você pode usar o atributo files para criar qualquer arquivo em sua máquina. Para criar arquivos fora do esquema de particionamento padrão, lembre-se de que você precisará definir os diretórios usando o atributo filesystems.

No exemplo a seguir, um nome de host é criado usando o atributo files. O arquivo /etc/hostname será criado com o nome de host sl-micro1:

Importante
Importante

Lembre-se de que o JSON aceita modos de arquivo em números decimais, por exemplo, 420.

JSON:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "files": [
      {
        "overwrite": true,
        "path": "/etc/hostname",
        "contents": {
          "source": "data:,sl-micro1"
        },
        "mode": 420
      }
    ]
  }
}
2.1.2.1.1.5 O atributo directories

O atributo directories é uma lista dos diretórios que serão criados no sistema de arquivos. O atributo directories deve conter pelo menos um atributo path.

Por exemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "storage": {
    "directories": [
      {
        "path": "/home/tux",
        "user": {
          "name": "tux"
        }
      }
    ]
  }
}
2.1.2.1.2 Administração de usuários

O atributo passwd é usado para adicionar usuários. Como alguns serviços (por exemplo, o Cockpit) exigem login de um usuário não root, defina pelo menos um usuário sem privilégios. Se preferir, crie esse usuário de um sistema em execução conforme descrito na Seção 5.3, “Adicionando usuários”.

Para efetuar login no sistema, crie um usuário root e um usuário comum e defina as respectivas senhas. Você precisa criar o hash das senhas, por exemplo, usando o comando openssl:

openssl passwd -6

O comando cria um hash da senha escolhida. Use esse hash como o valor do atributo password_hash.

Por exemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "passwd": {
    "users": [
      {
        "name": "root",
        "passwordHash": "PASSWORD_HASH",
        "sshAuthorizedKeys": [
          "ssh-rsa SSH_KEY_HASH USER@HOST"
        ]
      }
    ]
  }
}

O atributo users deve conter pelo menos um atributo name. ssh_authorized_keys é uma lista de chaves SSH para o usuário.

2.1.2.1.3 Habilitando serviços systemd

Você pode habilitar serviços systemd especificando-os no atributo systemd.

Por exemplo:

{
  "ignition": {
    "version": "3.0.0"
  },
  "systemd": {
    "units": [
      {
        "enabled": true,
        "name": "sshd.service"
      }
    ]
  }
}

2.2 Configurando a implantação do SLE Micro com o Combustion

Combustion é um módulo do dracut que permite configurar o sistema na primeira inicialização. Você pode usar o Combustion, por exemplo, para mudar as partições padrão, definir senhas de usuários, criar arquivos ou instalar pacotes.

2.2.1 Como funciona o Combustion?

O Combustion é invocado depois que o argumento ignition.firstboot é passado para a linha de comando do kernel. O Combustion lê um arquivo fornecido chamado script, executa os comandos incluídos e, deste modo, realiza mudanças no sistema de arquivos. Se script incluir o flag de rede, o Combustion tentará configurar a rede. Após a montagem de /sysroot, o Combustion tentará ativar todos os pontos de montagem em /etc/fstab e, em seguida, chamará transactional-update para aplicar outras mudanças, por exemplo, definir a senha de root ou instalar pacotes.

O arquivo de configuração script deve residir no subdiretório combustion da mídia de configuração chamada combustion. A estrutura de diretórios deve ter a seguinte aparência:

<root directory>
└── combustion
    └── script
    └── other files
Dica
Dica: Usando Combustion junto com Ignition

O Combustion pode ser usado junto com o Ignition. Se você pretende fazer isso, defina o rótulo do meio de configuração ignition e inclua o diretório ignition com o config.ign em sua estrutura de diretórios, conforme mostrado abaixo:

<root directory>
└── combustion
    └── script
    └── other files
└── ignition
    └── config.ign

Neste cenário, o Ignition é executado antes do Combustion.

2.2.2 Exemplos de configuração do Combustion

2.2.2.1 O arquivo de configuração script

O arquivo de configuração script é um conjunto de comandos que são analisados e executados pelo Combustion em um shell transactional-update. Este artigo mostra exemplos de tarefas de configuração executadas pelo Combustion.

Importante
Importante: Incluir declaração do interpretador

Como o arquivo script é interpretado pelo shell, inicie-o sempre com a declaração do interpretador em sua primeira linha. Por exemplo, no caso do Bash:

#!/bin/bash

Para efetuar login no sistema, inclua pelo menos a senha de root. No entanto, é recomendável estabelecer a autenticação por meio de chaves SSH. Se você precisa usar uma senha de root, configure uma que seja segura. Para uma senha gerada aleatoriamente, use pelo menos 10 caracteres. Se você criar a senha manualmente, use mais do que 10 caracteres e combine letras maiúsculas, letras minúsculas e números.

2.2.2.1.1 Configuração de rede

Para configurar e usar a conexão de rede durante a primeira inicialização, adicione a seguinte declaração ao script:

# combustion: network

O uso dessa declaração transmite o argumento rd.neednet=1 para o dracut. A configuração de rede é padronizada para usar DHCP. Se uma configuração de rede diferente for necessária, proceda conforme descrito na Seção 2.2.2.1.2, “Fazendo modificações no initramfs”.

Se você não usar a declaração, o sistema permanecerá configurado sem nenhuma conexão de rede.

2.2.2.1.2 Fazendo modificações no initramfs

Talvez seja necessário fazer mudanças no ambiente initramfs, por exemplo, para gravar uma configuração de rede personalizada para o NetworkManager em /etc/NetworkManager/system-connections/. Para fazer isso, use a declaração prepare.

Por exemplo, para criar uma conexão com um endereço IP estático e configurar o DNS:

#!/bin/bash
# combustion: network prepare
set -euxo pipefail
          
nm_config() {
  umask 077 # Required for NM config
  mkdir -p /etc/NetworkManager/system-connections/
  cat >/etc/NetworkManager/system-connections/static.nmconnection <<-EOF
  [connection]
  id=static
  type=ethernet
  autoconnect=true
          
  [ipv4]
  method=manual
  dns=192.168.100.1
  address1=192.168.100.42/24,192.168.100.1
EOF
}
          
if [ "${1-}" = "--prepare" ]; then
  nm_config # Configure NM in the initrd
  exit 0
fi
          
# Redirect output to the console
exec > >(exec tee -a /dev/tty0) 2>&1
          
  nm_config # Configure NM in the system
  curl example.com
# Leave a marker
echo "Configured with combustion" > /etc/issue.d/combustion
2.2.2.1.3 Particionamento

As imagens brutas do SLE Micro são fornecidas com um esquema de particionamento padrão, conforme descrito na Seção 1.1, “Particionamento padrão”. Você pode usar um particionamento diferente. O conjunto de trechos de exemplo a seguir move /home para uma partição diferente.

Nota
Nota: Executar mudanças fora dos diretórios incluídos nos instantâneos

O script a seguir executa mudanças que não estão incluídas nos instantâneos. Se o script falhar e o instantâneo for descartado, algumas mudanças permanecerão visíveis e não poderão ser revertidas, por exemplo, as mudanças feitas no dispositivo /dev/vdb.

O trecho a seguir cria um esquema de particionamento GPT com uma única partição no dispositivo /dev/vdb:

sfdisk /dev/vdb <<EOF
label: gpt
type=linux
EOF

partition=/dev/vdb1

A partição é formatada como Btrfs:

wipefs --all ${partition}
mkfs.btrfs ${partition}

O conteúdo possível de /home é movido para o novo local da pasta /home pelo seguinte trecho:

mount /home
mount ${partition} /mnt
rsync -aAXP /home/ /mnt/
umount /home /mnt

O seguinte trecho remove uma entrada antiga de /etc/fstab e cria uma nova:

awk -i inplace '$2 != "/home"' /etc/fstab
echo "$(blkid -o export ${partition} | grep ^UUID=) /home btrfs defaults 0 0" >>/etc/fstab
2.2.2.1.4 Criando novos usuários

Como alguns serviços (por exemplo, o Cockpit) exigem login de um usuário não root, defina pelo menos um usuário sem privilégios. Se preferir, crie esse usuário de um sistema em execução conforme descrito na Seção 5.3, “Adicionando usuários”.

Para adicionar uma nova conta de usuário, primeiro crie uma string de hash que represente a senha do usuário. Use o comando openssl passwd -6.

Após obter o hash da senha, adicione as seguintes linhas ao script:

mount /home
useradd -m EXAMPLE_USER
echo 'EXAMPLE_USER:PASSWORD_HASH' | chpasswd -e
2.2.2.1.5 Definindo uma senha de root

Antes de definir a senha de root, gere um hash da senha, por exemplo, usando openssl passwd -6. Para definir a senha, adicione a seguinte linha ao script:

echo 'root:PASSWORD_HASH' | chpasswd -e
2.2.2.1.6 Adicionando chaves SSH

O trecho a seguir cria um diretório para armazenar a chave SSH de root e, em seguida, copia a chave SSH pública localizada no dispositivo de configuração para o arquivo authorized_keys.

mkdir -pm700 /root/.ssh/
cat id_rsa_new.pub >> /root/.ssh/authorized_keys
Nota
Nota

O serviço SSH deve ser habilitado, caso você tenha que usar login remoto via SSH. Para obter informações detalhadas, consulte a Seção 2.2.2.1.7, “Habilitando serviços”.

2.2.2.1.7 Habilitando serviços

Para habilitar serviços do sistema, como SSH, adicione a seguinte linha ao script:

systemctl enable sshd.service
2.2.2.1.8 Instalando pacotes
Importante
Importante: Conexão de rede e registro do sistema podem ser necessários

Como alguns pacotes podem exigir assinatura adicional, talvez seja necessário registrar seu sistema primeiro. Uma conexão de rede disponível também pode ser necessária para instalar pacotes adicionais.

Durante a primeira configuração de boot, você pode instalar pacotes adicionais no sistema. Por exemplo, você pode instalar o editor vim adicionando:

zypper --non-interactive install vim-small
Nota
Nota

Lembre-se de que você não poderá usar o zypper depois que a configuração for concluída e você fizer a inicialização no sistema configurado. Para executar mudanças mais tarde, você deve usar o comando transactional-update para criar um instantâneo modificado.

3 Preparando a máquina virtual

Esta seção descreve como preparar uma nova máquina virtual e quais etapas executar para implantar o SLE Micro nessa máquina.

  1. Faça download da imagem de disco do SLE Micro no Servidor de Host de VM em que você pretende executar o SLE Micro virtualizado.

  2. Inicie o Gerenciador de Máquinas Virtuais e selecione Arquivo › Nova Máquina Virtual.

  3. Selecione Importar imagem de disco existente. Confirme com Avançar.

  4. Especifique o caminho para a imagem de disco do SLE Micro da qual você já fez download e o tipo de OS Linux que você está implantando, por exemplo, Generic Linux 2020. Confirme com Avançar.

  5. Especifique a quantidade de memória e o número de processadores que deseja atribuir à máquina virtual do SLE Micro e clique em Encaminhar para confirmar.

  6. Especifique o nome da máquina virtual e da rede que serão usadas.

  7. Se você estiver implantando uma imagem criptografada do SLE Micro, execute estas etapas adicionais:

    1. Habilite Personalizar configuração antes de instalar e clique em Concluir para confirmar.

    2. Clique em Visão geral no menu esquerdo e mude o método de boot de BIOS para UEFI para um boot seguro. Confirme com Aplicar.

      Definir o firmware UEFI para a imagem criptografada do SLE Micro
      Figura 1: Definir o firmware UEFI para a imagem criptografada do SLE Micro
    3. Adicione um dispositivo Trusted Platform Module (TPM). Clique em Adicionar Hardware, selecione TPM no menu esquerdo e escolha o tipo Emulado.

      Adicionar um dispositivo TPM emulado
      Figura 2: Adicionar um dispositivo TPM emulado

      Confirme com Concluir e inicie a implantação do SLE Micro clicando em Começar Instalação no menu superior.

4 Configurando com o JeOS Firstboot

Quando você inicializar o SLE Micro pela primeira vez sem fornecer um dispositivo de configuração, o JeOS Firstboot permitirá a execução de uma configuração mínima do sistema. Se você precisar de mais controle sobre o processo de implantação, use um dispositivo com a configuração do Ignition ou do Combustion. Encontre mais informações na Seção 2.1, “Configurando a implantação do SLE Micro com o Ignition” e na Seção 2.2, “Configurando a implantação do SLE Micro com o Combustion”.

Para configurar o sistema com o JeOS Firstboot, faça o seguinte:

  1. O JeOS Firstboot exibe uma tela de boas-vindas. Confirme com Enter.

  2. Nas próximas telas, selecione o teclado, confirme o contrato de licença e escolha o fuso horário.

  3. Na janela da caixa de diálogo Enter root password (Digitar senha de root), insira e confirme uma senha de root.

    Digitar senha de root
    Figura 3: Digitar senha de root
  4. Para implantações criptografadas, o JeOS Firstboot faz o seguinte:

    • Solicita uma nova frase secreta para substituir a frase secreta padrão.

    • Gera uma nova chave LUKS e criptografa novamente a partição.

    • Adiciona um slot de chave secundária ao cabeçalho LUKS e criptografa-o no dispositivo TPM.

    Se você estiver implantando uma imagem criptografada, siga estas etapas:

    1. Selecione o método de proteção desejado e clique em OK para confirmar.

    2. Insira uma senha de recuperação para a criptografia LUKS e digite-a novamente. A nova criptografia do sistema de arquivos raiz é iniciada.

    Selecionar método de criptografia
    Figura 4: Selecionar método de criptografia
  5. Após a implantação bem-sucedida, registre seu sistema e crie um usuário sem privilégios conforme descrito na Seção 5.4, “Registrando o SLE Micro da CLI”.

5 Etapas pós-implantação

5.1 Expandindo imagens de disco criptografadas

As imagens de disco brutas criptografadas do SLE Micro não se expandem automaticamente até a capacidade total do disco. Este procedimento descreve as etapas para expandi-las até o tamanho desejado.

Procedimento 2: Expandindo imagens de disco criptografadas
  1. Use o comando qemu-img para aumentar a imagem de disco para o tamanho desejado.

  2. Use o comando parted para redimensionar a partição em que o dispositivo LUKS reside (por exemplo, a partição número 3) para o tamanho desejado.

  3. Execute o comando cryptsetup resize luks. Quando solicitado, digite a frase secreta para redimensionar o dispositivo criptografado.

  4. Execute o comando transactional-update shell para abrir um shell de leitura-gravação no instantâneo do disco atual. Em seguida, redimensione o sistema de arquivos Btrfs para o tamanho desejado, por exemplo:

    # btrfs fi resize max /
  5. Saia do shell com exit e reinicialize o sistema com reboot.

5.2 Criptografando novamente o sistema criptografado

Atenção
Atenção: O sistema não está protegido

O sistema não está protegido. Portanto, não armazene dados confidenciais nele até que a nova criptografia de disco esteja concluída.

Nota
Nota: A etapa não é necessária se você implantou o sistema usando o JeOS Firstboot

O JeOS Firstboot solicita uma nova frase secreta durante a fase de implantação. Depois que você inseri-la, o sistema será recriptografado automaticamente e, portanto, nenhuma outra ação será necessária.

As imagens criptografadas do SLE Micro são fornecidas com uma frase secreta LUKS padrão. Para proteger seu sistema, mude-a após a implantação do sistema. Para isso, proceda conforme descrito abaixo. Execute as etapas na mesma sessão de shell.

  1. Importe as funções necessárias para o shell:

    # source /usr/share/fde/luks
  2. Identifique o dispositivo LUKS subjacente e defina outras variáveis usadas:

    # luks_name=$(expr "`df --output=source / | grep /dev/`" :
          ".*/\(.*\)")

    E:

    # luks_dev=$(luks_get_underlying_device "$luks_name")
  3. Crie um arquivo de chave que armazene a frase secreta padrão 1234 e um arquivo de chave com a nova frase secreta.

  4. Mude a senha de recuperação:

    # cryptsetup luksChangeKey --key-filePATH_TO_DEFAULT --pbkdf pbkdf2 "${luks_dev}" PATH_TO_NEW

    PATH_TO_DEFAULT é o caminho para o arquivo de chave com a frase secreta padrão. PATH_TO_NEW é o caminho para o arquivo de chave com a sua nova frase secreta.

  5. Criptografe novamente o dispositivo LUKS:

    # cryptsetup reencrypt --key-filePATH_TO_NEW ${luks_dev}
  6. Crie uma nova chave aleatória e criptografe-a com o TPM:

    > sudo fdectl regenerate-key --passfile PATH_TO_NEW
  7. Remova os dois arquivos de chave criados no Passo 3.

  8. Atualize o arquivo grub.cfg executando:

    > sudo transactional-update grub.cfg
  9. Reinicialize o sistema.

5.3 Adicionando usuários

Como o SLE Micro requer um usuário sem privilégios para efetuar login por SSH ou para acessar o Cockpit, você precisa criar essa conta.

Esta etapa é opcional se você definiu um usuário sem privilégios no Ignition ou Combustion. Se você implantou o sistema usando o JeOS Firstboot, configure apenas a senha de root e crie a conta sem privilégios manualmente conforme descrito abaixo:

  1. Execute o comando useradd da seguinte maneira:

    # useradd -m USER_NAME
  2. Defina uma senha para essa conta:

    # passwdUSER_NAME
  3. Se necessário, adicione o usuário ao grupo wheel:

    # usermod -aG wheelUSER_NAME

5.4 Registrando o SLE Micro da CLI

Após a implantação bem-sucedida, você precisará registrar o sistema para obter suporte técnico e receber atualizações. É possível registrar o sistema da linha de comando usando o comando transactional-update register.

Para registrar o SLE Micro no SUSE Customer Center, faça o seguinte:

  1. Execute transactional-update register da seguinte maneira:

    # transactional-update register -rREGISTRATION_CODE -e EMAIL_ADDRESS

    Para o registro com um servidor de registro local, especifique também o URL para o servidor:

    # transactional-update register -rREGISTRATION_CODE -e EMAIL_ADDRESS \
     --url "https://suse_register.example.com/"

    Substitua REGISTRATION_CODE pelo código de registro que você recebeu com a cópia do SLE Micro. Substitua EMAIL_ADDRESS pelo endereço de e-mail associado à conta do SUSE que você ou sua organização usa para gerenciar assinaturas.

  2. Reinicialize o sistema para alternar para o instantâneo mais recente.

  3. O SLE Micro agora está registrado.

Nota
Nota: Outras opções de registro

Para obter informações que não fazem parte do escopo desta seção, consulte a documentação em linha com SUSEConnect --help.