StorageReview.com

Proxmox vGPU 가이드: 귀하의 GPU는 패스스루 이상의 것을 필요로 합니다

기업  ◇  소프트웨어

Proxmox Server Solutions는 최근 Virtual Environment(VE) 하이퍼바이저에 대한 NVIDIA vGPU 지원을 발표하여 렌더링, VDI, AI 및 기타 애플리케이션을 위한 GPU 가속의 완전히 새로운 세계를 열었습니다. 하이퍼바이저의 새로운 기능 세트를 검토하고 안내하며 성능을 평가하는 데 참여하세요.

vGPU 지원의 큰 장점은 무엇인가?

NVIDIA의 vGPU 소프트웨어에 익숙하지 않다면, GPU의 컴퓨팅 및 메모리 리소스를 여러 가상 머신(VM)에 분할하여 분산할 수 있습니다. 이 설정에서 VM은 GPU의 처리 능력을 번갈아 사용하고 필요에 따라 카드 메모리의 일부를 할당합니다. 이 접근 방식을 사용하면 게스트 VM의 워크로드 강도가 다르더라도 GPU가 최대 활용도를 유지할 수 있습니다.

Proxmox vGPU L40S 설치

시작하기 전에…(필수 조건)

Proxmox VE(PVE)에서 GPU 가상화 환경을 구축하기 전에 몇 가지 준비 사항이 필요합니다. 다른 데이터 센터 장비와 마찬가지로 NVIDIA의 vGPU 소프트웨어는 무료가 아닙니다. NVIDIA 가상 GPU 소프트웨어의 구매 또는 평가판 등록을 하고 NVIDIA 엔터프라이즈 계정을 생성해야 합니다. 다음으로, vGPU 호환 그래픽 카드를 준비 하고 라이선스 포털 에서 해당 드라이버를 다운로드 해야 합니다 . 최신 버전의 "Linux KVM" 드라이버를 다운로드하세요. 최소한 다음 드라이버들을 다운로드해야 합니다.

  • vGPU 소프트웨어: 18.0
  • 호스트 드라이버: 570.124.03
  • Linux 게스트 드라이버: 570.124.06
  • Windows 게스트 드라이버: 572.60

이 프로젝트에는 NVIDIA L40S와 Dell PowerEdge R760을 활용했습니다.

Proxmox vGPU NVIDIA GPU

또한 게스트 운영 체제에서 vGPU 기능을 활성화하려면 전용 라이선스 서버(DLS) 또는 클라우드 라이선스 서버(CLS)가 필요합니다. 여기를 클릭하면 빠른 시작 가이드를 확인할 수 있습니다.

다음으로, 서버의 UEFI(BIOS) 설정에서 적절한 가상화 기능이 활성화되어 있는지 확인하십시오. VT-d 또는 AMD-v , SR-IOV , 4G 이상 디코딩 , 크기 조절 가능한 막대 , 대체 라우팅 ID 해석 (ARI) 설정을 찾아 모두 활성화되어 있는지 확인하십시오.

참고: 일부 기능은 사용자에게 노출되지 않을 수 있으므로 UEFI 메뉴에서 이러한 기능 중 일부를 찾지 못할 수도 있습니다.

마지막으로, 적합한 버전의 Proxmox VE를 사용하고 있는지 확인하세요. vGPU 기능을 사용하려면 최소한 pve-manager 버전 8.3.4와 커널 6.18.12-8-pve 이상이 필요합니다. 아래에 표시된 대로 원하는 서버의 "요약" 탭으로 이동하여 PVE 노드의 소프트웨어 버전을 확인할 수 있습니다.

Proxmox vGPU VE 인터페이스 1

가장 많은 (Proxmox 호스트 vGPU 설정)을 갖춘 호스트

이제 모든 것이 준비되었으므로 Proxmox VE 서버를 구성할 시간입니다. Proxmox VE 서버의 웹 인터페이스에서 화면 왼쪽에 있는 서버 이름을 클릭하고 "Shell" 탭을 선택합니다. 나타나는 콘솔 창에 이 명령을 입력하고 완료되면 Enter를 누릅니다.

apt 설치 pve-nvidia-vgpu-helper

이렇게 하면 vGPU 설정 도구가 서버에 설치되어 Proxmox vGPU 지원을 준비합니다. 서버가 스크립트 설치를 완료하거나 이미 존재한다고 알리면 도구를 실행하기 위해 한 가지 명령을 더 실행합니다.

pve-nvidia-vgpu-helper 설정

모든 질문에 "Y"로 답하고 콘솔 창이 돌아오고 스크립트가 완료될 때까지 계속합니다. 서버의 "요약" 탭으로 이동하여 "재부팅" 버튼을 누르거나 "셸" 탭 콘솔에 재부팅 명령을 입력하고 Enter를 눌러 서버를 빠르게 재시작합니다.

