[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: XEN und PCI passthrough



Am 10.03.2011 13:57, schrieb Harald Weidner:
> Hallo,
Ja lange ist es her,

> Pierre Bernhardt <pierre@starcumulus.owl.de>:
> 
>> auf meinem etch Server hatte ich ein paar Netzwerkkarten zu meiner Router domu durchgereicht,
>> so dass diese domu all den Netzwerkkram für die Internen Netze und die anderen domu
>> erledigt hat. Die dom0 hat kein eigenens Netzwerkinterface bekommen.
>> Ein paar weitere domu's haben noch scsi-Karten und USB-Karten durchgereicht bekommen.
> 
>> Jetzt wollte ich das unter Squeeze wiederholen, aber eine einfache Migration scheitert
>> schon erst mal daran, dass ich die PCI-Devices nicht von der DOMU abgemeldet bekomme.
> 
> Eine Lösung für die genannten Probleme kenne ich auch nicht.
Die Lösung zum einen Teil ist, das die kernel Übergabe nicht mehr ein
einfaches xen-pciback.hide=(01:04.0)(01:05.0) ist sondern man es speziell für
Debian noch mit einem pci=resource_alignment=01:04.0;01:05.0 ergänzen muss.
Dazu kommt, dass bei PCI-Express Systemen wohl auch noch alle "Partner
devices" (also die die mit an dem Bus hängen) ebenfalls nun abgeschaltet
werden müssen. Bei meiner SCSI 2944-Karte für den Bandroboter ist das
noch das IEE 1394 Firewire Anschluss, was nicht so schlimm ist.

Soweit funktioniert also nun das Hiden der Karten und mit xm pci-list-assignable-devices
kann ich Sie sehen. Nun muss ich nur noch den Gast so zum laufen bekommen, dass mir dieser
nicht ständig mit irgendwelchen Kernelfehlermeldungen nervt. Hier habe ich dann aber
erst mal aufgehört weiter zu forschen.

Daher habe ich mich mal auf Deine Vorschläge konzentriert:
> 
> Aber für die genannten Einsatzszenarien kann man generell auch ohne
> durchgereichte PCI Karten auskommen.
> 
> Ethernet: anstatt die NICs als PCI Geräte durchzureichen, kannst du auf
> jedem Interface eine eigene Bridge konfigurieren, in der der Host keine IP
> Adresse erhält. Die VM erhalten virtuelle Interfaces in die jeweiligen
> Bridges.
Ja, das ginge durch aus. Ich habe mir das hier noch nicht genauer angesehen.
Zu mindestens wäre es eine Alternative, obwohl ich lieber das net-Backend in einer
eigenen Domäne gehabt hätte.

> SCSI: anstatt des SCSI Hostadapters können die einzelnen SCSI Block Devices
> den VM zugeteilt werden. Dies geschieht entweder statisch in der
> Konfiguration oder zur Laufzeit mit xm block-attach ...
Das hilft mir nicht weiter, da ich komplette SCSI-Geräte durch reichen muss. So
muss der Bandroboter durchgereicht werden und die S-DLT-Streamer sind auch keine
Blockdevices.
Zwar kann man das scheinbar auch machen, aber irgendwie mag die DOM0 das nicht wirklich.
Sobald ich versuche einer Domäne ein ausgewähltes Device durch zu reichen kommt es
nach vielleicht 2-3 Minuten zurück:

root@newxen:/etc/xen# xm scsi-attach testhost /dev/sg10 6:0:0:0
Error: Device 6 (vscsi) could not be connected. Hotplug scripts not working.
Usage: xm scsi-attach <Domain> <PhysDevice> <VirtDevice> [BackDomain]

Attach a new SCSI device.

Ein zweiter Versuch wird mit einer anderen Meldung quittiert:
root@newxen:/etc/xen# xm scsi-attach testhost /dev/sg10 6:0:0:0
Error: Device 6 (vscsi) is already connected.
Usage: xm scsi-attach <Domain> <PhysDevice> <VirtDevice> [BackDomain]

Attach a new SCSI device.

Vielleicht fehlen irgendwelche Pakete in der DOMU (DOM0 und DOMU jeweils Squeeze
Standard XEN Kernel). Meldungen in der DOMU gibt es nicht. xm log scheint

> USB: Wenn es sich bei den USB Geräten um Speichermedien oder Netzwerkkarten
> handelt, dann siehe oben. Ansonsten können USB Geräte auch einzeln
> durchgereicht werden, z.B. mit dem usb_add Kommando in der HVM Konsole.
Das habe ich auch noch nicht hin bekommen, aber da habe ich auch noch nicht
viel Zeit investiert. So ganz habe ich das auch noch nicht verstanden. Da muss
ich mich noch aufschlauen, wie das genau funktioniert (muss man erst ein usb-attach
und dann ein usb-add machen, oder geht doch getrennt...)

MfG...
Pierre




Reply to: