Linux Aspectos a tener en cuenta a la hora de migrar a IBM Cloud VPC

Revisa las consideraciones sobre la migración de « Linux » a « IBM Cloud VPC », incluyendo la verificación del controlador « VirtIO », la configuración de «cloud-init» y los ajustes de red.

Antes de iniciar una migración, ten en cuenta la siguiente información.

Verifique los controladores VirtIO

Linux suelen ser más sencillas que las de Windows, pero la guía describe algunas consideraciones importantes que hay que tener en cuenta.

Las siguientes distribuciones Linux incluyen controladores VirtIO en el núcleo:

  • Ubuntu: 16.04 y versiones posteriores
  • RHEL/CentOS: 6.x y más tarde
  • Debian: 8 y versiones posteriores
  • SUSE: 12 y posteriores

Utiliza el siguiente comando para comprobar que los controladores de VirtIO están instalados.

lsmod | grep virtio

Aparecen los siguientes controladores:

  • virtio_blk- Controlador de dispositivo de bloque
  • virtio_net- Controlador de red
  • virtio_scsi- Controlador SCSI
  • virtio_pci- Controlador de bus PCI

Si faltan estos controladores, es necesario reconstruir el kernel con soporte para VirtIO o instalar una distribución más reciente.

No se necesita un equivalente de Sysprep

Linux no vincula los controladores al hardware. El núcleo detecta el nuevo hardware en el arranque y carga los controladores adecuados. Este proceso simplifica la migración, que normalmente no requiere preparación.

Ajustar la configuración de red

Linux no vincula los controladores al hardware como Windows. El kernel detecta el nuevo hardware en el arranque y carga los controladores adecuados, lo que facilita considerablemente la migración, que no suele requerir una preparación especial.

Problema común: Los nombres de las interfaces de red cambian durante la migración.

En VMware, su interfaz podría llamarse:

  • ens192 (nomenclatura predecible de systemd)
  • eth0 (denominación tradicional)

En VPC, puede cambiar a:

  • ens3 o ens33 (común en entornos VirtIO )
  • eth0 (si utiliza convenciones de nomenclatura tradicionales)

Para resolver la configuración de IP estática, utilice la siguiente información:

  • NetworkManager-based ( Red Hat Enterprise Linux (RHEL) 7 o superior, o versiones más recientes de 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
    
  • Basado en 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, más antiguo Ubuntu )

    auto ens3
    iface ens3 inet static
      address 10.240.0.10
      netmask 255.255.255.0
      gateway 10.240.0.1
    

Corrección de la configuración DHCP:

Si utiliza DHCP, la configuración es automática, pero es posible que tenga que actualizar los nombres de las interfaces en los archivos de configuración.

Consideraciones sobre Cloud-init

Cloud-init se utiliza para inicializar instancias de nube, normalmente se utiliza con plantillas de imágenes. La herramienta se ejecuta en el primer arranque para realizar las siguientes acciones:

  • Establecer un nombre de host
  • Configure la red
  • Crear usuarios y claves SSH
  • Ejecutar scripts personalizados

Contexto de migración: Si cloud-init está instalado en tu servidor virtual migrado, VPC puede considerar el primer arranque como un primer arranque, lo que activa las siguientes acciones:

  • Cambios de nombre de host
  • Reconfiguración de la red
  • Cambios en las cuentas de usuario
  • Ejecución de scripts cloud-init

Decisiones de diseño

Opción 1: Desactivar cloud-init

# Before migration
sudo touch /etc/cloud/cloud-init.disabled
# Or after migration via VNC console

Opción 2: Aceptar el comportamiento de primer arranque

  • Útil si desea que VPC auto-configure la red a través de DHCP
  • puede que sea necesario realizar ajustes manuales tras el arranque (nombre del servidor, usuarios)

Opción 3: Configurar cloud-init

  • Crea una configuración cloud-init para conservar tus ajustes
  • Más complejo, pero te da el control

En las migraciones individuales a VM (no en las implantaciones de plantillas), desactive cloud-init para conservar la configuración existente. Para implantaciones basadas en plantillas, utilice cloud-init para la configuración automática.

Consideraciones sobre particiones y sistemas de archivos

Verificación de la tabla de particiones: Después de transferir los discos, utilice el siguiente comando para verificar que las tablas de partición están intactas:

# On worker virtual server instance (VSI) after transfer
fdisk -l /dev/vdb
# For GPT
gdisk -l /dev/vdb

Redimensionamiento del volumen de arranque: Si redimensionó el volumen de arranque hacia arriba (ejemplo: de 80 GB en VMware a 100 GB en VPC),

  1. Es posible que tengas que actualizar la tabla de particiones:

Si redimensionó el volumen de arranque al alza (de 80 GB en VMware a 100 GB en 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
  1. Redimensiona el sistema de archivos:
# 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 y Thin Provisioning

En VMware, puedes utilizar fstrim para recuperar el espacio no utilizado en los archivos VMDK con aprovisionamiento ligero. En VPC, todos los volúmenes se aprovisionan de forma ligera en la capa de almacenamiento, pero fstrim no tiene ningún efecto sobre la recuperación de espacio en VPC. Ten en cuenta que fstrim no libera almacenamiento.

Las tareas cron de fstrim existentes pueden mantenerse o eliminarse para evitar E/S innecesarias.