PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Xen: Hardware von Dom0 nach DomU durchreichen - ein Trauerspiel?



mmtools
23.03.08, 14:14
Hallo liebe Virtualisierungsfreunde!

Ich war Xen bisher immer sehr aufgeschlossen, alles lief fantastisch und zu meiner Zufriedenheit.

Nun folgendes Szenario: Ich habe 1x PCI-Karte im PC, die an eine DomU weitergereicht wird und eine Serielle Schnittstelle muss in eine andere DomU weitergegeben werden, da hierin extra angepasste Kernel und Distris laufen, die die PCI-Karte bzw. den Seriellen Port betuddeln sollen (1x ISDN-Karte für speziellen Dialin-Server, 1x Maschinenansteuerung über RS232).

Ich nutze Fedora 8 (32 Bit), alle Updates sind eingespielt. Nur das Weiterleiten der Hardware scheitert entweder an meinem Ungeschick oder meinem Brett vor dem Kopf.

Ich habe die virtuellen Maschinen bereits erstellt, das OS darin läuft. Nur, wenn ich jetzt in /var/lib/xend/domains/DOMAINIDblabla/config.sxp gucke, sehe ich hier ein Config-File-Format, was nicht dem Gängigen entspricht, wie man es in den "Hardware-Durchreich"-Howtos findet.

Im Anhang meine Config:

(domain
(domid 2)
(vcpus_params ())
(PV_args )
(PV_bootloader /usr/bin/pygrub)
(VCPUs_live 1)
(actions_after_crash restart)
(uuid 808eed11-8387-7a55-a0ea-b4eeb5280ac0)
(PV_ramdisk )
(name_label server1)
(VCPUs_at_startup 1)
(HVM_boot_params ())
(platform ())
(PV_kernel )
(memory_static_min 0)
(HVM_boot_policy )
(VCPUs_max 1)
(memory_static_max 536870912)
(actions_after_shutdown destroy)
(memory_dynamic_max 536870912)
(is_a_template False)
(memory_dynamic_min 536870912)
(PV_bootloader_args )
(other_config ())
(actions_after_reboot restart)
(on_crash restart)
(uuid 808eed11-8387-7a55-a0ea-b4eeb5280ac0)
(bootloader_args )
(vcpus 1)
(name server1)
(on_poweroff destroy)
(on_reboot restart)
(bootloader /usr/bin/pygrub)
(maxmem 512)
(memory 512)
(shadow_memory 0)
(vcpu_avail '1')
(cpu_weight 256)
(cpu_cap 0)
(features )
(on_xend_start ignore)
(on_xend_stop ignore)
(start_time 1206238255.64)
(cpu_time 33.85943947)
(online_vcpus 1)
(image
(linux
(kernel )
(notes
(HV_START_LOW 4118806528)
(FEATURES
'writable_page_tables|writable_descriptor_tables|a uto_translated_physmap|pae_pgdir_above_4gb|supervi sor_mode_kernel'
)
(VIRT_BASE 3221225472)
(GUEST_VERSION 2.6)
(PADDR_OFFSET 3221225472)
(GUEST_OS linux)
(HYPERCALL_PAGE 3238006784)
(LOADER generic)
(SUSPEND_CANCEL 1)
(PAE_MODE yes)
(ENTRY 3238002688)
(XEN_VERSION xen-3.0)
)
)
)
(status 1)
(state ------)
(store_mfn 151177)
(console_mfn 151176)
(device
(vif
(bridge virbr0)
(mac 00:16:3e:61:fe:c6)
(script vif-bridge)
(uuid 6d364d94-6594-dc0e-2f2c-7262c9acd285)
(backend 0)
)
)
(device
(vbd
(uname file:/var/xenimages/server1)
(uuid c4b1df6b-85b3-800d-fbb3-9bea6e99ec21)
(mode w)
(dev xvda:disk)
(backend 0)
(bootable 1)
)
)
(device
(console
(protocol vt100)
(location 2)
(uuid 33c31561-70ee-0912-1278-0aee754a268e)
)
)
)


