Hyper-V 호스트의 VM에 물리적 비디오 카드를 연결하는 방법

Hyper V Hoseuteuui Vme Mullijeog Bidio Kadeuleul Yeongyeolhaneun Bangbeob



OpenGL, Direct3D, CUDA와 같은 작업을 위해 가상 머신에 비디오 카드(GPU)가 필요할 수 있습니다. 이 경우 우리는 일반적으로 에뮬레이트된 비디오 카드를 사용하는데, 이는 전용 GP만큼 성능이 좋지 않습니다. 그래서 이번 포스팅에서는 그 방법에 대해 알아보겠습니다.  호스트의 VM에 물리적 비디오 카드를 연결합니다.



Hyper-V를 통해 GPU를 어떻게 전달합니까?

Hyper-V 호스트의 VM에 물리적 비디오 카드를 연결하려면 다음을 사용합니다.  GPU 패스스루.





GPU 패스스루는 물리적 GPU를 가상 머신에 할당할 수 있는 고급 기능입니다. 이 기능은 고성능 그래픽이 필요한 게임이나 3D 렌더링과 같은 애플리케이션에 특히 유용합니다. 이 설정에서 가상 머신은 에뮬레이션 오버헤드 없이 물리적 그래픽 어댑터에 직접 액세스할 수 있으므로 그래픽 성능이 크게 향상될 수 있습니다. 기본적으로 Hyper-V의 가상 컴퓨터는 에뮬레이트된 그래픽 카드를 사용하는데, 이는 까다로운 그래픽 작업에 충분하지 않을 수 있습니다. GPU 패스스루를 통해 가상 머신은 물리적 GPU의 모든 성능을 활용하여 보다 집약적인 그래픽 워크로드를 효율적으로 처리할 수 있습니다.





GPU 패스스루의 시스템 요구 사항은 무엇입니까?

계속해서 GPU 패스스루를 설정하기 전에 다음 전제 조건을 충족하는지 확인하겠습니다.



하드웨어 요구 사항

  • 프로세서가 지원하는지 확인해야 합니다.  인텔-VT  또는  AMD-V 가상화. 
  • PCI 패스스루의 경우 프로세서가 다음을 지원해야 합니다. IOMMU(입출력 메모리 관리 장치).
  • GPU는 다음과 같은 GPU 가상화 기술을 지원해야 합니다. NVIDIA GRID 또는 AMD MxGPU. 이러한 기술은 개별 공급업체에 따라 다릅니다. 서버급 하드웨어를 활용하면 성공률을 높일 수 있습니다. PCI 인터럽트(INTx)를 사용하는 이전 장치는 호환되지 않습니다.
  • 마지막으로 시스템은 다음을 지원해야 합니다. 단일 루트 입출력 가상화.

소프트웨어 요구 사항:

  • 운영 체제:  Windows Server 2016(이상) 또는 Windows 11/10.
  • 특징:  Hyper-V를 활성화해야 합니다.
  • VM 생성:  가상 머신은 2세대여야 합니다.
  • 드라이버:  모든 GPU 드라이버를 최신 버전으로 업데이트해야 합니다.

GPU 패스스루의 제한 사항:

GPU Passthrough를 사용하려면 다음 구성을 피해야 합니다.

  • 가상 머신은 동적 메모리를 사용해서는 안 됩니다.
  • GPU 패스스루는 Windows Server 2019 Datacenter와 같은 최고 Windows 버전에서만 사용할 수 있습니다.
  • Linux용 Windows 하위 시스템이 Hyper-V 호스트에 배포된 경우 코드 43의 VM 오류가 발생할 수 있습니다.
  • 고가용성 및 라이브 VM 마이그레이션과 같은 클러스터링 기능은 지원되지 않습니다.
  • VM 검사점을 사용한 저장 및 복원은 지원되지 않습니다.

앞서 언급한 요구 사항을 충족한 후 GPU 패스스루를 활용할 수 있습니다.

Hyper-V 호스트의 VM에 물리적 비디오 카드 연결