다음으로 NVIDIA의 vGPU 호스트 드라이버를 서버에 설치해야 합니다. 서버 재부팅이 완료되면 WinSCP 와 같은 SSH 또는 SCP 전송 도구를 사용하여 호스트 드라이버를 노드로 복사합니다.

참고: 모든 드라이버를 압축(.zip) 폴더로 다운로드한 경우, 먼저 압축을 풀고 "Host_Drivers" 폴더에서 ".run" 파일을 선택해야 할 수 있습니다.

서버의 "/home" 디렉토리에 파일을 넣고 다음 명령어로 설치 프로그램을 실행할 준비를 합니다.

cd /home chown root NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run chmod +X NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run ./NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run --dkms

참고: "NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run" 부분을 다운로드한 드라이버의 실제 이름으로 바꾸십시오. 드라이버 파일이 "/home" 디렉터리에 생성되면 "ls" 명령어를 사용하여 파일 이름을 확인할 수 있습니다.

이제 서버에 드라이버가 설치되었으므로 Proxmox vGPU 구성의 호스트 측을 완료하기까지 몇 단계만 남았습니다! GPU를 가상 머신 간에 분할할 수 있는 장치로 표시하기 전에 Single Root I/O Virtualization(SR-IOV)을 활성화해야 합니다. NVIDIA는 이 기능을 정의합니다 "...물리적 PCIe 장치가 PCIe 버스를 통해 여러 번 자신을 표현할 수 있는 기술입니다. 이 기술은 별도의 리소스로 장치의 여러 가상 인스턴스를 활성화합니다." SR-IOV는 최신 GPU에서 기본 vGPU 기능에 필요한 중요한 기술이므로 다음 명령을 사용하여 부팅 시 켜지도록 설정합니다.

systemctl enable --now pve-nvidia-sriov@ALL.service

마지막으로 GPU 리소스를 매핑하여 VM 간에 깔끔하게 분할할 수 있습니다. Proxmox VE 서버의 웹 인터페이스에서 왼쪽 상단 모서리에 있는 "데이터 센터"를 클릭하고 아래로 스크롤하여 "리소스 매핑" 탭을 선택합니다.

페이지의 "PCI 장치" 섹션 아래에 있는 "추가" 버튼을 클릭하고 다음 창의 "이름:" 필드에 매핑하려는 GPU를 설명하는 이름을 입력합니다.

다음으로, "매개된 장치와 함께 사용"이라는 라벨이 붙은 상자를 체크하고 "노드에서 매핑" 드롭다운 메뉴에 GPU가 매핑되는 서버가 포함되어 있는지 확인합니다. 장치 목록을 아래로 스크롤하여 모든 장치 ID의 "공급업체" 열에 "NVIDIA Corporation"이 있는지 확인합니다. 이것이 사실이라면, 표의 왼쪽 상단에 있는 확인란을 클릭하여 모든 장치를 선택합니다. 그렇지 않으면 공급업체로 "NVIDIA Corporation"이 있는 장치만 선택합니다.

참고: 시스템에 여러 개의 GPU가 설치된 경우, 원하는 서버의 "셸" 탭에서 "lspci" 명령을 사용하여 각 카드의 ID를 확인할 수 있습니다.

장치 선택을 마치면 팝업 창의 오른쪽 하단에 있는 "생성" 버튼을 클릭하여 선택 사항을 확인합니다. 이제 NVIDIA GPU를 Proxmox VE 서버 게스트를 위한 vGPU로 슬라이스할 준비가 되었습니다!

게스트 서비스(가상 머신에 vGPU 할당)

모든 조각이 가상 머신에서 vGPU를 할당하고 사용하기 시작할 준비가 되었습니다. 평소처럼 새 가상 머신을 만들거나 기존 VM을 사용하여 시작합니다. 데모에서는 Windows Server 2025 가상 머신을 사용합니다.

Proxmox VE 서버의 웹 인터페이스에서 적합하다고 생각되는 방법(noVNC 콘솔, 게스트 전원 메뉴 등)을 사용하여 가상 머신을 종료하고 게스트의 "하드웨어" 탭을 클릭합니다.

"추가" 버튼을 클릭하면 나타나는 드롭다운 메뉴에서 "PCI 장치"를 선택하세요.

팝업 "추가: PCI 장치" 창에서 "장치:" 필드에서 리소스 매핑 GPU에 지정한 이름을 선택합니다.

