01.-Uso de los puertos USB en KVM
Tutorial: Uso de un puerto USB en una máquina virtual KVM/QEMU¶
Requisitos previos¶
- Tienes instalado y configurado KVM y QEMU en tu máquina host.
- Tienes una máquina virtual (MV) ya creada y en funcionamiento en tu sistema de virtualización KVM/QEMU.
- El puerto USB y los dispositivos que quieres conectar deben estar físicamente accesibles en tu host.
Pasos para usar un puerto USB en una MV KVM/QEMU¶
1. Verificar dispositivos USB en el host¶
Primero, debemos identificar los dispositivos USB conectados en el host que queremos pasar a la máquina virtual.
- Abre una terminal en el host.
- Ejecuta el comando:
bash lsusb
Esto listará todos los dispositivos USB conectados. El formato de salida se verá algo como esto:Bus 001 Device 003: ID 0951:16a4 Kingston Technology Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Toma nota del Bus y Device ID del dispositivo USB que deseas conectar a tu máquina virtual (en este caso, Bus 001 Device 003
).
2. Añadir el dispositivo USB a la MV con virt-manager¶
Si prefieres una interfaz gráfica, puedes usar virt-manager para añadir el dispositivo USB a tu MV.
- Abre virt-manager:
bash virt-manager
- Selecciona la máquina virtual a la que deseas conectar el USB.
- Haz clic en el botón de Detalles de la MV (icono de herramientas).
- Navega a la pestaña Add Hardware (Agregar Hardware).
- Selecciona USB Host Device en la lista y elige el dispositivo USB que aparece en la lista (ej. "Kingston Technology").
- Haz clic en Finish o Apply para añadir el dispositivo USB a la máquina virtual.
3. Añadir el dispositivo USB a la MV desde la línea de comandos (virsh)¶
Si prefieres trabajar con la terminal, puedes añadir el dispositivo USB usando el comando virsh
.
-
Asegúrate de que tu MV esté detenida antes de agregar el dispositivo USB:
bash virsh shutdown <nombreMV>
-
Agrega el dispositivo USB usando el comando
virsh attach-device
:bash virsh attach-device <nombreMV> --file <path_al_xml_del_dispositivo>
El archivo XML debe tener la siguiente estructura:
xml
<hostdev mode='subsystem' type='usb'>
<source>
<vendor id='0x0951'/>
<product id='0x16a4'/>
</source>
</hostdev>
Donde vendor id
y product id
son los valores que obtuviste con lsusb
. En este caso, 0951
es el vendor id de Kingston, y 16a4
es el product id.
- Inicia la máquina virtual de nuevo:
bash virsh start <nombreMV>
4. Verificar el dispositivo USB en la MV¶
Una vez que hayas agregado el dispositivo USB, inicia sesión en tu máquina virtual (por ejemplo, mediante virt-manager
o SSH). Luego:
- Abre una terminal en la MV.
- Ejecuta el comando:
bash lsusb
El dispositivo USB debería aparecer en la lista dentro de la MV.
Notas adicionales:¶
-
Desconectar el dispositivo USB: Para desconectar el dispositivo USB de la MV mientras está en funcionamiento, puedes usar el siguiente comando:
bash virsh detach-device <nombreMV> <path_al_xml_del_dispositivo>
-
Acceso exclusivo: Cuando conectas un dispositivo USB a una MV, este dispositivo ya no estará accesible desde el host hasta que se desasocie de la MV.
-
Compatibilidad: Asegúrate de que los drivers necesarios para el dispositivo USB están instalados tanto en el host como en la máquina virtual para evitar problemas de compatibilidad.