VM Rettung auf OpenStack

16 Dezember, 2024

Daniel Bodky
Daniel Bodky
Senior Platform Advocate

Daniel kam nach Abschluss seines Studiums im Oktober 2021 zu NETWAYS und beriet zwei Jahre lang Kunden zu den Themen Icinga2 und Kubernetes, bevor es ihn weiter zu Managed Services zog. Seitdem redet und schreibt er viel über cloud-native Technologien und ihre spannenden Anwendungsfälle und gibt sein Bestes, um Neues und Interessantes rund um Kubernetes zu vermitteln. Nebenher schreibt er in seiner Freizeit kleinere Tools für verschiedenste Einsatzgebiete, nimmt öfters mal ein Buch in die Hand oder widmet sich seinem viel zu großen Berg Lego. In der wärmeren Jahreszeit findet man ihn außerdem oft auf dem Fahrrad oder beim Wandern.

von | Dez. 16, 2024

Aus Versehen den SSH-Dienst beendet, die Bootpartition gelöscht, oder Komplikationen nach einem Update des Betriebssystems? Die meisten von uns haben schon einmal vor einem unerreichbaren, fehlkonfigurierten oder anderweitig kaputten Server gestanden und hatten keinen Zugriff mehr.

In Zeiten von Cloud-Servern bieten die darunterliegenden Plattformen glücklicherweise meistens eine Handhabe, um seine Server zu retten – und genau darum geht es in diesem Tutorial: VM Rettung auf OpenStack!

OpenStack Rescue Images

Während einer VM Rettung auf OpenStack wird der betroffene Server von einem sogenannten Rescue Image neugestartet – die Rootdisk und das Configvolume des fehlerhaften Servers werden dabei an die neugestartete VM angehängt, sodass etwaige Fehler behoben werden können. Technische Details zu diesem Vorgang finden sich in der OpenStack-Dokumentation.

Wichtiger Hinweis

Aufgrund von Limitierungen in OpenStack ist diese Art der VM Rettung von einem Rescue Image nur für Local Storage VMs möglich.

So eine Rettungsaktion lässt sich sowohl aus der OpenStack-Weboberfläche Horizon oder via OpenStack CLI durchführen – in beiden Fällen kann optional ein Rescue Image angegeben werden – andernfalls wird der Server vom selben Image gebootet, das ursprünglich für den Server konfiguriert war.

In der NETWAYS Cloud stellen wir ein dediziertes Rescue Image auf Basis von Ubuntu 24.04 zur Verfügung: das Netways Rescue Image. Mit diesem Wissen ausgestattet, können wir uns anschauen, wie man aus Horizon oder dem Terminal eine VM auf Openstack retten kann.

VM Rettung auf OpenStack in Horizon

Navigiert man in Horizons Weboberfläche zu Compute > Instances, landet man bei einer Auflistung aller Server des ausgewählten Projekts. Im Actions-Menü jedes gelisteten Servers kann die Option Rescue Instance ausgewählt werden, um die Rettung einer VM anzustoßen.

Screenshot der Horizon Weboberfläche. Die VM Rescue Option findet sich im Actions-Menü.

Klickt man auf diese Option, öffnet sich ein weiteres Menü, in dem das Rescue Image sowie ein Passwort für die Rescue-VM gesetzt werden kann. Hier kann nun das Netways Rescue Image ausgewählt werden:

Im Rescue Instance Dialog lässt sich aus einer Vielzahl an (Rescue) Images wählen.

Nach Bestätigung des Dialogs durch einen Klick auf Confirm startet OpenStack auch schon die Rescue-Sitzung und hängt das Rootvolume und das Configvolume an. Hierbei ist zu beachten, dass keine neue VM erstellt wird – IP, Floating IP, Servername usw. bleiben gleich.

Wechselt man nun durch einen Klick auf den Servereintrag in der Auflistung in die Detailansicht und weiter in den Console Tab, begrüßt einen die Login-Konsole des Rescue-Images, inkl. SSH-Keys und Zugangsdaten, um sich einzuloggen und die VM Rettung auf OpenStack anzugehen!

