KVM에서 vGPU 설정하여 VM에서 vGPU를 사용할 수 있도록 설정합니다.
Rocky 9.4 Minimal
vGPU(가상 GPU)는 물리적인 GPU(Graphics Processing Unit)를 여러 가상 머신(VM)에서 공유할 수 있도록 해주는 기술입니다.
# cp /etc/default/grub /etc/default/grub.org
# sed -i ‘s@GRUB_CMDLINE_LINUX=”@GRUB_CMDLINE_LINUX=”modprobe.blacklist=nouveau @g’ /etc/default/grub
# cat << EOL >> /etc/modprobe.d/nouveau-blacklist.conf
blacklist nouveau
options nouveau modeset=0
EOL
# grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg
# systemctl reboot
# mkdir NVIDIA
# mv NVIDIA-GRID-Linux-KVM-550.54.16-550.54.15-551.78.zip NVIDIA
# cd NVIDIA
# unzip NVIDIA-GRID-Linux-KVM-550.54.16-550.54.15-551.78.zip
# cd Host_Drivers/
# sh NVIDIA-Linux-x86_64-550.54.16-vgpu-kvm.run
# lsmod | grep nvidia_vgpu_vfio
nvidia_vgpu_vfio 73728 0
nvidia 8597504 1 nvidia_vgpu_vfio
mdev 24576 2 vfio_mdev,nvidia_vgpu_vfio
vfio 36864 3 vfio_mdev,nvidia_vgpu_vfio,vfio_iommu_type1
kvm 970752 2 nvidia_vgpu_vfio,kvm_intel
irqbypass 16384 2 nvidia_vgpu_vfio,kvm
# systemctl start nvidia-vgpu-mgr.service
# systemctl enable nvidia-vgpu-mgr.service
# systemctl status nvidia-vgpu-mgr.service
● nvidia-vgpu-mgr.service - NVIDIA vGPU Manager Daemon
Loaded: loaded (/usr/lib/systemd/system/nvidia-vgpu-mgr.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2024-06-04 07:33:16 EDT; 14min ago
Main PID: 1768 (nvidia-vgpu-mgr)
Tasks: 1 (limit: 2470715)
Memory: 36.4M
CGroup: /system.slice/nvidia-vgpu-mgr.service
└─1768 /usr/bin/nvidia-vgpu-mgr
Jun 04 07:33:16 KVM02 systemd[1]: Starting NVIDIA vGPU Manager Daemon...
Jun 04 07:33:16 KVM02 systemd[1]: Started NVIDIA vGPU Manager Daemon.
Jun 04 07:33:18 KVM02 nvidia-vgpu-mgr[1768]: notice: vmiop_env_log: nvidia-vgpu-mgr daemon started
# nvidia-smi vgpu -s
GPU 00000000:98:00.0
NVIDIA L40S-1B
NVIDIA L40S-2B
NVIDIA L40S-1Q
NVIDIA L40S-2Q
NVIDIA L40S-3Q
NVIDIA L40S-4Q
NVIDIA L40S-6Q
NVIDIA L40S-8Q
NVIDIA L40S-12Q
NVIDIA L40S-16Q
NVIDIA L40S-24Q
NVIDIA L40S-48Q
NVIDIA L40S-1A
NVIDIA L40S-2A
NVIDIA L40S-3A
NVIDIA L40S-4A
NVIDIA L40S-6A
NVIDIA L40S-8A
NVIDIA L40S-12A
NVIDIA L40S-16A
NVIDIA L40S-24A
NVIDIA L40S-48A
# vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
+ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau crashkernel=auto resume=UUID=14d180db-ae42-4cfd-a571-e268fce2fd96 intel_iommu=on rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
# grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg
# reboot
# nvidia-smi vgpu
Tue Jun 4 07:48:35 2024
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.16 Driver Version: 550.54.16 |
|---------------------------------+------------------------------+------------+
| GPU Name | Bus-Id | GPU-Util |
| vGPU ID Name | VM ID VM Name | vGPU-Util |
|=================================+==============================+============|
| 0 NVIDIA L40S | 00000000:98:00.0 | 0% |
+---------------------------------+------------------------------+------------+
# /usr/lib/nvidia/sriov-manage -e 00000000:98:00.0
Enabling VFs on 0000:98:00.0
# echo ‘/usr/lib/nvidia/sriov-manage -e 00000000:98:00.0’ >> /etc/rc.local
# ls -al /sys/bus/pci/devices/0000:98:00.0/ | grep virtfn
# cat /sys/bus/pci/devices/0000:98:00.0/virtfn0/mdev_supported_types/nvidia-1152/name
NVIDIA L40S-8Q
# cat /sys/bus/pci/devices/0000:98:00.0/virtfn0/mdev_supported_types/nvidia-1152/available_instances
1
# UUID=$(uuidgen)
# echo $UUID > /sys/bus/pci/devices/0000:98:00.0/virtfn0/mdev_supported_types/nvidia-1152/create
# cat /sys/bus/pci/devices/0000:98:00.0/virtfn0/mdev_supported_types/nvidia-1152/available_instances
0
# ls /sys/bus/mdev/devices/ | wc -l
1
# UUID=$(uuidgen)
# echo $UUID > /sys/bus/pci/devices/0000:98:00.0/virtfn1/mdev_supported_types/nvidia-1152/create
# ls /sys/bus/mdev/devices/ | wc -l
2
https://youtu.be/nNDRk8bt3c4 1. 개요 virt-manager를 사용하여 KVM/QEMU 가상화 환경에서 Windows 11을 설치하는 방법을 소개합니다. 설치 과정에서는 virtIO…
https://youtu.be/YL23ogmZhuY 1. 개요 이 문서에서는 Windows 11 24H2 버전 설치 방법에 대해 설명합니다. USB 설치 디스크를…
https://youtu.be/Nm9swsyeXlY 1. 개요 virt-install 명령어를 이용해 Rocky Linux 9.5 기반 KVM 가상 머신을 생성하는 방법을…
https://youtu.be/zZQl7OJZf7Q 1. 개요 virt-manager를 이용하여 KVM 가상 머신을 생성하는 방법을 설명합니다. Rocky Linux 9.5 ISO…
https://youtu.be/UPeCJbP3UIE 1. 개요 KVM 기반의 가상화 시스템 설치하는 방법을 소개합니다. 2. 버전 Rocky Linux 9.5…
https://youtu.be/wqTxt1H31y4 1. 개요 서버에 2개 이상의 NIC(Network Interface Card)가 있을 때, 고가용성과 장애 대응을 위해…
댓글 보기
안녕하세요.
저는 오픈스택 컴퓨트 노드, ubuntu server 24.04, 에 장착된 L40S 장치를 vGPU 으로 구성하여 VM에 할당하기 위한 검토를 진행하고 있습니다.
일련의 설정, vgpu 드라이버 설치 및 sriov-manage 스크립트 실행에도 불구하고, mdev_supported_types 디렉토리 및 가상 장치 타입이 구성되지 않아 어려움을 겪고 있습니다.
혹시 위와 같은 문제를 겪었거나, 놓친 사항이 있는지 문의드립니다.