Habilitar PCI Passthrough en Proxmox VE
1 comentarioPCI passthrough permite a las máquinas virtuales tener acceso exclusivo a dispositivos PCI, de manera que se comporten como si estuvieran conectados físicamente a la máquina virtual.
Esto pudiera ser provechoso por ejemplo en hardware que tenga varias interfaces de red y se quiera utilizar una o varias sin usar bridges u otro tipo de virtualización de red.
Configuración de GRUB
Editar el archivo /etc/default/grub y cambiar:
Para procesadores INTEL
GRUB_CMDLINE_LINUX_DEFAULT="quiet" por: GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
Actualizar GRUB y reiniciar
update-grub
reboot
Para procesadores AMD
GRUB_CMDLINE_LINUX_DEFAULT="quiet" por: GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
Actualizar GRUB y reiniciar
update-grub
echo "options kvm allow_unsafe_assigned_interrupts=1" > /etc/modprobe.d/kvm_iommu_map_guest.conf
reboot
Para comprobar que funciona correctamente el siguiente comando debe devolver alguna salida:
dmesg | grep -e DMAR -e IOMMU
Determinar la dirección del dispositivo PCI
Localizar el dispositivo PCI utilizando lspci.
Por ejemplo:
lspci
...
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
...
Configuración de la máquina virtual
Agregar hostpci0:DIRECCIÓN al final del archivo /etc/pve/nodes/proxmox3/qemu-server/vmNÚMERO.conf donde NÚMERO es el ID de la máquina virtual.
Donde DIRECCIÓN es la dirección física del dispositivo, en este caso puede ser 03:00.0 o 04:00.0 en dependencia del dispositivo que se quiera utilizar.
Verificaciones
Iniciar la máquina virtual, entrar del monitor qm qm monitor vmNÚMERO, ejecutar el comando info pci y verificar que el dispositivo se muestre.
Notas
Esto solo funciona en hardware que soporte iommu que a su vez está dado por el soporte de VT del procesador.
Referencias
https://pve.proxmox.com/wiki/Pci_passthrough
http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM
todo muy bien, pero ahora cuando quiero iniciar las maquinas virtuales me sale:
Could not access KVM kernel module: No such file or directory
failed to initialize KVM: No such file or directory
eso lo debe de haber provocado el comando:
echo “options kvm allow_unsafe_assigned_interrupts=1” > /etc/modprobe.d/kvm_iommu_map_guest.conf
Como resuelvo eso? gracias