GPU 패스스루를 사용하여 Hyper-V 호스트의 VM에 물리적 비디오 카드를 연결하려면 아래 단계를 따르세요.



  1. Intel-VT 또는 AMD-V 가상화 활성화
  2. GPU 패스스루를 위해 컴퓨터 구성
  3. Windows 11/10용 GPU 패스스루 설정
  4. Windows Server용 GPU 패스스루 설정

그들에 대해 자세히 이야기합시다.

1] Intel-VT 또는 AMD-V 가상화 활성화

  하드웨어 가상화 활성화 또는 비활성화

전제 조건에서 언급했듯이 첫 번째 단계는 다음과 같습니다. 하드웨어 가상화 활성화 . 따라서 Intel CPU를 사용하는 경우 Intel-VT를 활성화해야 하며, AMD 사용자는 AMD-V Virtualization을 활성화해야 합니다.

그렇게 하려면, BIOS로 부팅 ,로 이동 구성 > 가상화 기술,  그런 다음 활성화로 설정합니다. 이 단계는 HP에만 적용되므로 링크된 게시물로 이동하여 컴퓨터에서 해당 기능을 활성화하는 방법을 확인할 수 있습니다.

읽다:  Hyper-V에서 VM에 대한 중첩 가상화를 활성화 또는 비활성화하는 방법 ?

2] GPU 패스스루를 위해 컴퓨터 구성

고화질 애니메이션 스트리밍

다음으로 GPU 패스스루를 위해 호스트 컴퓨터를 구성해야 합니다. 앞서 언급한 대로 하드웨어 가상화를 활성화하는 것부터 시작했습니다. 다음으로 IOMMU가 활성화되어 있고 자동 체크포인트가 비활성화되어 있는지 확인해야 합니다.

따라서 하드웨어 가상화 활성화에 대한 링크된 가이드를 확인할 수 있습니다. IOMMU 활성화 이지만 일반적으로 기본적으로 활성화되어 있습니다. 우리는 열 수 있습니다 파워셸 다음 쿼리를 실행하여 활성화되어 있는지 확인하세요.

(Get-VMHost).IovSupport; (Get-VMHost).IovSupportReasons

True이면 기능이 활성화된 것이므로 다음 구성으로 넘어갈 수 있지만, False이면 이 기능을 활성화해야 합니다.

이제 VM의 모든 검사점을 삭제한 후 다음 명령을 사용하여 비활성화합니다.

Get-VM
Set-VM -Name NameOfVM -AutomaticStopAction TurnOff

참고: NameOfVM 변수를 이전 명령을 실행하여 가져올 수 있는 가상 머신의 실제 이름으로 바꾸세요.

읽다:  Windows 365 Cloud PC에서 Hyper-V를 활성화하는 방법 ?

3] Windows 11/10용 GPU 패스스루 설정

  Hyper-V 호스트의 VM에 물리적 비디오 카드 연결

Windows 10은 항상 하드웨어 아이콘을 안전하게 제거

먼저 Windows 클라이언트 운영 체제에서 GPU Passthrough를 활성화하는 방법을 알아 보겠습니다.

비디오 카드가 GPU 패스스루를 지원하는지 확인하려면 다음 명령을 실행해야 합니다.

윈도우 11

Get-VMHostPartitionableGpu

윈도우 10

Get-VMPartitionableGpu

다음으로 호스트 클라이언트에서 VM으로 그래픽 드라이버를 복사해야 합니다. 프로세스를 단순화하려면 다음에서 ZIP 파일을 다운로드하는 것이 좋습니다. github.com 어딘가에 추출하면 됩니다.

이 스크립트를 실행하려면 먼저 다음 두 명령을 사용하여 스크립트 실행을 허용해야 합니다.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

명령을 실행한 후 다음 명령을 사용하여 스크립트를 실행해야 합니다. VM을 GPU 패스스루에 추가하기 전 및/또는 후에 실행할 수 있습니다.

