Echa un vistazo a la 'transferencia USB' | Usando la sección Libvirt 'de esta página del wiki de Edubuntu. Más información aquí y aquí .
Si nunca planea conectar / desconectar en caliente la unidad usb mientras el invitado se está ejecutando, también puede intentar agregar una sección como
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/sdb'/>
<target dev='sdb' bus='scsi'/>
</disk>
al archivo de definición xml de su VM. Simplemente cambie el desarrollador de origen para que coincida con lo que se asignó a su usb cuando se conectó. Sin embargo, no puede garantizar que la asignación de desarrollo del usb sobrevivirá al reinicio si se agregan o eliminan otros dispositivos, por lo que recomiendo el enfoque en el primer enlace de arriba en su lugar.
En caso de que el enlace desaparezca, aquí está la sección relevante de transferencia de USB de los documentos vinculados:
Usando Libvirt
disparó un vm preexistente
virsh start maverick2
enchufado a una unidad usb
encontró la dirección usb usando lsusb
, lo que me dio
{{ Bus 002 Device 006: ID 1058:1023 Western Digital Technologies, Inc. }}}
definió un archivo xml con la información del dispositivo:
<hostdev mode='subsystem' type='usb'>
<source>
<vendor id='0x1058'/>
<product id='0x1023'/>
</source>
</hostdev>
pasó la unidad usb a la vm
sudo virsh attach-device maverick2 /tmp/a.xml
SIN EMBARGO, esto no funciona con apparmor habilitado. Debe deshabilitar apparmor o agregar
/dev/bus/usb/*/[0-9]* rw,
a cualquiera de los dos /etc/apparmor.d/libvirt-qemu
(que le da a todos los invitados acceso completo a los dispositivos físicos del host) o
/etc/apparmor.d/libvirt/libvirt-<uuid>
que le dará acceso al único invitado. (Gracias a jdstrand por su ayuda para aclarar eso).
address
elemento. Al usar el proveedor y el producto, no pude montar 2 unidades USB que fueran iguales. Solo pasaría por el primero.