기술노트

기술노트

게시물 상세
Hyper-v GPU DDA(GPU passthrough) 설정
작성자 : 관리자(jieun@ehostidc.co.kr)  작성일 : 2021-11-25   조회수 : 3257

               

0) 설치  버전

호스트 OS : windows 2016 64bit

게스트 VM : ubuntu 18.04 64bit

GPU : K80

 

0-1) 주의사항

* DDA 설정 시 VM에서 아래의 기능을 사용할 수 없습니다.

VM 저장/복원

VM의 실시간 마이그레이션

동적 메모리 사용

HA(고가용성) 클러스터에 VM 추가


* Windows 10 hyper-v에서 설정 시 VM 실행이 되지 않습니다.


1) 확인  사항


VM 이름,  GPU 인스턴스 경로, GPU 위치 경로

VM 이름 : gpu_test

 

제어판 장치관리자 디스플레이 어댑터 – VM에 할당할 GPU 카드 속성 자세히

인스턴스 경로 :  PCI\VEN_10DE&DEV_102D&SUBSYS_106C10DE&REV_A1\6&41A1BBC&0&00400018

위치 경로 : PCIROOT(0)#PCI(0300)#PCI(0000)#PCI(0800)#PCI(0000)

 

* 설정 작업은 PowerShell 에서  진행됩니다.

* VM 종료 후 진행합니다.

* 에러메시지가 나오지 않을 경우 정상적으로 적용된 것 입니다.


2) 이름  변수 선언 및 할당

#vm 이름 변수 선언 및 할당

$vm = "gpu_test"

#GPU 장치 인스턴스 경로 변수 선언 및 할당

$gpudevs =  "PCI\VEN_10DE&DEV_102D&SUBSYS_106C10DE&REV_A1\6&41A1BBC&0&00400018"

#GPU 위치 경로 변수 선언 및 할당

$locationPath =  "PCIROOT(0)#PCI(0300)#PCI(0000)#PCI(0800)#PCI(0000)"


3) VM 설정

#VM 설정

#자동 중지 작업 설정(가상 컴퓨터  끄기 로 설정이 변경됩니다.)

Set-VM -Name $vm -AutomaticStopAction TurnOff

#CPU  Write-Combining 설정

Set-VM -GuestControlledCacheTypes $true -VMName $vm

#32 bit MMIO 공간 구성

Set-VM -LowMemoryMappedIoSpace 3Gb -VMName $vm

#32 bit 이상  MMIO 공간 구성

Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName $vm


* MMIO 공간에 대해서 추가적인 확인은 URL 참조

https://docs.microsoft.com/ko-kr/windows-server/virtualization/hyper-v/plan/plan-for-deploying-devices-using-discrete-device-assignment


4) 호스트  서버 설정


#호스트 서버에서 GPU 장치 사용  안 함 설정 (사용 안 함 설정이 되어있다면 무시 가능)

Disable-PnpDevice   -InstanceId $gpudevs

 

#호스트 서버에서 GPU 장치 분리

Dismount-VMHostAssignableDevice -force -LocationPath  $locationPath


5) VM에 GPU 장치 할당


#VM  GPU 장치 할당

Add-VMAssignableDevice -LocationPath $locationPath  -VMName $vm


6) VM 확인



7) VM에서  GPU 장치 회수


* VM 종료 후 진행합니다.

 

#vm 이름 변수 선언 및 할당

$vm = "gpu_test"

#GPU 위치 경로 변수 선언 및 할당

$locationPath =  "PCIROOT(0)#PCI(0300)#PCI(0000)#PCI(0800)#PCI(0000)"


#VM에 연결된 PCI 장치 삭제

Remove-VMAssignableDevice -LocationPath $locationPath  -VMName $vm


#PCI 장치를 호스트서버에 연결

Mount-VMHostAssignableDevice -LocationPath $locationPath

 

이전글 Ubuntu 18.04 s-tui 및 stress 툴 설치
다음글 Windows 2008 R2 64bit 자동 업데이트 활성화(에러코드 80072EFE)