Wenn ich in dieser Config, etwa zum Durchreichen von /dev/ttyS0 an die DomU nun sowas wie

(irq 4)
(ioports 3f8-3ff)

hinzufüge (Kernel-Module wurden zuvor geblacklistet um von der Dom0 nicht geladen zu werden) und die DomU mit "xm start server1" anwerfe, passiert in der DomU nichts (auch ein manuelles Laden der Serial-Treiber bringt nix, kein Gerät gefunden). Öffne ich danach die Config der DomU wieder, hat XEN meine Eintragungen (ioports,irq) wieder rausgelöscht.

Wie komme ich nun zum Ziel? Muss ich die DomU etwa neu erstellen?

Vielen Dank für Eure Hilfe!!!

pixel
23.03.08, 18:56
Hallo,

Nun folgendes Szenario: Ich habe 1x PCI-Karte im PC, die an eine DomU weitergereicht wird und eine Serielle Schnittstelle muss in eine andere DomU weitergegeben werden, da hierin extra angepasste Kernel und Distris laufen, die die PCI-Karte bzw. den Seriellen Port betuddeln sollen (1x ISDN-Karte für speziellen Dialin-Server, 1x Maschinenansteuerung über RS232).
Die PCI-ISDN-Karte ist kein Problem. Onboard-Komponenten können problematisch sein. Hier mußt du evtl eine Schnittstellenkarte einbauen.


Ich nutze Fedora 8 (32 Bit), alle Updates sind eingespielt.
Laut "Xen, Virtualisierung unter Linux open source PRESS" ist Fedora für die Dom0 die schlechtest Wahl. Die Xen-Pakete darin sind nach deren ansicht reproduziebar Mist. Ich persönlich kann dazu nichts sagen da ich Debian4 als Dom0 habe was sehr gut funktioniert.


(domain
(domid 2)
(vcpus_params ())
(PV_args )
(PV_bootloader /usr/bin/pygrub)
(VCPUs_live 1)
(actions_after_crash restart)
(uuid 808eed11-8387-7a55-a0ea-b4eeb5280ac0)
(PV_ramdisk )
(name_label server1)
(VCPUs_at_startup 1)
(HVM_boot_params ())
(platform ())
(PV_kernel )
(memory_static_min 0)
(HVM_boot_policy )
(VCPUs_max 1)
(memory_static_max 536870912)
(actions_after_shutdown destroy)
(memory_dynamic_max 536870912)
(is_a_template False)
(memory_dynamic_min 536870912)
(PV_bootloader_args )
(other_config ())
(actions_after_reboot restart)
(on_crash restart)
(uuid 808eed11-8387-7a55-a0ea-b4eeb5280ac0)
(bootloader_args )
(vcpus 1)
(name server1)
(on_poweroff destroy)
(on_reboot restart)
(bootloader /usr/bin/pygrub)
(maxmem 512)
(memory 512)
(shadow_memory 0)
(vcpu_avail '1')
(cpu_weight 256)
(cpu_cap 0)
(features )
(on_xend_start ignore)
(on_xend_stop ignore)
(start_time 1206238255.64)
(cpu_time 33.85943947)
(online_vcpus 1)
(image
(linux
(kernel )
(notes
(HV_START_LOW 4118806528)
(FEATURES
'writable_page_tables|writable_descriptor_tables|a uto_translated_physmap|pae_pgdir_above_4gb|supervi sor_mode_kernel'
)
(VIRT_BASE 3221225472)
(GUEST_VERSION 2.6)
(PADDR_OFFSET 3221225472)
(GUEST_OS linux)
(HYPERCALL_PAGE 3238006784)
(LOADER generic)
(SUSPEND_CANCEL 1)
(PAE_MODE yes)
(ENTRY 3238002688)
(XEN_VERSION xen-3.0)
)
)
)
(status 1)
(state ------)
(store_mfn 151177)
(console_mfn 151176)
(device
(vif
(bridge virbr0)
(mac 00:16:3e:61:fe:c6)
(script vif-bridge)
(uuid 6d364d94-6594-dc0e-2f2c-7262c9acd285)
(backend 0)
)
)
(device
(vbd
(uname file:/var/xenimages/server1)
(uuid c4b1df6b-85b3-800d-fbb3-9bea6e99ec21)
(mode w)
(dev xvda:disk)
(backend 0)
(bootable 1)
)
)
(device
(console
(protocol vt100)
(location 2)
(uuid 33c31561-70ee-0912-1278-0aee754a268e)
)
)
)
[/CODE]

