2 Stimmen

Probleme mit XM erstellen

Ich habe ein kleines Problem mit Xen. Jedes Mal, wenn ich versuche zu starten xm create Ich erhalte den folgenden Fehler:

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

Kommt das jemandem bekannt vor?

Ich glaube, meine Konfiguration ist in Ordnung. Zuerst hatte ich den Verdacht, dass der Pfad zu qemu-dm nicht richtig eingestellt war.

0 Stimmen

Um eine brauchbare Antwort zu erhalten, müssen Sie weitere nützliche Informationen angeben (alle Protokollmeldungen, den tatsächlichen Inhalt von startos.xm usw.).

2voto

Tim Post Punkte 32750

Der von Ihnen beschriebene Fehler kann zweierlei bedeuten:

Sie dokumentiert ein bekanntes Rennen in xenstore

Der psuedo TTY, der benötigt wird, um sich mit der Konsole einer Domäne zu verbinden, ist in xenstore an mehreren Stellen gespeichert. Der Xen-Konsolen-Client überwacht diesen Wert im Stil von inotify, 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 ab dem Zeitpunkt der erstmaligen Erstellung der Domäne aufgefüllt werden.

Wenn Sie die Ausgabe von xm info posten, wäre es einfach zu sehen, ob es sich um eine bekannte Rasse handelt.

Das Backing-Psuedo-Terminal kann nicht erstellt werden

Häufige Gründe dafür sind, dass /dev/pts nicht eingehängt ist. Wenn Sie xenstore-ls /local/domain/{domain_id} nach dem Start der Domäne ohne die -c sehen Sie den Inhalt des Speichers für diese Domäne. Suchen Sie nach der Zeile (in der Nähe des unteren Randes), in der steht

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

Überprüfen Sie, ob das pty tatsächlich existiert.

Der xen-Konsolendaemon verwendet zwei tatsächliche Dateideskriptoren, um dies zu ermöglichen. Der erste ist ein Psuedo-File-Deskriptor (den er über xs_fileno() erhält) für diese spezifische Information im Knoten, so dass er mit poll() feststellen kann, ob sich diese Information ändert. Der zweite ist ein echter FD, der von open() (ja, O_NONBLOCK wird übergeben), die tatsächlich auf dem psuedo tty liest/schreibt.

Es sieht so aus, als ob es nicht einmal den psuedo FD von xenstore findet, was bedeutet, dass das unterstützende pty wahrscheinlich existenziell herausgefordert ist.

0 Stimmen

Hallo @Tim Post, wenn es der zweite Fall ist, d.h. tty="/dev/pts/{pty}" ist nicht in xenstore gemountet. Was sollte ich tun? In meinem Fall existiert das /dev/pts/{pty}, das in tty von xenstore verwendet wird, nicht :-(

0 Stimmen

Danke für die nützliche Erklärung, Tim. In meinem Fall (Debian 6, XEN 4.0) erhielt ich einen ähnlichen Fehler, als ich versuchte, über die Konsole auf die Gäste zuzugreifen. Der letzte Schritt, um alles wieder in den Normalzustand zu bringen, war der Aufruf von /usr/lib/xen-$VERSION/bin/xenconsoled, was wohl irgendwie nicht funktioniert hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X