Chatear en RedIrc

sábado, 7 de mayo de 2016

Añadir dispositivos PCIs a VirtualBox

Virtualbox, device passthrough

Ya vimos en el articulo sobre virtualización kvm el acceso directo a dispositivos físicos desde las máquinas virtuales, lo que se llama "device passthrough", gracias a la gestión de memoria IOMMU (input–output memory management unit), VirtualBox no es menos ya que también lo permite, lo que no he logrado que funcione es mapear la GPUs a la maquina virtual.


Requisitos para usar Device passthrough


  • El procesador debe soportar la virtualización VT-x o AMD-v.
  • La bios debe soportar IOMMU.
  • El kernel debe de disponer del soporte para IOMMU y el mapeo DMA.
  • Se debe activar IOMMU como parámetro en el arranque.


Puesta a punto


Para comprobar si nuestro CPU soporta la virtualización ejecutar lo siguiente:
egrep -c '(vmx|svm)' /proc/cpuinfo
Si se muestra algo es que si lo soporta, de lo contrario deberemos comprobar en la BIOS si está deshabilitado. Para usar PCI Passthrough añadimos el parámetro intel_iommu=on en /etc/default/grub:


GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on"




Uso de VBoxManage para mapear dispositivos


Para añadir una PCI a VirtualBox usaremos el siguiente comando generico:
VBoxManage modifyvm "VM_NAME" --pciattach bus:device.function
Donde:
  • VM NAME es el nombre que dimos a nuestra maquina virtual que podemos ver con el comando:
    VBoxManage list vms
  • bus:device.function son unos números que identifica a cada tarjeta en el sistema, estos los podemos ver con el comando:
    lspci -nn

Por ejemplo, para añadir una una tarjeta de red PCI:
lspci -nn | grep Ethernet
03:00.0 Ethernet controller [0200]: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller [1969:e091] (rev 10)


El bus sería 03, device: 00 y function sería 0, por lo que el comando resultaría para una maquina llamada Windows 7:
VBoxManage modifyvm "Windows 7" --pciattach 03:00.0
[update headline="Nota"]La maquina virtual debe estar apagada, de lo contrario no nos dejará modificar nada.[/update]
Para liberar la PCI:
VBoxManage modifyvm "Windows 7" --pcidetach 03:00.0

Lo siguiente será iniciar la maquina virtual "Windows 7", comprobar en el Administrador de discos si esta disponible y si necesitamos meter el driver:

Administrador de dispositivos

[warning headline="Cuidado"]Al añadir dispositivos desde nuestra PC a la maquina virtual estos cambian el espacio de trabajo por lo que son reservados y no se pueden usar en el PC, por lo que tenemos que tener precaución de no añadir algo necesario.[/warning]

No hay comentarios:

Publicar un comentario