Das Netways Rescue Image ermöglicht es, sich direkt einzuloggen und mit der VM Rettung auf OpenStack loszulegen.

Nach einem Login – entweder über SSH oder direkt über die Webkonsole – kann das ursprüngliche Rootvolume der fehlerhaften VM gemounted werden. Dieses ist üblicherweise als Device vdb und die Rootpartition als vdb1 verfügbar.

Hat man die nötigen Änderungen getätigt bzw. rückgängig gemacht, kann der Server über das Actions-Menü und die Option Unrescue wieder in den normalen Betrieb überführt werden.

Ein einfacher Klick auf „Unrescue“ bringt die VM wieder in den produktiven Modus.

Die VM wird daraufhin wieder vom ursprünglich konfigurierten Image gebootet und funktioniert (hoffentlich) wieder wie gewünscht. VM Rettung auf OpenStack erfolgreich!

VM Rettung auf OpenStack mit der OpenStack CLI

Möchte man statt Horizon lieber die OpenStack CLI benutzen, bspw. um notwendige Rescue-Operationen zu automatisieren, geht natürlich auch das! Voraussetzung ist natürlich ein konfigurierter OpenStack-Client.

Nun gilt es als erstes, die Image ID des gewünschten Rescue Images sowie die Server ID der zu rettenden VM herauszufinden:

$ openstack image list -c Name -c ID --name "Netways Rescue Image"
+--------------------------------------+----------------------+
| ID                                   | Name                 |
+--------------------------------------+----------------------+
| bec9c564-8ca0-47fe-8df1-1b7ec5ea7279 | Netways Rescue Image |
+--------------------------------------+----------------------+

$ openstack server list -c Name -c ID
+--------------------------------------+----------------+
| ID                                   | Name           |
+--------------------------------------+----------------+
| 245b5fa7-b1c1-4829-8328-ddcbd53492ca | production-app |
+--------------------------------------+----------------+

Hat man die benötigten Informationen beisammen, kann der Server mit einem weiteren Befehl der OpenStack CLI in den Rettungsmodus versetzt werden:

$ openstack server rescue --image bec9c564-8ca0-47fe-8df1-1b7ec5ea7279 \
  245b5fa7-b1c1-4829-8328-ddcbd53492ca

Ist der Befehl erfolgreich, erfolgt keine weitere Ausgabe und wir können mit der VM Rettung auf OpenStack loslegen! Nach einem Login – entweder über SSH oder direkt über die Webkonsole mit den dort angezeigten Zugangsdaten – kann das ursprüngliche Rootvolume der fehlerhaften VM gemounted werden. Dieses ist üblicherweise als Device vdb und die Rootpartition als vdb1 verfügbar.

Ist die Rettung abgeschlossen, kann die VM mit dem Befehl openstack server unrescue wieder in den produktiven Betrieb überführt werden. Auch bei diesem Befehl erfolgt keine weitere Ausgabe:

$ openstack server unrescue 245b5fa7-b1c1-4829-8328-ddcbd53492ca

VM Rettung auf OpenStack erfolgreich!

Abschließende Worte

Nur weil eine VM nach einem Update des Betriebssystems nicht mehr reagiert oder man sich „ausgeschlossen“ hat, ist das noch lange kein Grund, den Kopf in den Sand zu stecken (oder die VM zu löschen)! Es gibt durchaus Mittel und Wege zur VM Rettung auf OpenStack.

Egal ob via Weboberfläche oder per OpenStack CLI, die NETWAYS Cloud ermöglicht es, fehlerhafte Server innerhalb kürzester Zeit wiederherzustellen und einen reibungslosen Betrieb zu gewährleisten.

Für weitere Informationen und Tutorials rund um die NETWAYS Cloud wirf doch gerne einen Blick auf unsere anderen Cloud Tutorials oder stöbere ein wenig in der NWS Dokumentation.

Unser Portfolio

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Wie hat Dir unser Artikel gefallen?