인쇄 스풀러 서비스가 실행되지 않음
.\Update-VMGpuPartitionDriver.ps1 -VMName <VMNAME> -GPUName "AUTO"

메모 : 스크립트 경로와 을 반드시 추가해주세요. 내 경우 스크립트는 C:\Users\yusuf\Downloads\Easy-GPU-PV-main\Easy-GPU-PV-main\Update-VMGpuPartitionDriver.ps1 -VMName Ubuntu -GPUName “AUTO”입니다.

이제 다음 명령을 실행하여 VM을 GPU 패스스루에 추가합니다.

Set-VM -VMName VMName -GuestControlledCacheTypes $true -LowMemoryMappedIoSpace 1Gb -HighMemoryMappedIoSpace 32Gb
Add-VMGpuPartitionAdapter -VMName <VMNAME>

GPU 파티션을 제거하려면 – Remove-VMGpuPartitionAdapter -VMName <VMNAME>를 실행하십시오. .

4] Windows Server용 GPU 패스스루 설정

Windows Server를 사용하는 경우 PowerShell의 관리자 모드에서 다음 명령을 실행하여 32비트(32비트 운영 체제의 경우 3GB) MIMO 공간에 대한 캐시 및 제한을 설정해야 합니다.

Set-VM -Name VMNAME -GuestControlledCacheTypes $True -LowMemoryMappedIoSpace 3Gb -HighMemoryMappedIoSpace 33280Mb

이러한 제한은 장치에 대한 VM 액세스를 허용하는 메모리를 정의합니다. 다음의 머신 프로필 스크립트를 사용하세요. learn.microsoft.com 정확한 MIMO 제한을 설정합니다. VM에 리소스 부족이 표시되면 값을 조정합니다. 32비트보다 큰 MIMO 공간에는 33280MB가 필요합니다.

다음으로 PCI Express 장치의 위치를 ​​확인해야 합니다. 이렇게 하려면 다음 쿼리를 실행하세요.

Get-PnpDevice | Where-Object {$_.Present -eq $true} | Where-Object {$_.Class -eq "Display"}|select Name,InstanceId

그리고

Get-PnpDevice -Class Display | ForEach-Object { Write-Output "$($_.FriendlyName) has a device id of $($_.DeviceId) and is located at $($_ | Get-PnpDeviceProperty DEVPKEY_Device_LocationPaths | Select-Object -ExpandProperty Data | Where-Object { $_ -like "PCIROOT*" })"; }

GPU가 어디에 있는지 확인해야 합니다. 다음과 같아야 합니다. PCIROOT(0)#PCI(0200) .

마지막으로 아래에 언급된 단계를 따르세요.

  • 장치 관리자를 열고 디스플레이 어댑터를 확장한 후 디스플레이 드라이버를 마우스 오른쪽 버튼으로 클릭하고  장치를 비활성화합니다.
  • PCI 주소를 변경한 후 다음 명령을 실행하여 GPU 드라이버를 분리합니다.
Dismount-VmHostAssignableDevice -LocationPath "PCIROOT(0)#PCI(0200)" -Force
  • PCI 주소와 VM 이름을 변경한 후 다음 명령을 실행하여 VM에 GPU 장치를 할당합니다.
Add-VMAssignableDevice -VMName VMNAME -LocationPath "PCIROOT(0)#PCI(0200)"
  • VM을 켜고 장치 관리자에서 실제 비디오 카드를 확인합니다.
  • NVIDIA 또는 AMD 웹사이트에서 비디오 카드 드라이버를 설치하세요.

호스트 머신으로 다시 전환하려면 VM을 종료하고 호스트 장치에서 다음 쿼리를 실행하세요.

Remove-VMAssignableDevice -VMName VMNAME -LocationPath $locationPath

그런 다음 다음 명령을 실행하여 비디오 카드를 Hyper-V 호스트에 다시 연결합니다.

Mount-VMHostAssignableDevice -LocationPath $locationPath

그게 다야!

또한 읽어보세요: Windows Server용 보안 코어 서버 구성 .

인기 게시물