Wenn ich in dieser Config, etwa zum Durchreichen von /dev/ttyS0 an die DomU nun sowas wie

(irq 4)
(ioports 3f8-3ff)

hinzufüge (Kernel-Module wurden zuvor geblacklistet um von der Dom0 nicht geladen zu werden) und die DomU mit "xm start server1" anwerfe, passiert in der DomU nichts (auch ein manuelles Laden der Serial-Treiber bringt nix, kein Gerät gefunden). Öffne ich danach die Config der DomU wieder, hat XEN meine Eintragungen (ioports,irq) wieder rausgelöscht.

Wie komme ich nun zum Ziel? Muss ich die DomU etwa neu erstellen?

Ich weiß jetzt nicht wo du die Informationen zum durchreichen der Hardware her hast aber ....

Hardware per Grub-Option in der Dom0 ausblenden:


pciback.hide=(01:09.0)

(Bus-ID vorher mit lspci ermitteln)

und in der Konfiguration der DomU /etc/xen/telefon (so heist die bei mir)

kernel='/boot/vmlinuz-2.6.18-5-xen-686'
ramdisk='/boot/initrd.img-2.6.18-5-xen-686'
memory='256'
name='telefon'
root='/dev/hda1 ro'
disk = [ 'phy:/dev/server/telefon_lv_root,hda1,w',
'phy:/dev/server/telefon_lv_swap,hda2,w' ]
vif = [ 'mac=00:16:3e:00:00:04, bridge=intern' ]
pci=['01:09.0']
Danach muß die Karte mit lspci in der DomU zu sehen sein.

Viele Grüße
pixel

mmtools
23.03.08, 19:11
Hallo und erst einmal Danke für die Antwort,

leider löst das mein Problem jedoch noch nicht. Ich möchte zunächst nur die RS232-Schnittstelle in die DomU weiterlegen, nicht den ganzen Chipsatz. Es soll aber eine Lösung geben, mit der das möglich ist, ohne gleich eine Controller-Karte einbauen zu müssen (was in meinem Fall sogar nicht ginge, da nur 1x PCI vorhanden).

Und meine Frage zur Konfigurationsdatei: Wie du siehst, ist die von Fedora erstellte config-Datei (Gast-Installation mit virt-install) etwas anders aufgebaut als die von Dir beschriebene. Da Fedora sie selber so erstellt hat, gehe ich davon aus, dass XEN bzw. das von Fedora bereitgestellte XM auch eine Config in der von mir geposteten Form benötigt. Oder muss ich eine Config-Datei erstellen, wie du sie hast und dann die VM neu anlegen? Denn in der Datei getätigte Veränderungen löscht Xen ja bei mir automatisch, sobald ich die VM 1x anwerfe.

Grüße,

mmtools

cane
23.03.08, 22:39
Teste doch mal mit Debian.

Bei Fedora ist IMO nicht nur die XEN Implementierung mit sehr sehr heisser Nadel gestrickt...

mfg
cane

mmtools
24.03.08, 08:52
Hallo noch einmal!

Leider kann ich, der Auftraggeber will es so, kein anderes OS als Fedora nutzen. Es ist vorgabe.

