Paso de NIC KVM "dispositivo ya en uso"

Paso de NIC KVM "dispositivo ya en uso"

Tengo un servidor con 2 NIC

01:00.0 Controlador Ethernet: Controlador Ethernet Intel Corporation 10 Gigabit X540-AT2 (rev 01) 01:00.1 Controlador Ethernet: Controlador Ethernet Intel Corporation 10 Gigabit X540-AT2 (rev 01)

y quiero asignar estos 2 dispositivos NIC a un invitado (servidor ubuntu 14.04), estoy siguiendo este temaeste tema:Cómo asignar dispositivos con VT-d en KVM así que hice lo que dice:

  • Modificando la configuración del kernel:

    haga que menuconfig establezca "Opciones de bus (PCI, etc.)" -> "Soporte para dispositivos de reasignación DMA" en "" configure "Opciones de bus (PCI, etc.)" -> "Habilitar dispositivos de reasignación DMA" en "" establezca "Opciones de bus (PCI, etc.)" -> "Controlador PCI Stub" en "*" para guardar y reconstruir el kernel

  • midmesg | grep -e DMAR -e IOMMUmuestra:

    [ 0.000000] ACPI: DMAR 00000000ddfaabc8 000078 (v01 INTEL SNB 00000001 INTL 00000001) [ 0.000000] Intel-IOMMU: habilitado [ 0.018789] dmar: IOMMU 0: reg_base_addr feed90000 ver 1:0 cap >c9008020660262 ecap f010da [0.018860] IOAPIC id 2 bajo DRHD Base 0xfed90000 Iommu 0 [1.610427] DMAR: No se encontró ATSR [1.610449] Iommu 0 0xfed90000: Uso de invalidación en cola [1.610451] iommu: configuración de RMRR: [1.610460] Iommu: Mapa de identidad de configuración para el dispositivo 0000: 00: 1D.0> [[ 0xdde16000 - 0xdde32fff] [ 1.610478] IOMMU: Configuración del mapa de identidad para el dispositivo 0000:00:1a.0 >[0xdde16000 - 0xdde32fff] [ 1.610487] IOMMU: Preparación del mapeo de unidad de 0-16 MiB para LPC [ 1.610494] IOMMU: Configuración del mapa de identidad para dispositivo 0000:00:1f.0 [0x0 - 0xffffff]

    • También activo Intel VT-d en el kernel agregando el parámetro intel_iommu=on a la línea del kernel en el archivo /boot/grub/grub.conf
    • configurar VT-d en BIOS como habilitado
    • desvincular nic del controlador del kernel del host:

      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

    • Verifiqué la desvinculación con lspci -k: el controlador era pci_stub

Y cuando agrego las siguientes líneas en el archivo XML de la máquina virtual invitada, aparece un error

dispositivo 01:00.0 ya en uso

El complemento XML

modo hostdev='subsistema' tipo='pci' administrado='yes' dirección de origen dominio='0x0000' bus='0x01' ranura='0x00' función='0x0'/ /fuente /hostdev

información relacionada