Linux considerações sobre a migração para IBM Cloud VPC
Analise as considerações sobre a migração do Linux para o IBM Cloud VPC, incluindo a verificação do driver VirtIO, a configuração do cloud-init e as configurações de rede.
Antes de iniciar uma migração, leve em consideração as informações a seguir.
Verifique os drivers do site VirtIO
Linux são geralmente mais simples do que as do Windows, mas o guia descreve algumas considerações importantes que devem ser levadas em conta.
As seguintes distribuições Linux incluem drivers VirtIO no kernel:
- Ubuntu: 16.04 e versões posteriores
- RHEL/CentOS: 6.x e posteriormente
- Debian: 8 e versões posteriores
- SUSE: 12 e posteriores
Use o comando a seguir para verificar se os drivers do VirtIO estão instalados.
lsmod | grep virtio
Você vê os drivers a seguir:
virtio_blk- Driver de dispositivo de blocovirtio_net- Driver de redevirtio_scsi- Driver SCSIvirtio_pci- Driver de barramento PCI
Se esses drivers estiverem faltando, você precisará reconstruir o kernel com suporte a VirtIO ou instalar uma distribuição mais recente.
Não é necessário um equivalente do Sysprep
Linux não vincula os drivers ao hardware. O kernel detecta o novo hardware na inicialização e carrega os drivers apropriados. Esse processo torna a migração simples, sem a necessidade de preparação.
Ajustar a configuração da rede
Linux não vincula os drivers ao hardware como o Windows. O kernel detecta o novo hardware na inicialização e carrega os drivers apropriados, o que torna a migração significativamente mais fácil, sem a necessidade de nenhuma preparação especial.
Problema comum: Os nomes das interfaces de rede mudam durante a migração.
Em VMware, sua interface pode ser nomeada:
ens192(nomeação previsível do systemd)eth0(nomeação tradicional)
No VPC, isso pode mudar para:
ens3ouens33(comum em ambientes VirtIO )eth0(se você usar as convenções de nomenclatura tradicionais)
Para resolver a configuração de IP estático, use as informações a seguir:
-
NetworkManager-based ( Red Hat Enterprise Linux (RHEL) 7 ou superior, ou versões mais recentes do Ubuntu )
# Identify new interface name ip link show # Edit connection nmcli con edit "System eth0" # Change interface-name to new name # Save and quit # Restart NetworkManager systemctl restart NetworkManager -
Baseado no Netplan ( Ubuntu 18.04 +)
# /etc/netplan/01-netcfg.yaml network: version: 2 ethernets: ens3: # Updated from ens192 addresses: [10.240.0.10/24] gateway4: 10.240.0.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] -
Tradicional /etc/network/interfaces ( Debian, mais antigo Ubuntu )
auto ens3 iface ens3 inet static address 10.240.0.10 netmask 255.255.255.0 gateway 10.240.0.1
Correção da configuração do DHCP:
Se você usar o DHCP, a configuração será automática, mas talvez seja necessário atualizar os nomes das interfaces nos arquivos de configuração.
Considerações sobre a inicialização na nuvem
O Cloud-init é usado para inicializar instâncias de nuvem, normalmente usado com modelos de imagem. A ferramenta é executada na primeira inicialização para realizar as seguintes ações:
- Definir um nome de host
- Configurar rede
- Criar usuários e chaves SSH
- Executar scripts personalizados
Contexto de migração: Se o cloud-init estiver instalado no seu servidor virtual migrado, o VPC pode tratar a primeira inicialização como uma inicialização inicial, o que aciona as seguintes ações:
- Mudanças do nome do host
- Reconfiguração de rede
- Alterações na conta do usuário
- Execução de scripts de instalação na nuvem
Decisões de design
Opção 1: Desativar a inicialização da nuvem
# Before migration
sudo touch /etc/cloud/cloud-init.disabled
# Or after migration via VNC console
Opção 2: Aceitar o comportamento de primeira inicialização
- Útil se você quiser que a VPC configure automaticamente a rede por meio do DHCP
- pode exigir ajustes manuais após a inicialização (nome do host, usuários)
Opção 3: Configurar o cloud-init
- Crie uma configuração de inicialização na nuvem para preservar suas configurações
- Mais complexo, mas oferece controle
Para migrações individuais do VM (não implantações de modelos), desative a instalação na nuvem para preservar a configuração existente. Para implementações baseadas em modelos, use o cloud-init para configuração automática.
Considerações sobre a partição e o sistema de arquivos
Verificação da tabela de partição: Depois de transferir os discos, use o seguinte comando para verificar se as tabelas de partição estão intactas:
# On worker virtual server instance (VSI) after transfer
fdisk -l /dev/vdb
# For GPT
gdisk -l /dev/vdb
Redimensionamento do volume de inicialização: Se você redimensionou o volume de inicialização para cima (exemplo: de 80 GB em VMware para 100 GB em VPC),
- Talvez seja necessário atualizar a tabela de partições:
Se você redimensionou o volume de inicialização para cima (de 80 GB em VMware para 100 GB em VPC):
# For MBR
fdisk /dev/vda
# Delete and recreate partition with same start sector, new end sector
# For GPT (automatic backup GPT update)
gdisk /dev/vda
- Redimensionar o sistema de arquivos:
# For ext4
resize2fs /dev/vda1
# For xfs
xfs_growfs /
# For LVM
pvresize /dev/vda2
lvextend -l +100%FREE /dev/mapper/vg-root
resize2fs /dev/mapper/vg-root
fstrim e Thin Provisioning
No VMware, você pode usar o comando fstrim para recuperar espaço não utilizado em VMDKs com provisionamento dinâmico. Na VPC, todos os volumes são provisionados na camada de armazenamento, mas o fstrim não tem efeito
sobre a recuperação de espaço na VPC. Lembre-se de que o fstrim não libera armazenamento.
Os trabalhos cron do fstrim existentes podem permanecer no lugar ou removê-los para evitar E/S desnecessárias.