게시물 235건
   
[Redhat7.6] kvm gpu passthrough nvidia [ iommu /
글쓴이 : theko 날짜 : 2019-11-01 (금) 15:54 조회 : 50
== KVM(rhel7.6) 에  vm2대 설치 하여, nvidia passthrough 설정하기==

##  HOST 서버 설정

- grub 수정
[root@nvidia-host ~]# cat /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet intel_iommu=on "

[root@nvidia-host ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
or 
==>EFI 라면 
[root@nvidia-host ~]# grub2-mkconfig -o /etc/grub2-efi.cfg

- Host에서 nvidia 를 인식 못하게(사용못하게) 블랙리스트 처리
[root@nvidia-host ~]# cd /etc/modprobe.d/
[root@nvidia-host modprobe.d]# cat blacklist.conf
blacklist nouveau
blacklist nvidia
blacklist nvidia_drm


- nvidia 를 vifo-pci 로 사용하게끔 설정
[root@nvidia-host modprobe.d]# cat vfio.conf
options vfio-pci ids=10de:1eb8


==> 위 내용은 아래 작업을 통해 알아냄
=========================================
[root@nvidia-host modprobe.d]# lspci -nn  | grep -i nvidi
06:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1eb8] (rev a1)
2f:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1eb8] (rev a1)
30:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1eb8] (rev a1)
86:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1eb8] (rev a1)
af:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1eb8] (rev a1)

[root@nvidia-host modprobe.d]# lspci -s 06:00.0 -k
06:00.0 3D controller: NVIDIA Corporation Device 1eb8 (rev a1)
        Subsystem: NVIDIA Corporation Device 12a2
        Kernel modules: nouveau, nvidia_drm, nvidia

=> 여기서 Audio 도 나오면 그것도 같이 넣어줘야함
===========================================

[root@nvidia-host modprobe.d]# dracut -f
[root@nvidia-host modprobe.d]# reboot

## 확인방법
# dmesg  | grep vfio
# dmesg  | grep -i iommu


# virsh nodedev-list | grep 06_00_


확인한 노드 이름으로 host에서 device 탈착
(Host에 부착되어 있는 nodedev는 가상머신에 장착이 불가능하여 탈착필요)
# virsh nodedev-detach <DeviceName>

# virsh nodedev-detach pci_0000_30_00_0
# virsh nodedev-detach pci_0000_06_00_0


이 작업이 모두 마무리되면, virt-manager 를 열어서 VM에 HW추가를 통해 PCI를 할당해주면된다.


참고로 나는 애먹은 이유가 시스템이 efi 인데, 습관적으로 grub 를 그냥해줘서..안됐었음...ㅜ,ㅜ

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

miwit.com sir.co.kr DNS Powered by DNSEver.com DNS Powered by DNSEver.com