GTX 1080(드라이버) 및 PCI 패스스루에 버그가 있을 수 있다고 생각합니다.
내 호스트는 Ubuntu 14.04 시스템입니다. 내 손님은 Ubuntu 14.04/16.04 시스템입니다(둘 다 동일한 작업을 수행함).
게스트 VM 내부에서 장치를 볼 수 있습니다.
$ lspci -vnn | grep VGA
00:05.0 VGA compatible controller: NVIDIA Corporation Device 1b80 (rev a1)
드라이버(370.2, 최신 드라이버)를 성공적으로 설치할 수 있었습니다. 설치되었지만 인식되지 않습니다 nvidia-smi
.
$ nvidia-smi
Unable to determine the device handle for GPU 0000:00:05.0: Unknown Error
볼 때 dmesg
다음 오류 메시지가 표시됩니다.
[29.535583] nvidia 0000:00:05.0: irq 45 for MSI/MSI-X
[29.577727] NVRM: RmInitAdapter failed! (0x23:0x56:458)
[29.577807] NVRM: rm_init_adapter failed for device bearing minor number 0
GTX 1080을 다른 카드(M4000, 패스스루를 수행하고 게스트 컴퓨터에 드라이버 설치)로 교체하면 작동합니다. 내일 다른 Geforce 카드를 사용해 보겠습니다.
NVidia 포럼의 다른 사람저도 같은 질문이 있습니다(대답은 없습니다).
이것을 더 디버깅할 수 있는 방법이 있나요?
답변1
나는 같은 문제가 있었고 대답을 찾았습니다.https://www.evonide.com/non-root-gpu-passthrough-setup/. -cpu host,kvm=off
qemu 명령줄에 추가해야 합니다 . 나는 ganeti를 사용하고 있으므로 다음 문제가 해결되었습니다.
gnt-instance modify -H cpu_type="host\,kvm=off"
제가 올바르게 이해했다면 이 플래그는 게스트의 KVM 가속을 끄지 않지만 -machine pc,accel=kvm
게스트의 중첩 KVM 가속을 끕니다(따라서 게스트에서 KVM 가상 머신을 실행할 수 없습니다).
답변2
제가 많이 기여할 수 있을지 모르겠습니다. nvidia가 pci 패스스루 시도를 적극적으로 약화시키고 있는 것 같습니다(Quadro 카드를 구입하면 됩니다).
x-pci-vendor-id=0x10DE,x-pci-device-id=0x11BA,x-pci-sub-vendor-id=0x10DE,x-pci-sub-device-id=0x0965
매개변수를 추가하여 pci 장치 ID를 위조해 보세요 -device vfio-pci,
. 이렇게 하면 Quadro K5000인 척하게 됩니다.
답변3
나는 한동안 이 문제로 어려움을 겪었습니다. GPU가 시스템에 유일한 GPU인 경우 독립적으로 만들려면 grub과 linux를 설치해야 합니다. 직렬 콘솔로 컴퓨터를 부팅했지만 핵심 부분은 video=efifb:off입니다.
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200" GRUB_TERMINAL="콘솔 직렬" GRUB_SERIAL_COMMAND="직렬 --speed=115200 --unit=0 --word=8 --parity=no --stop=1 "GRUB_CMDLINE_LINUX= "조용한 부팅 비디오=eifb:intel_iommu=on-console=ttyS0,115200 끄기"
https://unix.stackexchange.com/questions/328534/driver-for-gtx-1080-doesnt-work-on-guest-when-using-kvm-pci-passthrough