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 1. 개요 OpenMediaVault(OMV) 웹 관리 페이지에서 admin 계정의 비밀번호를 변경하는 방법을 안내합니다. 2. 버전 정보…
https://youtu.be/hlBddMVRL9Q 1. 개요 OpenMediaVault(OMV)는 Debian 기반의 오픈소스 NAS(Network Attached Storage) 운영체제로, 웹 브라우저를 통해 스토리지,…
https://youtu.be/iCUa8Ua8fIg 1. 개요 Raspberry Pi OS Lite를 Raspberry Pi Imager를 이용하여 설치하는 방법을 설명합니다. 2.…
안녕하세요.이번에 CKA(Certified Kubernetes Administrator) 시험에서 90점으로 합격했습니다. (합격 기준 66점) 합격 자체도 기뻤지만, 이번 시험을 준비하면서…
https://youtu.be/n8-wlkZiqio 1. 개요 NFS(Network File System)를 설치하고, rw/ro 및 root_squash 옵션에 따른 접근 제어와 성능을 테스트하는 방법을 정리한 가이드입니다.…
https://youtu.be/4MVxzmepY3s 1. 개요 리눅스에서 정기적으로 실행되는 작업(백업, 로그 정리, 모니터링 등)은 cron 서비스를 통해 자동화할 수 있습니다.…