본문 바로가기

서버 리뷰/Proxmox

Proxmox GPU 패스스루 설정 가이드

728x90
반응형

이 가이드는 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

이 가이드는 2025년 5월 기준으로 작성되었습니다. 추가적인 도움이 필요하면 Proxmox 공식 문서나 커뮤니티 포럼을 참조하세요.

반응형