Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
virtualisierung:proxmox_kvm_und_lxc:usbdevice_an_eine_vm_durchschleusen [2017/04/12 22:33] adminvirtualisierung:proxmox_kvm_und_lxc:usbdevice_an_eine_vm_durchschleusen [2020/03/04 00:38] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 3: Zeile 3:
 **__Getestet mit Proxmox 4.4__** **__Getestet mit Proxmox 4.4__**
  
-Manchmal ist es Sinnvoll ein USBgerät der Gastmaschine direkt durchzureichen. Z.B. ein Dongle... Die Möglichkeiten die man mit Proxmox hat werden in diesem Howto beschrieben. Es gibt zwei Möglichkeiten USB dem Gast zu übergeben. Zum einen kann man eine bestimmte HardwareID des USBgerätes einer VM zuordnen, somit ist es völlig egal wo man das USB-Gerät am Server anschließt.+Manchmal ist es Sinnvoll ein USBgerät der Gastmaschine direkt durchzureichen. Z.B. ein Dongle... Die Möglichkeiten die man mit Proxmox hat werden in diesem Howto beschrieben. Es gibt Möglichkeiten USB dem Gast zu übergeben. Zum einen kann man eine bestimmte HardwareID des USBgerätes einer VM zuordnen, somit ist es völlig egal wo man das USB-Gerät am Server anschließt.
 Zum Zweiten kann man einen USBanschluss des Servers einer VM zuordnen. In dem Fall ist das angeschlossenen Gerät egal, aber der Anschluss am Server muss immer der gleiche sein. Diese Funktion ist für USB 2.0 und auch 3.0 verfügbar.  Zum Zweiten kann man einen USBanschluss des Servers einer VM zuordnen. In dem Fall ist das angeschlossenen Gerät egal, aber der Anschluss am Server muss immer der gleiche sein. Diese Funktion ist für USB 2.0 und auch 3.0 verfügbar. 
 +v
 ===== Definiertes USB-Gerät der VM durchschleusen ===== ===== Definiertes USB-Gerät der VM durchschleusen =====
  
-Z.B. hier ein Flashstick.+Z.B. hier ein Bluetoothstick.
 <code> <code>
 lsusb | grep Bluetooth lsusb | grep Bluetooth
Zeile 18: Zeile 18:
 Das Gerät fügt man dann mit dem ''qm'' Befehl hinzu: Das Gerät fügt man dann mit dem ''qm'' Befehl hinzu:
 <code> <code>
-qm set <vmid> -usb0 host=0a5c:21e8+qm set 109 -usb0 host=0a5c:21e8
 </code> </code>
-Danach muss man die VM herunterfahren und wieder starten, ein Reboot funktioniert hier nicht, da das Device initalisiert werden muss. Man natürlich auch mehrere USB-Geräte hinzfügen. Einfach die Nummer hinauf zählen: ''-usb1'', ''-usb2'', usw.+Danach muss man die VM herunterfahren und wieder  
 +, ein Reboot funktioniert hier nicht, da das Device initalisiert werden muss. Man natürlich auch mehrere USB-Geräte hinzfügen. Einfach die Nummer hinauf zählen: ''-usb1'', ''-usb2'', usw
 +Man kann das auch noch mit dem Qemu-Monitor darstellen, SSH oder im Webinterface.  
 +<code> 
 +qm monitor 109 
 +Entering Qemu Monitor for VM 109 - type 'help' for help 
 +qm> 
 +</code> 
 +<code> 
 +qm> info usb 
 +  Device 1.1, Port 1, Speed 12 Mb/s, Product BCM20702A0, ID: usb0 
 +</code> 
 +Den Bluetoothstick kann man nun anstecken wo man möchte. Um das Gerät nun auch wieder zu entfernen gibt man folgenden Befehl ein: 
 +<code> 
 +qm set 109 -delete usb0 
 +</code> 
 +Danach die VM wieder herunter fahren, und Starten.
  
 ===== USBport des Host/Servers einer VM übergeben.  ===== ===== USBport des Host/Servers einer VM übergeben.  =====
  
