Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-09 GMT+08:00

Como instalar os drivers Xen e KVM nativos?

Cenários

Esta seção descreve como instalar os drivers nativos Xen e KVM.

Xen: se você não instalar o driver Xen para a imagem, o desempenho de rede dos ECSs criados a partir dessa imagem será ruim e os grupos de segurança e o firewall configurados para os ECSs não terão efeito.

KVM: se você não instalar o driver KVM para a imagem, as NICs dos ECSs podem não ser detectadas e os ECSs não poderão se comunicar com outros recursos.

Pré-requisitos

  • O tipo de virtualização do ECSs é Xen. Para obter detalhes, consulte Visualização do tipo de virtualização de um ECS do Linux.
  • A versão do kernel deve ser posterior à 2.6.24.
  • Desative o seu software antivírus e de detecção de intrusão. Você pode ativá-los após a instalação dos drivers Xen e KVM.

Procedimento

Modifique o arquivo de configuração dependendo do sistema operacional.
  • CentOS, EulerOS

    Veja o CentOS 7.0 como exemplo. Modifique o arquivo /etc/dracut.conf. Adicione os drivers xen-pv e VirtIO a add_drivers. Os drivers xen-pv incluem xen-blkfront e xen-netfront. Os drivers VirtIO incluem virtio_blk, virtio_scsi, virtio_net, virtio_pci, virtio_ring e virtio. Separe os nomes dos drivers com espaços. Salve e saia do arquivo /etc/dracut.conf. Execute o comando dracut -f para gerar novamente o initrd.

    Para mais detalhes, consulte CentOS e EulerOS.

  • Ubuntu e Debian

    Modifique o arquivo /etc/initramfs-tools/modules. Adicione os drivers xen-pv e VirtIO. Os drivers xen-pv incluem xen-blkfront e xen-netfront. Os drivers VirtIO incluem virtio_blk, virtio_scsi, virtio_net, virtio_pci, virtio_ring e virtio. Separe os nomes dos drivers com espaços. Salve e saia do arquivo /etc/initramfs-tools/modules. Execute o comando update-initramfs -u para gerar novamente o initrd.

    Para mais detalhes, consulte Ubuntu e Debian.

  • SUSE e openSUSE
    • Se a versão do SO for anterior ao SUSE 12 SP1 ou ao openSUSE 13, modifique o arquivo /etc/sysconfig/kernel e adicione os drivers xen-pv e VirtIO ao INITRD_MODULES="". Os drivers xen-pv incluem xen_vnif, xen_vbd e xen_platform_pci. Os drivers VirtIO incluem virtio_blk, virtio_scsi, virtio_net, virtio_pci, virtio_ring e virtio. Separe os nomes dos drivers com espaços. Execute o comando mkinitrd para gerar novamente o initrd.
    • Se a versão do SO for o SUSE 12 SP1, modifique o arquivo /etc/dracut.conf e adicione os drivers xen-pv e VirtIO a add_drivers. Os drivers xen-pv incluem xen_vnif, xen_vbd e xen_platform_pci. Os drivers VirtIO incluem virtio_blk, virtio_scsi, virtio_net, virtio_pci, virtio_ring e virtio. Separe os nomes dos drivers com espaços. Execute o comando dracut -f para gerar novamente o initrd.
    • Se a versão do SO for posterior ao SUSE 12 SP1 ou openSUSE 13, modifique o arquivo /etc/dracut.conf e adicione os drivers xen-pv e VirtIO a add_drivers. Os drivers xen-pv incluem xen-blkfront e xen-netfront. Os drivers VirtIO incluem virtio_blk, virtio_scsi, virtio_net, virtio_pci, virtio_ring e virtio. Separe os nomes dos drivers com espaços. Salve e saia do arquivo /etc/dracut.conf. Execute o comando dracut -f para gerar novamente o initrd.
    Para mais detalhes, consulte SUSE e openSUSE.

    Para o SUSE, execute o seguinte comando para verificar se o xen-kmp (pacote de driver para xen-pv) está instalado:

    rpm -qa |grep xen-kmp

    Se informações semelhantes às seguintes forem exibidas, o xen-kmp está instalado no sistema operacional:

    xen-kmp-default-4.2.2_04_3.0.76_0.11-0.7.5

    Se o xen-kmp não estiver instalado, obtenha-o a partir do arquivo ISO e instale-o.

    Se você adicionar drivers internos ao arquivo initrd ou initramfs por engano, o ECSs não será afetado.

CentOS e EulerOS

  1. Execute o seguinte comando para abrir o arquivo /etc/dracut.conf.

    vi /etc/dracut.conf

  2. Pressione i para entrar no modo de edição e adicione os drivers xen-pv e VirtIO a add_drivers (o formato varia dependendo do sistema operacional).
    [root@CTU10000xxxxx ~]# vi /etc/dracut.conf 
    # additional kernel modules to the default 
    add_drivers+="xen-blkfront xen-netfront virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio" 
    ......
  3. Pressione Esc, insira :wq e pressione Enter. O sistema salva a alteração e sai do arquivo /etc/dracut.conf.
  4. Execute o seguinte comando para gerar novamente o initrd:

    dracut -f /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img

    Se o sistema de arquivos virtual não for o initramfs padrão, execute o comando dracut -f Name of the initramfs or initrd file actually used. O nome real do arquivo initramfs ou initrd pode ser obtido a partir do arquivo grub.cfg, que pode ser /boot/grub/grub.cfg, /boot/grub2/grub.cfg ou /boot/grub/grub.conf dependendo do SO.

  5. Se o sistema de arquivos virtual for initramfs, execute os seguintes comandos para verificar se os drivers nativos Xen e KVM foram carregados:

    lsinitrd /boot/initramfs-`uname -r`.img | grep xen

    lsinitrd /boot/initramfs-`uname -r`.img | grep virtio

    Se o sistema de arquivos virtual for initrd, execute os seguintes comandos para verificar se os drivers nativos Xen e KVM foram carregados:

    lsinitrd /boot/initrd-`uname -r` | grep xen

    lsinitrd /boot/initrd-`uname -r` | grep virtio

    Suponha que o sistema de arquivos virtual seja initramfs. A seguinte saída do comando será exibida:

    [root@CTU10000xxxxx home]# lsinitrd /boot/initramfs-`uname -r`.img | grep xen 
    -rwxr--r--   1 root     root        54888 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/block/xen-blkfront.ko 
    -rwxr--r--   1 root     root        45664 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/net/xen-netfront.ko 
     
    [root@CTU10000xxxxx home]# lsinitrd /boot/initramfs-`uname -r`.img | grep virtio 
    -rwxr--r--   1 root     root        23448 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/block/virtio_blk.ko 
    -rwxr--r--   1 root     root        50704 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/net/virtio_net.ko 
    -rwxr--r--   1 root     root        28424 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko 
    drwxr-xr-x   2 root     root            0 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio 
    -rwxr--r--   1 root     root        14544 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/virtio.ko 
    -rwxr--r--   1 root     root        21040 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko 
    -rwxr--r--   1 root     root        18016 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko

    Se você adicionar drivers internos ao arquivo initrd ou initramfs, o ECSs não será afetado. Isso facilita a modificação dos drivers. No entanto, você não pode verificar os drivers executando o comando lsinitrd. Você pode executar os seguintes comandos para verificar se os drivers internos estão no kernel:

    cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y

    cat /boot/config-`uname -r` | grep CONFIG_XEN | grep y

Ubuntu e Debian

  1. Execute o seguinte comando para abrir o arquivo modules:

    vi /etc/initramfs-tools/modules

  2. Pressione i para entrar no modo de edição e adicione os drivers xen-pv e VirtIO ao arquivo /etc/initramfs-tools/modules (o formato varia dependendo 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
  3. Pressione Esc, insira :wq e pressione Enter. O sistema salva a alteração e sai do arquivo /etc/initramfs-tools/modules.
  4. Execute o seguinte comando para gerar novamente o initrd:

    update-initramfs -u

  5. Execute os seguintes comandos para verificar se os drivers nativos Xen e KVM 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, o ECSs não será afetado. Isso facilita a modificação dos drivers. No entanto, você não pode verificar os drivers executando o comando lsinitrd. Você pode executar os seguintes comandos para verificar se os drivers internos estão 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

SUSE e openSUSE

Se a versão do sistema operacional for anterior ao SUSE 12 SP1 ou openSUSE 13, modifique o arquivo /etc/sysconfig/kernel. Para obter detalhes, consulte cenário 1.

Se a versão do SO for o SUSE 12 SP1, modifique o arquivo /etc/dracut.conf e adicione drivers xen-pv e VirtIO. Para obter detalhes, consulte cenário 2.

Se a versão do SO for posterior ao SUSE 12 SP1 ou openSUSE 13, modifique o arquivo /etc/dracut.conf e adicione os drivers xen-pv e VirtIO a add_drivers. Para obter detalhes, consulte cenário 3.
  • Se a versão do sistema operacional for anterior ao SUSE 12 SP1 ou openSUSE 13, execute as seguintes etapas:

    Para o SUSE, execute o seguinte comando para verificar se o xen-kmp (pacote de driver para xen-pv) está instalado no sistema operacional:

    rpm -qa |grep xen-kmp

    Se informações semelhantes às seguintes forem exibidas, o xen-kmp será instalado:

    xen-kmp-default-4.2.2_04_3.0.76_0.11-0.7.5

    Se o xen-kmp não estiver instalado, obtenha-o a partir de ISO de instalação e instale-o primeiro.

    1. Execute o seguinte comando para abrir o arquivo /etc/sysconfig/kernel:

      vi /etc/sysconfig/kernel

    2. Adicione os drivers xen-pv e VirtIO após INITRD_MODULES= (o formato dos drivers depende do sistema operacional).
      SIA10000xxxxx:~ # vi /etc/sysconfig/kernel 
      # (like drivers for scsi-controllers, for lvm or reiserfs)
      #
      INITRD_MODULES="ata_piix ata_generic xen_vnif xen_vbd xen_platform_pci virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
    3. Execute o comando mkinitrd para gerar novamente o initrd:

      Se o sistema de arquivos virtual não for o initramfs ou initrd padrão, execute o comando dracut -f Name of the initramfs or initrd file actually used. O nome real do arquivo initramfs ou initrd pode ser obtido no arquivo menu.lst ou grub.cfg (/boot/grub/menu.lst, /boot/grub/grub.cfg ou /boot/grub2/grub.cfg).

      A seguir está um exemplo de arquivo initrd do SUSE 11 SP4:

      default 0
      timeout 10
      gfxmenu (hd0,0)/boot/message
      title sles11sp4_001_[_VMX_]
      root (hd0,0)
      kernel /boot/linux.vmx vga=0x314 splash=silent console=ttyS0,115200n8 console=tty0 net.ifnames=0 NON_PERSISTENT_DEVICE_NAMES=1 showopts
      initrd /boot/initrd.vmx
      title Failsafe_sles11sp4_001_[_VMX_]
      root (hd0,0)
      kernel /boot/linux.vmx vga=0x314 splash=silent ide=nodma apm=off noresume edd=off powersaved=off nohz=off highres=off processsor.max+cstate=1 nomodeset x11failsafe console=ttyS0,115200n8 console=tty0 net.ifnames=0 NON_PERSISTENT_DEVICE_NAMES=1 showopts
      initrd /boot/initrd.vmx

      /boot/initrd.vmx na linha initrd é o arquivo initrd realmente usado. Execute o comando dracut -f /boot/initrd.vmx. Se o arquivo initrd não contiver o diretório /boot, como /initramfs-xxx, execute o comando dracut -f /boot/initramfs-xxx.

    4. Execute os seguintes comandos para verificar se o módulo PVOPS para Xen ou módulo VirtIO para KVM está carregado:

      lsinitrd /boot/initrd-`uname -r` | grep xen

      lsinitrd /boot/initrd-`uname -r` | grep virtio
      SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep xen
      -rwxr--r-- 1 root root 42400 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/xen-blkfront.ko
      -rwxr--r-- 1 root root 44200 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/xen-netfront.ko
      
      SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio
      -rwxr--r-- 1 root root 19248 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko
      -rwxr--r-- 1 root root 23856 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/virtio_blk.ko
      drwxr-xr-x 2 root root 0 Jul 12 14:53 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio
      -rwxr--r-- 1 root root 15848 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko
      -rwxr--r-- 1 root root 20008 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko
      -rwxr--r-- 1 root root 12272 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio.ko
      -rwxr--r-- 1 root root 38208 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/virtio_net.ko
    5. Reinicie o ECSs.
    6. Modifique o arquivo /boot/grub/menu.lst. Adicione xen_platform_pci.dev_unplug=all e modifique a configuração raiz.

      Antes da modificação:

      ###Don't change this comment -YaST2 identifier: Original name: linux###
      title SUSE Linux Enterprise Server 11SP4 - 3.0.76-0.11 (default) 
      root (hd0,0) 
      kernel /boot/vmlinuz-3.0.76-0.11-default root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 splash=silentcrashkernel=256M-:128M showopts vga=0x314
      initrd /boot/initrd-3.0.76-0.11-default

      Após a modificação:

      ###Don't change this comment -YaST2 identifier: Original name: linux###
      title SUSE Linux Enterprise Server 11SP4 - 3.0.76-0.11 (default) 
      root (hd0,0) 
      kernel /boot/vmlinuz-3.0.76-0.11-default root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 splash=silentcrashkernel=256M-:128M showopts vga=0x314 xen_platform_pci.dev_unplug=all 
      initrd /boot/initrd-3.0.76-0.11-default
      • Certifique-se de que a partição raiz esteja no formato UUID.
      • xen_platform_pci.dev_unplug=all é adicionado para proteger dispositivos QEMU.
      • Para SUSE 11 SP1 64bit a SUSE 11 SP4 64bit, adicione xen_platform_pci.dev_unplug=all ao arquivo menu.lst. Para o SUSE 12 ou posterior, essa função é ativada por padrão e você não precisa configurá-la.
    7. Execute os seguintes comandos para verificar se os drivers Xen existem no initrd:

      lsinitrd /boot/initrd-`uname -r` | grep xen

      lsinitrd /boot/initrd-`uname -r` | grep virtio

      SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep xen
      -rwxr--r-- 1 root root 42400 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/xen-blkfront.ko
      -rwxr--r-- 1 root root 44200 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/xen-netfront.ko
      
      SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio
      -rwxr--r-- 1 root root 19248 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko
      -rwxr--r-- 1 root root 23856 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/virtio_blk.ko
      drwxr-xr-x 2 root root 0 Jul 12 14:53 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio
      -rwxr--r-- 1 root root 15848 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko
      -rwxr--r-- 1 root root 20008 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko
      -rwxr--r-- 1 root root 12272 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio.ko
      -rwxr--r-- 1 root root 38208 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/virtio_net.ko

      Se você adicionar drivers internos ao arquivo initrd ou initramfs, o ECSs não será afetado. Isso facilita a modificação dos drivers. No entanto, você não pode verificar os drivers executando o comando lsinitrd. Você pode executar os seguintes comandos para verificar se os drivers internos estão no kernel:

      cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y

      cat /boot/config-`uname -r` | grep CONFIG_XEN | grep y

  • Se a versão do SO for o SUSE 12 SP1, execute as seguintes etapas:
    1. Execute o seguinte comando para abrir o arquivo /etc/dracut.conf.

      vi /etc/dracut.conf

    2. Pressione i para entrar no modo de edição e adicione os drivers xen-pv e VirtIO a add-drivers (o formato varia dependendo do sistema operacional).
      [root@CTU10000xxxxx ~]# vi /etc/dracut.conf 
      # additional kernel modules to the default
      add_drivers+="ata_piix ata_generic xen_vnif xen_vbd xen_platform_pci virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
    3. Pressione Esc, insira :wq e pressione Enter. O sistema salva a alteração e sai do arquivo /etc/dracut.conf.
    4. Execute o seguinte comando para gerar novamente o initrd:

      dracut -f /boot/initramfs-File name

      Se o sistema de arquivos virtual não for o initramfs padrão, execute o comando dracut -f Name of the initramfs or initrd file actually used. O nome real do arquivo initramfs ou initrd pode ser obtido a partir do arquivo grub.cfg, que pode ser /boot/grub/grub.cfg, /boot/grub2/grub.cfg ou /boot/grub/grub.conf dependendo do SO.

    5. Se o sistema de arquivos virtual for initramfs, execute os seguintes comandos para verificar se os drivers nativos Xen e KVM foram carregados:

      lsinitrd /boot/initramfs-`uname -r`.img | grep xen

      lsinitrd /boot/initramfs-`uname -r`.img | grep virtio

      Se o sistema de arquivos virtual for initrd, execute os seguintes comandos para verificar se os drivers nativos Xen e KVM foram carregados:

      lsinitrd /boot/initrd-`uname -r` | grep xen

      lsinitrd /boot/initrd-`uname -r` | grep virtio

  • Se a versão do sistema operacional for posterior ao SUSE 12 SP1 ou openSUSE 13, execute as seguintes etapas:
    Veja o SUSE Linux Enterprise Server 12 SP2 (x86_64) como exemplo.
    1. Execute o seguinte comando para abrir o arquivo /etc/dracut.conf.

      vi /etc/dracut.conf

    2. Pressione i para entrar no modo de edição e adicione os drivers xen-pv e VirtIO a add_drivers (o formato varia dependendo do sistema operacional).
      [root@CTU10000xxxxx ~]# vi /etc/dracut.conf 
      # additional kernel modules to the default
      add_drivers+="ata_piix ata_generic xen-blkfront xen-netfront virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
    3. Pressione Esc, insira :wq e pressione Enter. O sistema salva a alteração e sai do arquivo /etc/dracut.conf.
    4. Execute o seguinte comando para gerar novamente o initrd:

      dracut -f /boot/initramfs-File name

      Se o sistema de arquivos virtual não for o initramfs padrão, execute o comando dracut -f Name of the initramfs or initrd file actually used. O nome real do arquivo initramfs ou initrd pode ser obtido a partir do arquivo grub.cfg, que pode ser /boot/grub/grub.cfg, /boot/grub2/grub.cfg ou /boot/grub/grub.conf dependendo do SO.

    5. Se o sistema de arquivos virtual for initramfs, execute os seguintes comandos para verificar se os drivers nativos Xen e KVM foram carregados:

      lsinitrd /boot/initramfs-`uname -r`.img | grep xen

      lsinitrd /boot/initramfs-`uname -r`.img | grep virtio

      Se o sistema de arquivos virtual for initrd, execute os seguintes comandos para verificar se os módulos de driver Xen e KVM nativos foram carregados com sucesso:

      lsinitrd /boot/initrd-`uname -r` | grep xen

      lsinitrd /boot/initrd-`uname -r` | grep virtio

      Suponha que o sistema de arquivos virtual é initrd. A seguinte saída do comando será exibida:

      sluo-ecs-30dc:~ # lsinitrd /boot/initrd-`uname -r` | grep xen
      -rw-r--r-- 1 root root 69575 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/block/xen-blkfront.ko
      -rw-r--r-- 1 root root 53415 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/net/xen-netfront.ko
      drwxr-xr-x 2 root root 0 Sep 28 10:21 lib/modules/4.4.21-69-default/updates/pvdriver/xen-hcall
      -rwxr-xr-x 1 root root 8320 Sep 28 10:21 lib/modules/4.4.21-69-default/updates/pvdriver/xen-hcall/xen-hcall.ko
      
      sluo-ecs-30dc:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio
      -rw-r--r-- 1 root root 29335 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/block/virtio_blk.ko
      -rw-r--r-- 1 root root 57007 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/net/virtio_net.ko
      -rw-r--r-- 1 root root 32415 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/scsi/virtio_scsi.ko
      drwxr-xr-x 2 root root 0 Sep 28 10:21 lib/modules/4.4.21-69-default/kernel/drivers/virtio
      -rw-r--r-- 1 root root 19623 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio.ko
      -rw-r--r-- 1 root root 38943 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio_pci.ko
      -rw-r--r-- 1 root root 24431 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio_ring.ko

      Se você adicionar drivers internos ao arquivo initrd ou initramfs, o ECSs não será afetado. Isso facilita a modificação dos drivers. No entanto, você não pode verificar os drivers executando o comando lsinitrd. Você pode executar os seguintes comandos para verificar se os drivers internos estão no kernel:

      cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y

      cat /boot/config-`uname -r` | grep CONFIG_XEN | grep y