Red Hat Training

A Red Hat training course is available for RHEL 8

10.8. Gerenciamento de dispositivos SR-IOV

Um dispositivo virtual emulado freqüentemente usa mais CPU e memória do que um dispositivo de rede de hardware. Isto pode limitar o desempenho de uma máquina virtual (VM). Entretanto, se algum dispositivo em seu host de virtualização suportar Virtualização de E/S de raiz única (SR-IOV), você pode usar este recurso para melhorar o desempenho do dispositivo, e possivelmente também o desempenho geral de suas VMs.

10.8.1. O que é SR-IOV?

A virtualização de E/S de raiz única (SR-IOV) é uma especificação que permite que um único dispositivo PCI Express (PCIe) apresente vários dispositivos PCI separados, chamados virtual functions (VFs), para o sistema host. Cada um desses dispositivos:

  • É capaz de fornecer o mesmo ou similar serviço que o dispositivo PCIe original.
  • Aparece em um endereço diferente no barramento PCI hospedeiro.
  • Pode ser atribuído a um VM diferente usando a atribuição VFIO.

Por exemplo, um único dispositivo de rede capaz de SR-IOV pode apresentar VFs a várias VMs. Enquanto todas as VFs utilizam a mesma placa física, a mesma conexão de rede e o mesmo cabo de rede, cada uma das VMs controla diretamente seu próprio dispositivo de rede de hardware, e não utiliza recursos extras do host.

Como funciona o SR-IOV

A funcionalidade SR-IOV é possível graças à introdução das seguintes funções PCIe:

  • Physical functions (PFs) - Uma função PCIe que fornece a funcionalidade de seu dispositivo (por exemplo, rede) para o host, mas também pode criar e gerenciar um conjunto de VFs. Cada dispositivo capaz de SR-IOV tem uma ou mais PFs.
  • Virtual functions (VFs) - Funções de PCIe leves que se comportam como dispositivos independentes. Cada VF é derivada de uma PF. O número máximo de VFs que um dispositivo pode ter depende do hardware do dispositivo. Cada VF pode ser atribuída apenas a uma única VM de cada vez, mas uma VM pode ter várias VFs atribuídas a ela.

As VMs reconhecem as VFs como dispositivos virtuais. Por exemplo, uma VF criada por um dispositivo de rede SR-IOV aparece como uma placa de rede para uma VM à qual é atribuída, da mesma forma que uma placa de rede física aparece para o sistema host.

Figura 10.1. Arquitetura SR-IOV

virt SR IOV

Benefícios

As principais vantagens de usar SR-IOV VFs em vez de dispositivos emulados são:

  • Melhoria do desempenho
  • Redução do uso de CPU e recursos de memória do host

Por exemplo, uma VF anexada a um VM como um vNIC tem um desempenho quase igual ao de um DNI físico, e muito melhor do que os DNIs paravirtualizados ou emulados. Em particular, quando várias VFs são usadas simultaneamente em um único host, os benefícios de desempenho podem ser significativos.

Desvantagens

  • Para modificar a configuração de um PF, é necessário primeiro alterar o número de VFs expostas pelo PF para zero. Portanto, você também precisa remover os dispositivos fornecidos por essas VFs da VM à qual elas estão atribuídas.
  • Uma VM com um dispositivo VFIO anexado, incluindo VFs SR-IOV, não pode ser migrada para outro host. Em alguns casos, você pode contornar esta limitação emparelhando o dispositivo designado com um dispositivo emulado. Por exemplo, você pode unir uma VF em rede atribuída a um vNIC emulado, e remover a VF antes da migração.
  • Além disso, os dispositivos atribuídos pela VFIO requerem o acionamento da memória VM, o que aumenta o consumo de memória da VM e impede o uso de balonamento de memória na VM.

Recursos adicionais