KVM: muss USB-Gerät beim Start eingesteckt sein?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
egerlach
Beiträge: 206
Registriert: 13.06.2009 17:21:50

KVM: muss USB-Gerät beim Start eingesteckt sein?

Beitrag von egerlach » 02.05.2012 10:47:30

Hallo,

muss ein USB-Gerät auch in der neusten KVM-Version (virt-manager 0.9.1-1), die USB 2.x unterstützt, eingesteckt sein, damit diese KVM überhaupt bootet?
Wenn ich mir http://www.linux-kvm.com/content/virt-m ... pport-usb2 durchlese, dann vermute ich, dass es schon längst möglich ist, im laufenden Betrieb z.B. einen USB-Stick einzustecken. Aber ich finde nirgends eine Konfiguration dafür, die flexibel ist. Wer weiss weiter?
Was ich letztlich brauche: es muss ein USB-Gerät automatisch eingebunden werden, wenn es vorhanden ist. Wenn nicht, weil z.B. der Strom noch abgeschaltet ist, dann soll es dieses Gerät eben automatisch durchreichen (passthrough) wenn es Strom bekommt.

Beispiel: mit dieser Konfiguration wird das booten unterbrochen, wenn das Gerät nicht eingeschaltet ist:

Code: Alles auswählen

    <hostdev mode='subsystem' type='usb'>
      <source>
        <vendor id='0x152a'/>
        <product id='0x8180'/>
      </source>
    </hostdev>
Gruss
Eckard

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: KVM: muss USB-Gerät beim Start eingesteckt sein?

Beitrag von rendegast » 03.05.2012 04:04:56

Auf der Kommandozeile halte ich (alle) usb-Ports zur Verwendung offen mit sowas:

Code: Alles auswählen

kvm -usb \
-usbdevice host:0.* -usbdevice host:1.* -usbdevice host:2.* -usbdevice host:3.* \
-usbdevice host:4.* -usbdevice host:5.* -usbdevice host:6.* -usbdevice host:7.* \
... 
Das (beliebige) Gerät taucht dann bei Einstecken in der VM auf.

Wie das über libvirt liefe?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

egerlach
Beiträge: 206
Registriert: 13.06.2009 17:21:50

Re: KVM: muss USB-Gerät beim Start eingesteckt sein?

Beitrag von egerlach » 03.05.2012 10:17:05

erkenne ich richtig, dass Du 8 Stück USB-Ports hast und mit diesen 8 Anweisungen alle USB-Ports an die VM durchreichst?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: KVM: muss USB-Gerät beim Start eingesteckt sein?

Beitrag von rendegast » 03.05.2012 10:32:07

(Es ist ein formales Beispiel für die in meinem Fall 8 usb-Ports)
Damit ist es egal, in welchen Port eingesteckt wird oder sich die Zuordnungen ändern sollten.
ZBsp. zählt (nur bei mir?) bei jedem wiederholten Einstecken eines Sticks der usb-Port hoch, 1.1, 1.2, 1.3 ...

Falls die Zuordnungen Steckplatz<->usb-Port stabil sein sollten (reboot),
und sich auf jeweilige Steckplätze beschränkt wird, so braucht es natürlich nicht die komplette Liste.

Ich habe aber auch keine externen Hubs in Verwendung, die darüberhinaus die Zuordnung verkomplizieren könnten.


Die Frage ist aber, wie diese kvm/qemu-Anweisung in libvirt realisiert werden kann?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

egerlach
Beiträge: 206
Registriert: 13.06.2009 17:21:50

Re: KVM: muss USB-Gerät beim Start eingesteckt sein?

Beitrag von egerlach » 03.05.2012 10:40:35

Besten Dank schon mal.

Hast Du den virsh auch installiert, auch wenn Du die VM von der Kommandozeile startest? Wenn ja, dann sei doch so gut und mache:

Code: Alles auswählen

virsh dumpxml suse111
wobei suse111 der Name Deiner VM ist. Darin sollte dann die Übersetzung Deines

