Instalação de drivers e alteração dos identificadores de disco para o formato UUID
Para garantir que os ECSs criados a partir da imagem suportem a virtualização Xen e KVM, instale os drivers Xen e KVM nativos e altere os identificadores de disco para o formato UUID da VM usada como origem da imagem.
Esta seção descreve como executar essas operações em uma VM do Linux que executa o Ubuntu 20.04. Para outros sistemas operacionais, consulte Processo de otimização (Linux).
Instalar drivers Xen e KVM nativos
- Execute o seguinte comando para abrir o arquivo modules:
vi /etc/initramfs-tools/modules
- Pressione i para entrar no modo de edição e adicione os drivers Xen (xen-pv) e KVM (virtio) nativos ao arquivo /etc/initramfs-tools/modules (o formato depende dos requisitos do sistema operacional).
[root@CTU10000xxxxx ~]#vi /etc/initramfs-tools/modules ... # Examples: # # raid1 # sd_mOd xen-blkfront xen-netfront virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio
- Pressione Esc, digite :wq e pressione Enter para salvar as configurações e sair do editor vi.
- Execute o seguinte comando para gerar o initrd novamente:
- Execute os seguintes comandos para verificar se os drivers Xen e KVM nativos foram instalados:
lsinitramfs /boot/initrd.img-`uname -r` |grep xen
lsinitramfs /boot/initrd.img-`uname -r` |grep virtio
[root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep xen lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen/netxen_nic.ko lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback/xen-netback.ko lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback/xen-blkback.ko [root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep virtio lib/modules/3.5.0-23-generic/kernel/drivers/scsi/virtio_scsi.ko
Se você adicionar drivers internos ao arquivo initrd ou initramfs, a VM não será afetada. Isso facilita a modificação dos drivers. No entanto, os drivers não podem ser mostrados executando o comando lsinitrd. Você pode executar os seguintes comandos para verificar se os drivers são integrados no kernel:
[root@ CTU10000xxxxx home]# cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y CONFIG_VIRTIO_BLK=y CONFIG_VIRTIO_NET=y CONFIG_VIRTIO=y CONFIG_VIRTIO_RING=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y [root@ CTU10000xxxxx home]# cat /boot/config-`uname -r` | grep CONFIG_XEN | grep y CONFIG_XEN_BLKDEV_FRONTEND=y CONFIG_XEN_NETDEV_FRONTEND=y
Altere o identificador de disco no arquivo de configuração do GRUB para o formato UUID
- Efetue logon na VM recém-criada como usuário root.
- Execute o seguinte comando para consultar todos os tipos de sistemas de arquivos montados e seus UUIDs de dispositivo:
As seguintes informações são exibidas:
/dev/xvda1: UUID="ec51d860-34bf-4374-ad46-a0c3e337fd34" TYPE="ext3" /dev/xvda5: UUID="7a44a9ce-9281-4740-b95f-c8de33ae5c11" TYPE="swap"
- Execute o seguinte comando para consultar o arquivo grub.cfg:
cat /boot/grub/grub.cfg
As seguintes informações são exibidas:
......menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 else search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=/dev/xvda1 ro echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic }
- Verifique se o arquivo de configuração /boot/grub/grub.cfg contém root=/dev/xvda1 ou root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34.
- Se root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 estiver contido, a partição raiz está no formato UUID e nenhuma ação adicional é necessária.
- Se root=/dev/xvda1 estiver contido, a partição raiz será representada por um nome de dispositivo. Vá para a etapa 5.
- Obtenha o UUID da partição raiz com base em root=/dev/xvda1 e informações obtidas executando o comando blkid.
- Execute o seguinte comando para abrir o arquivo grub.cfg:
vi /boot/grub/grub.cfg
- Pressione i para entrar no modo de edição. Altere o identificador da partição raiz para o formato UUID. Por exemplo, altere root=/dev/xvda1 para root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34.
- Pressione Esc, digite :wq e pressione Enter para salvar as configurações e sair do editor vi.
- Execute o seguinte comando para verificar a alteração:
A alteração será bem-sucedida se informações semelhantes às seguintes forem exibidas:
......menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 else search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 ro echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic }
Altere os identificadores de disco no arquivo fstab para o formato UUID
Tomemos como exemplo o Ubuntu 20.04. Execute blkid para obter os UUIDs de todas as partições. Modifique o arquivo /etc/fstab e use os UUIDs da partição para configurar a montagem automática da partição.
- Execute o seguinte comando para consultar todos os tipos de sistemas de arquivos montados e seus UUIDs de dispositivo:
As seguintes informações são exibidas:
/dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap"
- Execute o seguinte comando para consultar o arquivo fstab:
cat /etc/fstab
As seguintes informações são exibidas:
[root@CTU1000028010 ~]# cat /etc/fstab /dev/xvda2 / xfs defaults 0 0 /dev/xvda1 swap swap defaults 0 0
- Verifique se os identificadores de disco no arquivo fstab são nomes de dispositivos ou UUIDs.
- Se forem UUIDs, nenhuma ação adicional é necessária.
- Se forem nomes de dispositivos, vá para a etapa 4.
- Execute o seguinte comando para abrir o arquivo fstab:
vi /etc/fstab
- Pressione i para entrar no modo de edição e altere os identificadores do disco para o formato UUID.
- Pressione Esc, digite :wq e pressione Enter para salvar as configurações e sair do editor vi.