Red Hat Training

A Red Hat training course is available for RHEL 8

10.6. Gestión de dispositivos USB virtuales

Cuando se utiliza una máquina virtual (VM), se puede acceder y controlar un dispositivo USB, como una unidad flash o una cámara web, que está conectado al sistema anfitrión. En este escenario, el sistema anfitrión pasa el control del dispositivo a la VM. Esto también se conoce como USB-passthrough.

Las siguientes secciones proporcionan información sobre el uso de la línea de comandos para:

10.6.1. Adjuntar dispositivos USB a las máquinas virtuales

Para adjuntar un dispositivo USB a una máquina virtual (VM), puede incluir la información del dispositivo USB en el archivo de configuración XML de la VM.

Requisitos previos

  • Asegúrese de que el dispositivo que desea pasar a la VM está conectado al host.

Procedimiento

  1. Localiza los valores del bus y del dispositivo del USB que quieres conectar a la VM.

    Por ejemplo, el siguiente comando muestra una lista de dispositivos USB conectados al host. El dispositivo que utilizaremos en este ejemplo está conectado en el bus 001 como dispositivo 005.

    # lsusb
    [...]
    Bus 001 Device 003: ID 2567:0a2b Intel Corp.
    Bus 001 Device 005: ID 0407:6252 Kingston River 2.0
    [...]
  2. Utilice la utilidad virt-xml junto con el argumento --add-device.

    Por ejemplo, el siguiente comando adjunta una unidad flash USB a la VM Library.

    # virt-xml Library --add-device --hostdev 001.005
    Domain 'Library' defined successfully.
Nota

Para adjuntar un dispositivo USB a una máquina virtual en funcionamiento, añada el argumento --update al comando anterior.

Pasos de verificación

  • Ejecute la VM y compruebe si el dispositivo está presente y funciona como se espera.
  • Utilice el comando virsh dumpxml para ver si la definición XML del dispositivo se ha añadido a la sección <devices> en el archivo de configuración XML de la máquina virtual.

    # virsh dumpxml Library
    [...]
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x0407'/>
        <product id='0x6252'/>
        <address bus='1' device='5'/>
      </source>
      <alias name='hostdev0'/>
      <address type='usb' bus='0' port='3'/>
    </hostdev>
    [...]

Recursos adicionales

  • Para otros argumentos, consulte la página man de virt-xml(1).