-Versuchen wir nun einen USBport direkt der VM zu übergeben. Hierfür bedienen wir uns dem Qemumonitor. Dieser ist über das Kommando ''qm monitor <vmid>'' oder auch über das PVE Webinterface verfügbar. Das Ergeniss hier sieht so aus:+Versuchen wir nun einen USBport direkt der VM zu übergeben. Hierfür bedienen wir uns wieder dem Qemumonitor. Dieser ist über das Kommando ''qm monitor <vmid>'' oder auch über das PVE Webinterface verfügbar. Das Ergeniss hier sieht so aus:
 <code> <code>
 qm monitor 109 qm monitor 109
Zeile 32: Zeile 48:
 <code> <code>
  qm> info usbhost  qm> info usbhost
-  Bus 3, Addr 3, Port 5, Speed 12 Mb/s+  Bus 3, Addr 4, Port 6, Speed 12 Mb/s 
 +    Class ff: USB device 0a5c:21e8, BCM20702A0 
 +  Bus 3, Addr 2, Port 10, Speed 1.Mb/s 
 +    Class 00: USB device 051d:0002, Back-UPS ES 700G FW:871.O2 .I USB FW:O2  
 +</code> 
 +Wir werden nun den USBport einem Windowsserver 2016 durchreichen wo unser Bluetootstick angeschlossen ist. Beachten müssen hier wir BUS und Port.  
 +<code> 
 +qm set 109 -usb0 host=3-6 
 +</code> 
 +Nun die VM wieder herunter fahren und neu Starten. Nun kann man auf diesem USBport verschieden Geräte im Betrieb an und abstecken so mit man es von einer PHY Maschine gewöhnt ist. Gerät entfernen, gleicher Vorgang wie vorhin.  
 + 
 +===== USB Hotplug im laufenden Betrieb ohne Config ===== 
 + 
 +Man kann auch ohne jeglichen Konfigurationsaufwand ein USBgerät per Hotplug mit dem Qemumonitor an und abschließen. Der Nachteil: Es ist nicht persistent. Und wieder geht's um unseren Bluetoothstick: 
 +<code> 
 +qm> info usbhost 
 +  Bus 3, Addr 6, Port 6, Speed 12 Mb/s
     Class ff: USB device 0a5c:21e8, BCM20702A0     Class ff: USB device 0a5c:21e8, BCM20702A0
   Bus 3, Addr 2, Port 10, Speed 1.5 Mb/s   Bus 3, Addr 2, Port 10, Speed 1.5 Mb/s
     Class 00: USB device 051d:0002, Back-UPS ES 700G FW:871.O2 .I USB FW:O2     Class 00: USB device 051d:0002, Back-UPS ES 700G FW:871.O2 .I USB FW:O2
 </code> </code>
-Wir werden nun den Bluetootstick einem Windowsserver 2016 übergeben:+Wieder geht es hier nur um das USBport des Hosts, also 
 +<code> 
 +qm> device_add usb-host,hostbus=3,hostport=6,id=mein_bt_stick 
 +qm> info usb 
 +  Device 0.1, Port 1, Speed 12 Mb/s, Product BCM20702A0, ID: mein_bt_stick 
 +</code> 
 +Wichtig ist wir hier eine ID vergeben, sonst kann das Gerät bei aufendem Gast nicht entfernt werden Und schon ist das USBgerät am Gast verfügbar. Entfernt wird es wieder mit: 
 +<code> 
 +qm> device_del mein_bt_stick 
 +</code> 
 + 
 +===== USB Hotplug direkt vom Client aus über Spice ===== 
 + 
 +Man kann auch sehr konfortabel direkt vom Spiceclient (virt-viewer) jedes beliebige USB-Gerät per Mausklick einbinden. Hierfür muss die VM aber mit [[https://pve.proxmox.com/wiki/SPICE|Spice]] konfiguriert sein. Weiters muss mindes, ein USB-Spice-Eintrag in der VMconfig erstellt werden. 
 +<code> 
 +nano /etc/pve/qemu-server/109.conf 
 +</code> 
 +<code> 
 +... 
 +usb0: spice 
 +usb1: spice 
 +... 
 +</code> 
 +Die VM muss hierfür natürlich heruntergefahren und neu gestartet werden. Danach kann im [[https://virt-manager.org/download/|Virt-Viewer]] bequem sein USBgerät ein und Aushängen.  
 + 
 +{{:virtualisierung:proxmox_kvm_und_lxc:screenshot_20170412_233807.png?direct&400 |}} 
 +\\ 
 +Virt-Viewer gibt es zwar für alle Betriebssysteme, diese Funktion gibt es aber nur in der Linuxversion.