2011-01-11 8 views
2

Ich habe ein kleines Problem mit Xen. Jedes Mal, wenn ich versuche xm create bekomme ich folgende Fehler auszuführen:Einige Probleme mit XM erstellen

dom0:~# xm create -c staros.xm 
Using config file "./staros.xm". Started domain StarOS-3 xenconsole: Could not read tty from store: No such file or directory 

Ist das jedem vertraut?

Ich glaube, dass meine Konfiguration in Ordnung ist. Zuerst vermutete ich, dass der Pfad zu qemu-dm nicht korrekt eingestellt war.

+0

Sie müssten nützlichere Informationen (alle Protokollnachrichten, den tatsächlichen Inhalt von startos.xm usw.) posten, um eine nützliche Antwort zu erhalten. –

Antwort

2

Der Fehler, den Sie zwei Dinge bedeuten beschreiben könnte:

Es ist eine wohlbekannte Rennen in xenstore

Die psuedo TTY Dokumentation benötigt, um eine Domäne der Konsole zu befestigen in xenstore gespeichert in mehrere Orte. Der Xen-Konsolenclient richtet eine Inotify-Stilüberwachung für diesen Wert ein, damit er sich erneut mit der Konsole verbinden kann, wenn sich der Backing-Dateideskriptor ändert. Es dauert jedoch einige Sekunden, bis diese Informationen in Xenstore von dem Zeitpunkt an, an dem die Domäne erstellt wird, ausgefüllt werden.

Wenn Sie die Ausgabe von xm info veröffentlichen, wäre es leicht zu sehen, ob Sie mit einer bekannten Rasse zu tun haben.

Der Träger psuedo Terminal kann nicht

Häufige Gründe dafür geschaffen werden, wäre/dev/pts nicht montiert ist. Wenn Sie xenstore-ls /local/domain/{domain_id} ausführen, nachdem Sie die Domäne ohne die Option -c gestartet haben, wird der Inhalt des Geschäfts für diese Domäne angezeigt. Suchen Sie nach der Zeile (in der Nähe des unteren Rands), die besagt:

tty="/dev/pts/{pty}" 

Überprüfen Sie, ob die Pty in Wirklichkeit existiert.

Der xen-Konsolen-Daemon verwendet zwei tatsächliche Dateideskriptoren, um dies zu ermöglichen. Der erste ist ein Pseudodatei-Deskriptor (erhalten über xs_fileno()) für diese spezifische Information im Knoten, so dass er abfragen kann() um zu sehen, ob sich diese Information ändert. Die zweite ist eine echte FD, die von open() (ja, O_NONBLOCK wurde übergeben), die tatsächlich liest/schreibt in die psuedo tty.

Es sieht so aus, als würde es nicht einmal die Pseudo FD von XenStore finden, was bedeutet, dass die Backing Pty wahrscheinlich existenziell herausgefordert ist.

+0

Hi @Tim Post, wenn es der zweite Fall ist, d. H. Das tty = "/ dev/pts/{pty}" ist nicht in Xenstore eingebunden. Was soll ich machen? In meinem Fall existiert das/dev/pts/{pty}, das in tty von xenstore verwendet wird, nicht. :-( – Mike

+0

Danke für die nützliche Erklärung, Tim. In meinem Fall (Debian 6, XEN 4.0), erhielt ich einen ähnlichen Fehler beim Versuch, auf die Gäste über die Konsole zuzugreifen. Der letzte Schritt, um alles wieder normal zu bekommen, war/usr/lib/xen- $ VERSION/bin/xenconsoled, was ich irgendwie nicht funktionierte. – Kiddo