IOMMU Group 할당하기
안녕하세요
우선 게시글을 확인해 주셔서 감사합니다.
제 질문을 먼저 말씀 드리자면, "IOMMU Group을 제가 원하는 대로 할당 하는 방법이 있나요?"입니다.
저는 리눅스를 활용한 경험이 많지 않은 초보자입니다만, 몇주간의 구글 검색과 유튜브 시청, 업체와의 토론, OS 재설치 등을 진행하여도, 추천해주는 솔루션(커맨드)들을 적용해봐도 답이 나오지 않아서 질문 드립니다.
OS는 CENTOS7.0이고 커널은 4.5.5입니다.
회사에서 CENT OS 기반으로 KVM을 이용하여 외국의 솔루션업체에서 제공하는 OS를 DELL 서버에 설치하여 판매하기 위해 준비중인데요,PCI Passthrough를 지원하는 네크워크 카드 두개를 포함한 가상 OS를 구축하고자 합니다.
문제는 이중 하나의 네크워크카드를 게스트에 추가하였을 때 정상 작동하는데, 두개를 모두 게스트에 올릴 경우 에러가 발생하며 정상작동하지 않습니다. 에러의 내용은 대략적으로 IOMMU 그룹 1에 포함된 네트워크 카드를 사용할 수 없다는 내용인데요, 제일 아래에 추가하겠습니다.
정상 작동되는 네트워크카드는 그룹3에 포함되어있고 해당카드만 추가하고 게스트를 실행시키면 이상없지 작동합니다.
그리고 정말 이상한것이, 그룹1에 포함되어 있는 네트워크카드를 물리적으로 분리해주고 장비를 실행시키면 그룹3에 있던 네트워크카드가 그룹1로 변경되어서 이 카드도 사용할 수 없게 되어버립니다.
마더보드가 알아서 나눈다고도 하는데 이것을 수동으로 변경 하는 방법을 알고 싶습니다.
감사합니다.
에러 메세지:
Error starting domain: internal error: qemu unexpectedly closed the monitor: 2020-10-29T07:15:11.972901Z qemu-kvm: -device vfio-pci,host=01:00.0,id=hostdev4,bus=pci.0,addr=0xb: vfio: error, group 1 is not viable, please ensure all devices within the iommu_group are bound to their vfio bus driver.
2020-10-29T07:15:11.972962Z qemu-kvm: -device vfio-pci,host=01:00.0,id=hostdev4,bus=pci.0,addr=0xb: vfio: failed to get group 1
2020-10-29T07:15:11.972980Z qemu-kvm: -device vfio-pci,host=01:00.0,id=hostdev4,bus=pci.0,addr=0xb: Device initialization failed.
2020-10-29T07:15:11.973001Z qemu-kvm: -device vfio-pci,host=01:00.0,id=hostdev4,bus=pci.0,addr=0xb: Device 'vfio-pci' could not be initialized
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 89, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 125, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 82, in newfn
ret = fn(self, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/domain.py", line 1506, in startup
self._backend.create()
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1080, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error: qemu unexpectedly closed the monitor: 2020-10-29T07:15:11.972901Z qemu-kvm: -device vfio-pci,host=01:00.0,id=hostdev4,bus=pci.0,addr=0xb: vfio: error, group 1 is not viable, please ensure all devices within the iommu_group are bound to their vfio bus driver.
2020-10-29T07:15:11.972962Z qemu-kvm: -device vfio-pci,host=01:00.0,id=hostdev4,bus=pci.0,addr=0xb: vfio: failed to get group 1
2020-10-29T07:15:11.972980Z qemu-kvm: -device vfio-pci,host=01:00.0,id=hostdev4,bus=pci.0,addr=0xb: Device initialization failed.
2020-10-29T07:15:11.973001Z qemu-kvm: -device vfio-pci,host=01:00.0,id=hostdev4,bus=pci.0,addr=0xb: Device 'vfio-pci' could not be initialized
IOMMU 그룹 내에 묶여 있는 장치는 확인해
IOMMU 그룹 내에 묶여 있는 장치는 확인해 보셨나요? 그리고 네트워크 카드 종류는 무엇이고(중요: 듀얼포트 이상인가요?) 시스템은 어떤 CPU 기반인가요? 혹시 듀얼 CPU 이상을 사용하고 있나요?
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Enabling_IOMMU
댓글 달기