Capítulo 12. Gestión de dispositivos NVIDIA vGPU
La función vGPU permite dividir un dispositivo de GPU NVIDIA físico en varios dispositivos virtuales, denominados mediated devices. Estos dispositivos mediados pueden asignarse entonces a múltiples máquinas virtuales (VM) como GPUs virtuales. Como resultado, estas VMs pueden compartir el rendimiento de una única GPU física.
La asignación de una GPU física a las máquinas virtuales, con o sin el uso de dispositivos mediados, hace que el host no pueda utilizar la GPU.
12.1. Configuración de dispositivos NVIDIA vGPU Copiar enlaceEnlace copiado en el portapapeles!
Para configurar la función NVIDIA vGPU, debe descargar los controladores NVIDIA vGPU para su dispositivo GPU, crear dispositivos mediados y asignarlos a las máquinas virtuales previstas. Para obtener instrucciones detalladas, consulte a continuación.
Requisitos previos
El paquete mdevctl está instalado.
yum install mdevctl
# yum install mdevctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Su GPU soporta dispositivos mediados por vGPU. Para obtener una lista actualizada de las GPUs NVIDIA que admiten la creación de vGPUs, consulta la documentación del software de la GPU NVIDIA.
Si no sabe qué GPU está utilizando su host, instale el paquete lshw y utilice el comando
lshw -C display. El siguiente ejemplo muestra que el sistema utiliza una GPU NVIDIA Tesla P4, compatible con vGPU.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Procedimiento
- Descargue los controladores NVIDIA vGPU e instálelos en su sistema. Para obtener instrucciones, consulta la documentación de NVIDIA.
Si el instalador del software de NVIDIA no creó el archivo /etc/modprobe.d/nvidia-installer-disable-nouveau.conf, cree un archivo
confcon cualquier nombre en /etc/modprobe.d/, y añada las siguientes líneas en el archivo:blacklist nouveau options nouveau modeset=0
blacklist nouveau options nouveau modeset=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow Regenerar el ramdisk inicial para el kernel actual, luego reiniciar.
dracut --force reboot
# dracut --force # rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow Compruebe que el kernel ha cargado el módulo
nvidia_vgpu_vfioy que el servicionvidia-vgpu-mgr.serviceestá funcionando.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Generar un UUID de dispositivo.
uuidgen
# uuidgen 30820a6f-b1a5-4503-91ca-0c10ba58692aCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cree un dispositivo mediado a partir del hardware de la GPU que ha detectado en los requisitos previos y asigne el UUID generado al dispositivo.
El siguiente ejemplo muestra cómo crear un dispositivo mediado del tipo
nvidia-63vGPU en una tarjeta NVIDIA Tesla P4 que funciona en el bus PCI 0000:01:00.0:mdevctl start -u 30820a6f-b1a5-4503-91ca-0c10ba58692a -p 0000:01:00.0 --type nvidia-63
# mdevctl start -u 30820a6f-b1a5-4503-91ca-0c10ba58692a -p 0000:01:00.0 --type nvidia-63Copy to Clipboard Copied! Toggle word wrap Toggle overflow NotaPara conocer los valores del tipo vGPU para dispositivos GPU específicos, consulte la documentación del software de la GPU virtual.
Haz que el dispositivo mediado sea persistente:
mdevctl define --auto --uuid 30820a6f-b1a5-4503-91ca-0c10ba58692a
# mdevctl define --auto --uuid 30820a6f-b1a5-4503-91ca-0c10ba58692aCopy to Clipboard Copied! Toggle word wrap Toggle overflow Adjunte el dispositivo mediado a una VM que desee compartir los recursos de la vGPU. Para ello, añada las siguientes líneas, junto con el UUID previamente genereado, a las secciones <devices/> en la configuración XML de la VM.
<hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci'> <source> <address uuid='30820a6f-b1a5-4503-91ca-0c10ba58692a'/> </source> </hostdev><hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci'> <source> <address uuid='30820a6f-b1a5-4503-91ca-0c10ba58692a'/> </source> </hostdev>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Tenga en cuenta que cada UUID sólo puede asignarse a una máquina virtual a la vez.
- Para que la funcionalidad completa de los dispositivos mediados por la vGPU esté disponible en las VMs asignadas, configure el licenciamiento de software invitado de NVIDIA vGPU en las VMs. Para obtener más información e instrucciones, consulte la Guía del usuario del servidor de licencias de software de la GPU virtual de NVIDIA.
Verificación
Enumera los dispositivos mediadores activos en tu host. Si la salida muestra un dispositivo definido con el UUID utilizado en el procedimiento, NVIDIA vGPU se ha configurado correctamente. Por ejemplo:
mdevctl list
# mdevctl list 85006552-1b4b-45ef-ad62-de05be9171df 0000:01:00.0 nvidia-63 30820a6f-b1a5-4503-91ca-0c10ba58692a 0000:01:00.0 nvidia-63 (defined)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Recursos adicionales
-
Para más información sobre el uso de la utilidad
mdevctl, utiliceman mdevctl.