Red Hat Training

A Red Hat training course is available for RHEL 8

10.6. Gerenciamento de dispositivos USB virtuais

Ao utilizar uma máquina virtual (VM), você pode acessar e controlar um dispositivo USB, como uma unidade flash ou uma câmera web, que é anexado ao sistema host. Neste cenário, o sistema host passa o controle do dispositivo para a VM. Isto também é conhecido como um USB-passthrough.

As seções seguintes fornecem informações sobre o uso da linha de comando para:

10.6.1. Fixação de dispositivos USB em máquinas virtuais

Para anexar um dispositivo USB a uma máquina virtual (VM), você pode incluir as informações do dispositivo USB no arquivo de configuração XML da VM.

Pré-requisitos

  • Certifique-se de que o dispositivo pelo qual você deseja passar para o VM esteja anexado ao host.

Procedimento

  1. Localize os valores do barramento e do dispositivo USB que você deseja anexar à VM.

    Por exemplo, o seguinte comando exibe uma lista de dispositivos USB anexados ao host. O dispositivo que usaremos neste exemplo é anexado no ônibus 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. Use o utilitário virt-xml junto com o argumento --add-device.

    Por exemplo, o seguinte comando anexa um pen drive USB ao VM Library.

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

Para anexar um dispositivo USB a uma VM em execução, adicione o argumento --update ao comando anterior.

Etapas de verificação

  • Execute o VM e teste se o dispositivo está presente e funciona como esperado.
  • Use o comando virsh dumpxml para ver se a definição XML do dispositivo foi adicionada à seção <devices> no arquivo de configuração XML da VM.

    # 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 adicionais

  • Para outros argumentos, veja a página de manual virt-xml(1).