Ich verwende SmartOS 20130405T010449Z mit einem Ubuntu KVM darin. Die Ubuntu-VM lief monatelang einwandfrei, dann stellt die VM nach einem Neustart der physischen Hardware beim Start keine Verbindung mehr zum Netzwerk her, sodass ich mich nicht per SSH anmelden kann, um ihren Zustand zu überprüfen.
Ich kann mich bei SmartOS anmelden und die VM starten:
$ vmadm start [uuid]
Überprüfen Sie, ob es ausgeführt wird:
$ vmadm list
UUID TYPE RAM STATE ALIAS
[uuid] KVM 10240 running steve
und pingen Sie es an:
$ ping steve
steve is alive
aber wenn ich versuche, in die Konsole der VM zu wechseln, bleibt der Befehl einfach für immer hängen:
$ vmadm console [uuid]
[hangs forever]
Ich erhalte dasselbe Ergebnis, wenn ich versuche, innerhalb von SmartOS eine SSH-Verbindung herzustellen:
$ ssh steve
[hangs forever]
Ich kann von anderen Rechnern im Netzwerk aus keine SSH-Verbindung herstellen, da die IP-Adresse der Ubuntu-VM im Netzwerk nie angezeigt wird.
Was sollte ich als Nächstes versuchen, um auf diese VM zuzugreifen?
Antwort1
Ok, ich habe schließlich das wiederhergestellt, was ich von der VM wollte. Hier ist also für die Nachwelt, was ich getan habe:
Zuerst habe ich SmartOS aktualisiert. Ich war zunächst zögerlich, weil ich Datenverlust befürchtete, aber das Upgrade verlief völlig schmerzlos: eine neue Version auf einen neuen USB-Stick laden, herunterfahren, die Sticks austauschen und neu starten.
Nach dem Update blieb vmadm console
es ssh
beim Verbinden mit der VM immer noch hängen, daher bestand die entscheidende Erkenntnis (die mir vorher nicht bewusst war) darin, stattdessen eine Verbindung über VNC herzustellen:
root@smartos $ vmadm info [UUID] vnc
{
"vnc": {
"host": "192.168.1.7",
"port": 64762,
"display": 58862
}
}
me@anotherMachine $ xtightvncviewer 192.168.1.7::64762
Dort wurde das Problem sofort deutlich: Die VM blieb im Startmenü hängen und wartete darauf, dass eine Startoption ausgewählt wurde. Ich wählte die Standardoption und schwupps, war die VM vollkommen in Ordnung.
Es gab jedoch einen Haken: Vermutlich ging beim Update von SmartOS die „externe“ Netzwerkkarte verloren, sodass die VM ohne Kanal zur Außenwelt startete. Ich musste /usbkey/config
in SmartOS manuell Änderungen vornehmen und diese Zeilen hinzufügen, die fehlten:
external_nic=[MAC address]
external0_ip=192.168.1.20
external0_netmask=255.255.255.0
external0_gateway=192.168.1.1
und fügen Sie dann die externe Netzwerkkarte zur VM hinzu:
root@smartos $ cat add_nic.json
{
"add_nics": [
{
"physical": "net1",
"index": 1,
"nic_tag": "external",
"mac": "[MAC address]",
"ip": "192.168.1.8",
"netmask": "255.255.255.0",
"gateway": "192.168.1.1"
}
]
}
root@smartos $ cat add_nic.json | vmadm update [UUID]
Ich musste SmartOS neu starten, um die Konfigurationsänderung zu übernehmen, und dann zeigte die VM eine Netzwerkschnittstelle an.
Vorbehalt: vmadm console
Funktioniert aus irgendeinem Grund immer noch nicht; es hängt immer noch auf unbestimmte Zeit. ssh steve
Funktioniert jedoch innerhalb von SmartOS und ich kann von anderen Maschinen in meinem Netzwerk per SSH auf die IP-Adresse zugreifen.