Code: Alles auswählen

-usbdevice host:0.* -usbdevice host:1.* ....
nach XML für libvirt enthalten sein. Den bitte mal posten.

Ansonsten werde ich mal eine VM mit Deinen Parametern mit virt-install installieren und dann selbst ein dumpxml machen.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: KVM: muss USB-Gerät beim Start eingesteckt sein?

Beitrag von rendegast » 03.05.2012 11:50:31

Für meine paar VM reicht mir ein einfaches grafisches Frontend resp. die Kommandozeile.
Und in aqemu habe ich unter Advanced/AdditionalParameters obiges genau in der Form eingetragen,
was mir einfacher war als die Klickerei unter Ports/USB.

Mit libvirt / virsh habe ich mich nicht näher beschäftigt,
daher habe ich auch "Die Frage" gestellt. ;)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

egerlach
Beiträge: 206
Registriert: 13.06.2009 17:21:50

Re: KVM: muss USB-Gerät beim Start eingesteckt sein?

Beitrag von egerlach » 03.05.2012 12:05:35

Ich bin eigentlich auch ein Kommandozeilen-Fan. Ich habe noch nicht viel mit qemu/kvm gemacht, bin als erstes auf virsh, libvirt gestoßen und dachte bisher, dass das "Pflicht" wäre. Also alternativ zu virsh, libvirt gibt es aqemu und was was für eine kleines grafisches Tool meinst Du?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: KVM: muss USB-Gerät beim Start eingesteckt sein?

Beitrag von rendegast » 03.05.2012 12:41:31

und was was für eine kleines grafisches Tool meinst Du?
Halt aqemu.

Jedoch ist die Version 0.7.3 in squeeze meiner Meinung nach buggy
(Umbenennen von Maschine -> Maschine weg ???? oder eine andere weg ???????? ).
Die 0.8.2 aus testing läßt sich aber nicht mehr in squeeze verwenden (0.8.1 ging noch),
sodaß ich ein Eigenkompilat unter /opt/aqemu/ betreibe:

Code: Alles auswählen

#build-Abh. von aqemu
# zlib1g-dev
aptitude install libvncserver-dev libqt4-dev cmake

Code: Alles auswählen

#(Erstellung des Makefile)
cmake -DCMAKE_INSTALL_PREFIX=/opt/aqemu     -DMAN_PAGE_COMPRESSOR=gzip      -DWITHOUT_EMBEDDED_DISPLAY=on

make
Die Funktion dieses Produkts ist für mich hinreichend.

Ein equivs-dummy hält die Pakete:

Code: Alles auswählen

$ apt-cache show aqemu-dummy 
Package: aqemu-dummy
Status: install ok installed
Priority: optional
Section: dummy-x11
Installed-Size: 36
Maintainer: root <root@machine.home>
Architecture: all
Version: 0.8.2-dummy
Provides: aqemu
Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libqt4-network (>= 4:4.5.2), libqt4-test (>= 4:4.5.2), libqt4-xml (>= 4:4.5.2), libqtcore4 (>= 4:4.5.2), libqtgui4 (>= 4:4.5.2), libstdc++6 (>= 4.1.1), libvncserver0
Suggests: kvm, qemu-kvm, qemu
Description: dummy-Pakethalter fuer das Eigenkompilat.
 Paket-Depends sind von der squeeze-Version 0.7.3.

Besser ist natürlich der Bau eines debian-Paketes.
Ich konnte mich aber nicht auf die Vorlage für 0.7.3 oder 0.8.2 entscheiden.

Falls vorher aqemu 0.7.3 betreiben wurde und je nach mit kvm oder mit qemu,
sollten die Dateien in ~/.config/ANDronSoft/ verschoben und durch aqemu-Start neu erstellt werden.
Konfigurierte Maschinen (~/.aqemu/*.aqemu) benötigen eventuell Nacharbeit mittels "Durchklicken".



Aber aqemu ist nur ein kleines, nettes Frontend.
libvirt ist das stärkere Modell.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten