Red Hat Training

A Red Hat training course is available for RHEL 8

10.5. Tipos de dispositivos virtuais

A virtualização no RHEL 8 pode apresentar vários tipos distintos de dispositivos virtuais que você pode anexar às máquinas virtuais (VMs):

Dispositivos emulados

Os dispositivos emulados são implementações de software de dispositivos físicos amplamente utilizados. Os drivers projetados para dispositivos físicos também são compatíveis com dispositivos emulados. Portanto, os dispositivos emulados podem ser usados de forma muito flexível.

Entretanto, como eles precisam emular fielmente um determinado tipo de hardware, os dispositivos emulados podem sofrer uma perda de desempenho significativa em comparação com os dispositivos físicos correspondentes ou dispositivos virtuais mais otimizados.

Os seguintes tipos de dispositivos emulados são suportados:

  • CPUs virtuais (vCPUs), com uma grande variedade de modelos de CPU disponíveis. O impacto no desempenho da emulação depende significativamente das diferenças entre a CPU hospedeira e a vCPU emulada.
  • Componentes do sistema emulado, tais como controladores de barramento PCI
  • Controladores de armazenamento emulado, tais como SATA, SCSI ou mesmo IDE
  • Dispositivos de som emulado, tais como ICH9, ICH6 ou AC97
  • Placas gráficas emuladas, tais como as placas VGA ou QXL
  • Dispositivos de rede emulada, tais como rtl8139
Dispositivos paravirtualizados

A paravirtualização fornece um método rápido e eficiente para expor dispositivos virtuais a VMs. Os dispositivos paravirtualizados expõem interfaces que são projetadas especificamente para uso em VMs, e assim aumentam significativamente o desempenho do dispositivo. O RHEL 8 fornece dispositivos paravirtualizados para VMs usando a API virtio como uma camada entre o hipervisor e a VM. A desvantagem desta abordagem é que ela requer um driver de dispositivo específico no sistema operacional convidado.

É recomendado o uso de dispositivos paravirtualizados em vez de dispositivos emulados para VM sempre que possível, notadamente se estiverem executando aplicações intensivas de E/S. Os dispositivos paravirtualizados diminuem a latência de E/S e aumentam a produção de E/S, em alguns casos aproximando-os muito do desempenho de metais nobres. Outros dispositivos paravirtualizados também adicionam funcionalidade às VMs que não estão disponíveis de outra forma.

Os seguintes tipos de dispositivos paravirtualizados são suportados:

  • O dispositivo de rede paravirtualizada (virtio-net).
  • Controladores de armazenamento paravirtualizados:

    • virtio-blk - fornece emulação de dispositivos em bloco.
    • virtio-scsi - fornece uma emulação SCSI mais completa.
  • O relógio paravirtualizado.
  • O dispositivo serial paravirtualizado (virtio-serial).
  • O dispositivo balão (virtio-balloon), usado para compartilhar informações sobre o uso da memória do convidado com o hipervisor.

    Observe, entretanto, que o dispositivo de balão também requer que o serviço de balão seja instalado.

  • O gerador de números aleatórios paravirtualizado (virtio-rng).
  • A placa gráfica paravirtualizada (QXL).
Dispositivos fisicamente compartilhados

Certas plataformas de hardware permitem às VMs acessar diretamente vários dispositivos e componentes de hardware. Este processo é conhecido como device assignment ou passthrough.

Quando anexados desta forma, alguns aspectos do dispositivo físico estão diretamente disponíveis para a VM como o seriam para uma máquina física. Isto proporciona um desempenho superior para o dispositivo quando usado na VM. Entretanto, os dispositivos fisicamente conectados a uma VM tornam-se indisponíveis ao host, e também não podem ser migrados.

No entanto, alguns dispositivos podem ser shared em várias VMs. Por exemplo, um único dispositivo físico pode, em certos casos, fornecer múltiplos mediated devices, que podem então ser atribuídos a diferentes VMs.

Os seguintes tipos de dispositivos de passthrough são suportados:

  • Atribuição de dispositivos de E/S de Função Virtual (VFIO) - expõe com segurança os dispositivos a aplicações ou VMs usando DMA reforçado por hardware e isolamento interrompido.
  • USB, PCI e SCSI passthrough - exponha os barramentos padrão comuns da indústria diretamente às VMs, a fim de disponibilizar suas características específicas ao software convidado.
  • Virtualização de E/S de raiz única (SR-IOV) - uma especificação que permite o isolamento reforçado de recursos PCI Express. Isto torna seguro e eficiente a divisão de um único recurso PCI físico em funções PCI virtuais. É comumente usado para placas de interface de rede (NICs).
  • N_Port ID virtualization (NPIV) - uma tecnologia de canal de fibra para compartilhar um único adaptador host bus físico (HBA) com várias portas virtuais.
  • GPUs e vGPUs - aceleradores para tipos específicos de cargas de trabalho gráficas ou computacionais. Algumas GPUs podem ser anexadas diretamente a uma VM, enquanto certos tipos também oferecem a capacidade de criar GPUs virtuais (vGPUs) que compartilham o hardware físico subjacente.