다음으로, “MDev Type:” 필드를 클릭하고 제시된 매개 장치 유형 옵션 목록을 관찰합니다. 각 선택 사항에는 숫자와 문자 지정이 있습니다. 숫자는 게스트에 할당된 VRAM의 양(기가바이트)을 나타내는 반면, “A”, “B” 및 “Q”는 vGPU의 사용 사례를 나타냅니다.

  • Q – RTX Enterprise Drivers가 포함된 가상 워크스테이션(RTX vWS 라이선스 필요)
  • B – 가상 데스크톱(NVIDIA Virtual PC 라이선스 또는 RTX vWS 라이선스 필요)
  • A – 애플리케이션 솔루션(NVIDIA Virtual Applications 라이선스 필요)

참고: 다양한 vGPU 프로필 및 필요한 라이선스에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

이 데모에서는 "NVIDIA L40S-12Q" 프로필을 사용했습니다. 원하는 매개 장치 유형을 선택한 후 "PCI-Express" 확인란을 체크하고 파란색 "추가" 버튼을 클릭하여 마무리합니다.

이제 VM에 ​​vGPU가 할당되었지만, 여전히 게스트 드라이버와 라이선싱 토큰을 설치해야 작업을 시작할 수 있습니다. 이제 가상 머신의 전원을 켜고 로그인할 수 있습니다.

로그인 후 이전에 취득한 NVIDIA vGPU 게스트 드라이버를 전송합니다. 라이센싱 포털 원하는 방식(SMB, SCP, 직접 다운로드 등)으로 VM에 업로드할 수 있습니다. 또는 다음과 같은 소프트웨어를 사용하여 드라이버가 포함된 가상 CD-ROM 파일(.iso)을 만들어 PVE 서버의 저장소에 업로드할 수 있습니다. ImgBurn 동시에 여러 개의 vGPU 지원 게스트를 배포합니다.

실행 파일을 두 번 클릭하여 드라이버 설치 프로그램 파일을 실행하고, 나타나는 설치 메뉴의 지시를 따릅니다.

"추출 경로:" 필드에서 기본 위치에 드라이버를 추출하고 메시지가 표시되면 "빠른" 설치 옵션을 선택합니다.

드라이버 설치가 완료되면 "닫기" 버튼을 클릭하여 메뉴를 종료합니다.

다음으로, 게스트에서 vGPU 라이선스를 활성화해야 합니다. 활성화 방법은 전용 라이선스 서버(DLS) 또는 클라우드 라이선스 서버(CLS)를 선택하는지 여부와 운영 체제에 따라 상당히 다를 수 있습니다. NVIDIA의 라이센스 시스템 빠른 시작 가이드 클라이언트 라이센싱 사용자 가이드 특정 설정에 맞춰 클라이언트를 활성화하는 방법에 대한 자세한 단계는 다음과 같습니다.

클라우드 라이선스 서버를 사용하여 게스트에 활성화를 위한 토큰 파일을 받았습니다. 이 파일을 게스트로 옮겨 "C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken" 폴더에 복사합니다.

다음으로, 활성화 과정을 완료하려면 게스트를 재부팅해야 합니다.

여기에 자세히 설명된 모든 호스트 및 게스트 구성 단계를 따르면 GPU가 필요한 프로그램과 애플리케이션을 실행할 준비가 됩니다. 재부팅 후 게스트에 원격 데스크톱 프로토콜(RDP)을 활성화하거나 좋아하는 원격 데스크톱 소프트웨어를 설치하여 GPU 가속 원격 보기의 장점을 즐기는 것을 잊지 마세요!

엔진을 가동하다(Proxmox vGPU 시도)

이제 가상 GPU가 있는 가상 서버가 있으니, 한 번 돌려보죠! 각 VM은 8개의 핀이 달린 Intel Xeon Platinum 8580 vCPU(4개의 하이퍼스레드 코어), 32기가바이트 DDR5 4800MT/s 등록된 ECC RAM, 40기가바이트 VRAM이 있는 NVIDIA L12S-12Q(가상 워크스테이션) vGPU 프로필로 구성되었습니다. 아래에서 가상 머신의 전체 하드웨어 구성을 확인할 수 있습니다.

Cinebench 2024

Maxon의 Cinema 4D 모델링 및 애니메이션 소프트웨어를 기반으로 하는 Cinebench 2024는 vGPU의 렌더링 성능에 대한 흥미롭고 객관적인 모습을 제공합니다. "40Q"(전체 48기가바이트 VRAM) 프로필의 L48S의 전체 성능을 하나의 가상 머신과 "12Q" 프로필을 실행하는 XNUMX개의 VM과 비교해 보겠습니다.

