이 가이드는 Proxmox VE에서 GPU 패스스루를 설정하여 가상 머신(VM)이 GPU에 직접 접근하도록 만드는 과정을 안내합니다. 이를 통해 게임이나 머신 러닝과 같은 고성능 작업을 VM에서 수행할 수 있습니다.
1단계: 시스템에서 IOMMU 활성화
GPU 패스스루를 사용하려면 IOMMU(Input-Output Memory Management Unit)를 활성화해야 합니다. 이는 BIOS와 커널에서 설정합니다.
- 서버를 재부팅하고 BIOS/UEFI 설정으로 들어갑니다.
- IOMMU를 활성화합니다. (Intel CPU는 VT-d, AMD CPU는 AMD-Vi를 활성화) "가상화 기술" 또는 "IOMMU" 옵션을 찾으세요.
- 설정을 저장하고 BIOS를 종료합니다.
다음으로, 리눅스 커널에서 IOMMU를 활성화하려면 GRUB 설정을 수정합니다:
nano /etc/default/grub
Intel CPU의 경우 GRUB_CMDLINE_LINUX_DEFAULT 줄에 intel_iommu=on
을 추가하고, AMD CPU의 경우 amd_iommu=on
을 추가합니다. 예:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on"
GRUB을 업데이트하고 재부팅합니다:
update-grub
reboot
IOMMU가 활성화되었는지 확인합니다:
dmesg | grep -e DMAR -e IOMMU
출력에 IOMMU 관련 메시지가 표시되면 성공적으로 활성화된 것입니다.
2단계: VFIO 모듈 활성화
GPU 패스스루를 위해 VFIO(Virtual Function I/O) 모듈을 활성화해야 합니다.
먼저 VFIO 모듈을 로드하도록 설정합니다:
echo "vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd" >> /etc/modules
커널 모듈을 업데이트합니다:
update-initramfs -u
reboot
3단계: GPU 장치 확인 및 블랙리스트 설정
Proxmox 호스트가 GPU를 사용하지 않도록 해야 하며, VM에서 사용할 수 있도록 GPU를 격리합니다.
먼저 GPU 장치를 확인합니다:
lspci -nn
GPU와 관련된 장치(예: NVIDIA GPU 또는 AMD GPU)의 PCI ID를 찾습니다. 예: 01:00.0
.
GPU 드라이버가 호스트에서 로드되지 않도록 블랙리스트에 추가합니다:
nano /etc/modprobe.d/blacklist.conf
다음과 같이 추가합니다 (NVIDIA GPU의 경우):
blacklist nouveau
blacklist nvidia
AMD GPU의 경우:
blacklist amdgpu
blacklist radeon
변경 사항을 적용합니다:
update-initramfs -u
reboot
4단계: VFIO로 GPU 바인딩
GPU를 VFIO 드라이버에 바인딩하여 VM에서 사용할 수 있도록 합니다.
GPU의 vendor ID와 device ID를 확인합니다:
lspci -nnk
GPU의 ID는 대괄호 안에 표시됩니다. 예: [10de:1b80]
(NVIDIA 예시).
VFIO 설정 파일을 생성합니다:
nano /etc/modprobe.d/vfio.conf
다음과 같이 GPU ID를 추가합니다:
options vfio-pci ids=10de:1b80,10de:10f0
변경 사항을 적용합니다:
update-initramfs -u
reboot
5단계: VM에 GPU 패스스루 설정
Proxmox 웹 인터페이스를 통해 VM에 GPU를 추가합니다.
- Proxmox 웹 UI에 로그인합니다.
- 대상 VM을 선택하고 "Hardware" 탭으로 이동합니다.
- "Add" 버튼을 클릭하고 "PCI Device"를 선택합니다.
- GPU 장치를 선택하고 "All Functions"를 체크합니다 (GPU와 오디오 장치 모두 포함).
- 설정을 저장합니다.
VM 설정 파일을 직접 수정해야 할 수도 있습니다:
nano /etc/pve/qemu-server/VMID.conf
다음과 같이 추가합니다:
machine: q35
hostpci0: 01:00,pcie=1
6단계: VM 시작 및 드라이버 설치
VM을 시작하고 GPU가 제대로 전달되었는지 확인합니다.
- VM을 부팅합니다.
- VM 내에서 GPU 드라이버를 설치합니다 (예: NVIDIA 또는 AMD 드라이버).
- 장치 관리자를 확인하여 GPU가 인식되었는지 확인합니다.
7단계: 문제 해결
패스스루가 작동하지 않을 경우 다음 사항을 확인하세요:
- IOMMU 그룹이 올바르게 격리되었는지 확인:
find /sys/kernel/iommu_groups/ -type l
- 호스트에서 GPU가 사용 중인지 확인:
lspci -nnk
- Proxmox 로그 확인:
journalctl -xe
'서버 리뷰 > Proxmox' 카테고리의 다른 글
Proxmox에서 서로 다른 네트워크 대역 간 통신 및 NAT 구성 가이드 (0) | 2025.05.17 |
---|---|
Proxmox 내부 VM 접속을 위한 Guacamole vs RustDesk 비교 (0) | 2025.05.13 |
Zabbix를 사용한 Proxmox 네트워크 모니터링 (1) | 2025.05.07 |
Proxmox VE 콘솔 가이드: noVNC, xterm.js, SPICE (0) | 2025.05.04 |
Proxmox 폐쇄망 VM 구축 가이드 (0) | 2025.05.03 |