Сквозная передача KVM NIC «устройство уже используется»

Сквозная передача KVM NIC «устройство уже используется»

У меня есть сервер с 2 сетевыми картами

01:00.0 Контроллер Ethernet: Контроллер Ethernet корпорации Intel 10-Gigabit X540-AT2 (рев. 01) 01:00.1 Контроллер Ethernet: Контроллер Ethernet корпорации Intel 10-Gigabit X540-AT2 (рев. 01)

и я хочу назначить эти 2 сетевых устройства гостю (Ubuntu Server 14.04), я слежу за этой темойэта тема: Как назначить устройства с VT-d в KVM поэтому я сделал то, что там написано:

  • Изменение конфигурации ядра:

    сделать menuconfig установить "Параметры шины (PCI и т. д.)" -> "Поддержка устройств перераспределения DMA" на ""установить "Параметры шины (PCI и т. д.)" -> "Включить устройства перераспределения DMA" на ""установить "Параметры шины (PCI и т.д.)" -> "Драйвер PCI Stub" на "*" сохранить и пересобрать ядро

  • мойdmesg | grep -e DMAR -e IOMMUпоказывает:

    [ 0,000000] ACPI: DMAR 00000000ddfaabc8 000078 (v01 INTEL SNB 00000001 INTL 00000001) [ 0,000000] Intel-IOMMU: включено [ 0,018789] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap >c9008020660262 ecap f010da [ 0,018860] IOAPIC id 2 в базе DRHD 0xfed90000 IOMMU 0 [ 1,610427] DMAR: ATSR не найден [ 1,610449] IOMMU 0 0xfed90000: используется очередная аннуляция [ 1.610451] IOMMU: Настройка RMRR: [ 1.610460] IOMMU: Настройка карты идентификации для устройства 0000:00:1d.0 >[0xdde16000 - 0xdde32fff] [ 1.610478] IOMMU: Настройка карты идентификации для устройства 0000:00:1a.0 >[0xdde16000 - 0xdde32fff] [ 1.610487] IOMMU: Подготовка сопоставления Unity 0-16 МБ для LPC [ 1.610494] IOMMU: Настройка карты идентификации для устройства 0000:00:1f.0 [0x0 - 0xffffff]

    • Я также активирую Intel VT-d в ядре, добавив параметр intel_iommu=on в строку ядра в файле /boot/grub/grub.conf
    • настройка VT-d в BIOS на включение
    • отвязать сетевой адаптер от драйвера ядра хоста:

      echo "8086 10b9" > /sys/bus/pci/drivers/pci-stub/new_id echo 0000:01:00.0 > /sys/bus/pci/devices/0000:01:00.0/driver/unbind echo 0000:01:00.0 > /sys/bus/pci/drivers/pci-stub/bind

    • Я проверил отвязку с помощью lspci -k: драйвер был pci_stub

И когда я добавляю следующие строки в XML-файл гостевой виртуальной машины, я получаю ошибку

устройство 01:00.0 уже используется

XML-добавление

hostdev mode='subsystem' type='pci' managed='yes' source address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/ /source /hostdev

Связанный контент