가상 머신 하나가 L40S 전체를 차지하는 것은 별로 의미가 없지만, 싱글 패스 GPU 벤치마크에서 21,147점으로 성능이 인상적임을 알 수 있습니다. 그러나 GPU를 네 가지 방식으로 분할하면 GPU의 CUDA 코어를 공유하기 위한 NVIDIA의 타임 슬라이싱 접근 방식의 영향을 알 수 있으며, 벤치마크를 모든 VM에서 동시에 실행했을 때 개별 점수는 2,514에서 2,567까지 다양합니다.

"12Q" 프로필과 다른 세 개의 VM이 유휴 상태인 단일 가상 머신에서 테스트를 다시 실행하면 점수가 다시 15,133으로 올라갑니다. 이는 전체 GPU 점수로의 복귀는 아니지만 분할된 vGPU에 대해서는 여전히 존경할 만한 수준입니다.

블렌더 벤치마크

Blender로 몇 가지 렌더링 벤치마크를 더 진행해 보겠습니다. Cinebench 2024와 유사한 추세에 따라 GPU를 XNUMX가지 방식으로 분할하면 동일한 프로필에서 동일한 워크로드를 실행하는 단일 가상 머신과 비교했을 때 전체 성능이 극적으로 낮아집니다.

Monster 벤치마크에서 보여준 것처럼, GPU의 컴퓨팅 파워를 공유하는 VM이 ​​8개에 불과하다는 것은 개별 렌더링 성능이 동일한 프로필을 가진 단일 VM의 2.4%에 불과할 수 있다는 것을 의미합니다. 그러나 우리는 한 가상 머신이 다른 가상 머신보다 상당히 앞서 나가는 것을 관찰했습니다. 최악의 성능자 점수의 최대 XNUMX배입니다.

Junkshop과 Classroom 벤치마크에서도 비슷한 결과가 나타났습니다. 4개 VM 중 3개에서 성능이 크게 떨어졌고, 단일 게스트가 다른 VM보다 훨씬 높은 점수를 받았습니다.

 

흥미롭게도, 한 가상 머신의 vGPU가 더 높은 우선순위를 받고 상당한 리드를 차지하는 짧은 순간이 있는 듯합니다. 예를 들어, Classroom 벤치마크에서 두 번째 Windows Server 2025 VM(WIN2025-2)은 동시에 실행되었음에도 불구하고 동급의 VM보다 XNUMX배 이상의 성능을 달성했습니다. 이것이 vGPU 소프트웨어의 스케줄링 때문인지 GPU 자체의 특성 때문인지 정확히 판단할 수는 없지만, 이 카드에서 NVIDIA의 타임 슬라이싱 전용 접근 방식과 동의어인 몇 가지 성능 이상을 강조합니다.

맺음말

NVIDIA의 vGPU 소프트웨어에 대한 설정 및 지원은 다른 경쟁 플랫폼만큼 세련되지 않을 수 있습니다. 그래도 Proxmox Virtual Environment 시스템을 이미 실행 중인 조직과 홈랩에게는 흥미롭고 가치 있는 기능입니다. GPU 리소스를 분할하면 성능이 크게 떨어지지만 많은 조직이 여전히 NVIDIA의 vGPU 기술을 활용하고 있으며 GPU를 공유하는 것이 이러한 단점을 능가한다고 판단했습니다. 이러한 태도는 많은 하이퍼스케일러와 공간이 제한된 데이터 센터에서 채택되었으며, 가능한 한 많은 테넌트(이 경우 vGPU가 있는 가상 머신)를 가능한 가장 작은 공간에 압축하는 것이 가장 효율적이고 수익성 있는 옵션입니다.

Proxmox Server Solutions는 최근 소프트웨어 정의 네트워킹, Linux 6.11 커널 지원, 전용 데이터 센터 관리 시스템 등 다양한 기능을 빠르게 확장해 왔으며 , 이는 하이퍼바이저 분야에서 Proxmox Server Solutions가 경쟁력 있는 선택지로 자리매김하고 있음을 보여줍니다. 앞으로도 지속적인 발전을 기대하며, PVE에서 곧 선보일 더욱 흥미로운 도구와 기술에 대한 소식을 전해드릴 수 있기를 바랍니다!

프록시목스

StorageReview에 참여

뉴스레터 | 유튜브 | 팟캐스트 ( 아이튠즈 / 스포티파이) | 인스타그램 | 트위터 | 틱톡 | RSS 피드

앤드류 와그

앤드류 와그는 Linde plc의 분산 시스템 관리자로, 서버 하드웨어, 엔터프라이즈 스토리지 시스템, 네트워킹 장비에 관심이 있습니다. 그는 항상 홈랩에서 할 수 있는 새로운 일을 찾고 가상화 및 스토리지 기술을 실험합니다.