HowTo: Wie shelve ich eine VM?
VM vorübergehend stoppen und "einfrieren"
Was ist shelving?
Einleitung: Shelving von virtuellen Maschinen in OpenStack
Das Shelving von virtuellen Maschinen (VMs) in OpenStack bietet eine effiziente Möglichkeit, Rechenressourcen temporär freizugeben, ohne dabei den aktuellen Zustand einer Instanz dauerhaft zu verlieren. Durch diesen Prozess wird eine VM „eingelagert“ (engl. shelved), d. h. ihr aktueller Zustand – einschließlich der Konfiguration und des Root-Dateisystems – wird gesichert und die zugehörigen Rechenressourcen wie CPU und RAM werden im Compute-Cluster freigegeben.
Dies ist insbesondere dann von Vorteil, wenn eine Instanz vorübergehend nicht benötigt wird, etwa zur Kostenoptimierung oder zur Entlastung dero Infrastruktur. Die VM kann zu einem späteren Zeitpunkt über den Vorgang des Unshelving wieder in den vorherigen Zustand versetzt und normal betrieben werden.
Das Shelving trägt somit zu einer flexiblen und ressourcenschonenden Nutzung der OpenStack-Umgebung bei und unterstützt Administratoren wie auch Anwender bei der effizienten Verwaltung virtueller Maschinen.
Wenn eine VM geshelved wurde, werden RAM und CPU nicht mehr abgerechnet.
Der belegte Storage der VM wird weiterhin berechnet.
Technischer Ablauf
Beim Shelving wird das aktuelle Abbild der VM als Image im Glance-Image-Service gespeichert. Anschließend wird die laufende Instanz heruntergefahren und aus dem Compute-Knoten entfernt, wodurch die Rechenressourcen wieder frei werden. Wird die VM zusätzlich ausgelagert (shelved offloaded), wird auch der Eintrag der Instanz vom Compute-Host gelöscht; die notwendigen Informationen bleiben jedoch im Controller und in der Datenbank erhalten.
Beim Unshelving wird die VM aus dem gespeicherten Image neu instanziiert. Dabei werden alle vorherigen Eigenschaften – etwa Netzwerkanbindung, Sicherheitsgruppen und Metadaten – wiederhergestellt.
Dieser Mechanismus erlaubt eine flexible und ressourcenschonende Verwaltung von VMs in OpenStack, ohne dass Konfigurationen oder Daten verloren gehen.
VM shelven
Horizon -> Project -> Compute -> Instances -> Dropdown Menü -> Shelve Instance

Die VM wurde geshelved und hat den Status "Shelved Offloaded".

VM unshelven
Horizon -> Project -> Compute -> Instances -> Dropdown Menü -> unshelve Instance

Nach dem Unshelven der VM startet die VM und fährt neu hoch.
Updated about 10 hours ago