Ohne jemandem zu Nahe treten zu wollen, bisher habt ihr nur an Fedora rumgemotzt, keiner antwortet so recht auf meine Frage, die da nämlich wäre (siehe Post darüber), wie ich das ganze konfigurieren muss, ob ich die domU neu erstellen muss etc.

cane
24.03.08, 11:17
Leider kann ich, der Auftraggeber will es so, kein anderes OS als Fedora nutzen. Es ist vorgabe.

Ich kann verstehen das es zwingende Gründe gibt eine Distribution zu wählen, generell möchte ich aber trotzdem anmerken:

Sagst Du deinem Hausartzt wie er dich zu behandeln hat oder deiner Werkstatt wie dein Auto zu reparieren ist?

Ich empfehle dir, wenn es denn unbedingt Fedora sein muss, dich an die Fedora Mailingliste, den Paketbetreuer oder die XEN Mailingliste zu wenden.

mfg
cane

pixel
26.03.08, 19:47
... sorry für die späte Rückmeldung.



leider löst das mein Problem jedoch noch nicht. Ich möchte zunächst nur die RS232-Schnittstelle in die DomU weiterlegen, nicht den ganzen Chipsatz. Es soll aber eine Lösung geben, mit der das möglich ist, ohne gleich eine Controller-Karte einbauen zu müssen (was in meinem Fall sogar nicht ginge, da nur 1x PCI vorhanden).
Leider gibt es des öfteren eine Diskrepanz zwischen dem was man will und dem was geht.


Und meine Frage zur Konfigurationsdatei: Wie du siehst, ist die von Fedora erstellte config-Datei (Gast-Installation mit virt-install) etwas anders aufgebaut als die von Dir beschriebene. Da Fedora sie selber so erstellt hat, gehe ich davon aus, dass XEN bzw. das von Fedora bereitgestellte XM auch eine Config in der von mir geposteten Form benötigt.
Ich habe hier zwei Xen-Bücher und in jedem sind die Konfigurations-Dateien so aufgebaut wie ich sie benutze. Ich vermute jetzt einfach mal das du unter Fedora ein Tool zum anlegen der DomU's benutzt (ähnlich Yast unter SuSE). Was diese Tools für Konfigurations-Dateien erzeugen kann ich nicht sagen. Ich erstelle meine DomU's per Hand:

- Speicherplatz bereit stellen (Image-File oder LVM)
- Konfigurationsdatei schreiben
- Domain erstellen


Oder muss ich eine Config-Datei erstellen, wie du sie hast und dann die VM neu anlegen? Denn in der Datei getätigte Veränderungen löscht Xen ja bei mir automatisch, sobald ich die VM 1x anwerfe.

Das deutet aber schon darauf hin dass das nicht die richtigen Dateien sind die du bearbeitest.

mmtools
27.03.08, 21:44
Nun noch einmal für ganz doofe, da mir die SXP-Dateien absolut gar nix geben und sie ja wie gesagt jeweils beim Anwerfen der DomU verworfen werden.

Wie, Pixel, beginnst Du? Eine Image-Datei in der passenden Größe habe ich bereits erstellt, kein Problem. Und nu? Wie sieht Deine Config-Datei aus? Wie startest Du den Installationsprozess? Oder wie machst Du das?

Grüße

mmtools

pixel
10.04.08, 13:35
... bin mal wieder sehr spät dran. Da ich LVM als Storage-System benutze erzeuge ich zunächst die LV's (Swap, / ...) für die neue DomU. Anschließend erzeuge ich das Dateisystem und installiere meinen Debian4-Gast wie z.B. hier:

http://etbe.coker.com.au/2007/01/01/installing-xen-domu-on-debian-etch/

beschrieben. Ich habe bsiher keine anderen Systeme als DomU benötigt. Habe aber gerade mal Google befragt und derartige Anleitungen gibt es für andere Distributionen auch.