Прохождение NIC KVM "устройство уже используется"
У меня есть сервер с 2 сетевыми картами
01:00.0 Ethernet-контроллер: Intel Corporation Ethernet-контроллер 10-Gigabit X540-AT2 (версия 01) 01:00.1 Ethernet-контроллер: Intel Corporation Ethernet-контроллер 10-Gigabit X540-AT2 (версия 01)
и я хочу назначить этим устройствам NICs 2 гостю (сервер Ubuntu 14.04), я продолжаю эту тему следующим образом: Как назначать устройства с VT-d в KVM, поэтому я сделал то, что он говорит:
- Изменение конфигурации ядра:
сделать menuconfig установить "Параметры шины (PCI и т. д.)" -> "Поддержка устройств переадресации DMA" на " ", установить "Параметры шины (PCI и т. д.)" -> "Включить устройства перенаправления DMA" на " " установить "Параметры шины (PCI и т. Д.) "->" Драйвер заглушки PCI "для"*"сохранения и перестройки ядра
мой дневник | 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 IAP 0,010 080 080 0 0 0 0 0 0 0 0 0 0 0 0 6 0 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 6 8 6 8 0 8 0 8 0 8 6 8 8 8 8 8 8 0 0 0 0 0 0 6 5 5 5 5 5 6 5 5 6 6 6 6 6 6 6 6 6 6 6 6 0 6 8 0 8 0 8 0 8 наших (020). DRHD base 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: подготовка сопоставления единиц 0-16MB для 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-файл гостя VM, я получаю сообщение об ошибке
устройство 01: 00.0 уже используется
XML добавить
hostdev mode='subsystem' type='pci' managed='yes' домен исходного адреса ='0x0000' bus='0x01' slot='0x00' function='0x0'/ /source /hostdev