Настройка PCI Passthrough на виртуальной машине #
При попытке настроить проброс PCI-устройства в виртуальную машину может возникнуть ошибка:
TASK ERROR: cannot prepare PCI pass-through, IOMMU not present
Особенно на некоторых китайских материнских платах функционал VT-d
может быть заявлен, но фактически не работать. В таком случае потребуется изменить параметры ядра. Следуйте приведённым ниже шагам для настройки проброса PCI-устройства.
Шаг 1. Редактирование /etc/kernel/cmdline
#
Откройте файл /etc/kernel/cmdline
и добавьте параметры intel_iommu=on iommu=pt
для включения IOMMU.
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt
После изменения файла примените обновления командой:
pve-efiboot-tool refresh
Шаг 2. Редактирование /etc/modules
#
Теперь необходимо добавить необходимые модули ядра для поддержки PCI passthrough. Откройте файл /etc/modules
и добавьте следующие строки:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
После изменения файла обновите initramfs командой:
update-initramfs -u -k all
Шаг 3. Перезагрузка системы #
После выполнения всех настроек выполните перезагрузку системы командой:
reboot
После перезагрузки проверьте работу проброса PCI-устройства в виртуальную машину.
Да все четко получилось на хуананжи с 2мя процессорами. Все заработало!
Jingsha X99 D8i, то же получилось. Спасибо!