4.6. Virtuelle Maschinen verwalten

Jede virtuelle Maschine (VM) ist ein unabhängiges System mit einer unabhängigen Zusammenstellung aus virtueller Hardware. Ihre Hauptmerkmale sind:

  • Eine virtuelle Maschine gleicht vom Prinzip einem normalen Computer und funktioniert wie dieser. Sie hat ihre eigene virtuelle Hardware. Software-Applikationen können in virtuellen Maschinen für gewöhnlich ohne Änderungen oder Anpassungen ausgeführt werden.

  • Die Konfiguration virtueller Maschinen kann leicht geändert werden, z.B. indem neue virtuelle Festplattenlaufwerke oder mehr Arbeitsspeicher (RAM) hinzugefügt wird.

  • Auch wenn virtuelle Maschinen bestimmte physische Hardware-Ressourcen gemeinsam nutzen, sind doch untereinander (was Dateisystem, Prozesse und Sysctl-Variablen angeht) und vom Computing-Knoten isoliert.

  • Auf einer virtuellen Maschine kann jedes unterstützte Gastbetriebssystem ausgeführt werden.

Die folgende Tabelle listet die aktuellen Konfigurationsbeschränkungen für virtuelle Maschinen auf:

Tab. 4.6.1 Virtuelle-Maschinen-Hardware

Resource

Beschränkung

RAM

1 TiB

CPU

48 logische CPUs

Storage

15 Volumes, je 512 TiB

Netzwerk

15 NICs

Eine logische CPU ist ein Kern (Thread) in einem Multicore-(Multithreading)-Prozessor.

4.6.1. Unterstützte Gastbetriebssysteme

Die folgenden Gastbetriebssysteme wurden getestet und werden in virtuellen Maschinen unterstützt:

Tab. 4.6.1.1 Windows-Gastbetriebssysteme

Betriebssystem

Edition

Architektur

Windows Server 2019

Essentials, Standard, Datacenter

x64

Windows Server 2016

Essentials, Standard, Datacenter

x64

Windows Server 2012 R2

Essentials, Standard, Datacenter

x64

Windows Server 2012

Standard, Datacenter

x64

Windows Server 2008 R2

Standard, Datacenter

x64

Windows Server 2008

Standard, Datacenter

x64

Windows 10

Home, Professional, Enterprise, Enterprise 2016 LTSB

x64

Windows 8.1

Home, Professional, Enterprise

x64

Windows 7

Home, Professional, Enterprise

x64

Tab. 4.6.1.2 Linux-Gastbetriebssysteme

Betriebssystem

Architektur

CentOS 7.x

x64

CentOS 6.x

x64

RHEL 8.x

x64

RHEL 7.x

x64

Debian 9.x

x64

Ubuntu 18.04.x

x64

Ubuntu 16.04.x

x64

4.6.2. Virtuelle Maschinen erstellen

Bevor Sie mit der Erstellung von VMs fortfahren, sollten Sie überprüfen, ob Sie Folgendes haben:

  • Eine Quelle für das Gastbetriebssystem (siehe Images verwalten):

    • ein ISO-Image eines Gastbetriebssystems, welches in der VM installiert werden soll – oder

    • eine Boot-Volume-Vorlage – oder

    • ein Boot-Volume

      Bemerkung

      Um ein Boot-Volume zu erhalten, müssen Sie (wie im Abschnitt Volumes verwalten beschrieben) ein Volume erstellen, dieses an eine VM anschließen, in diesem ein Betriebssystem installieren und dann die VM löschen.

  • Eine Storage-Richtlinie für Volumes (siehe Storage-Richtlinien verwalten)

  • Eine Variante (siehe Varianten verwalten)

Bemerkung

Virtuelle Maschinen werden standardmäßig mit dem Host-CPU-Modell erstellt. Wenn Sie Compute-Knoten mit unterschiedlichen CPUs haben, kann dies zu Problemen bei der Live-Migration von VMs führen. Um dies zu vermeiden, können Sie das CPU-Modell für alle neuen VMs manuell festlegen, wie in der Befehlszeilenanleitung für Administratoren beschrieben.

Gehen Sie folgendermaßen vor, um eine VM zu erstellen:

  1. Klicken Sie bei COMPUTE > Virtual machines > VIRTUAL MACHINES tab auf den Befehl Virtuelle Maschine erstellen. Daraufhin wird ein Fenster geöffnet, in dem Sie die VM-Parameter spezifizieren müssen.

    ../_images/stor_image70_ac.png
  2. Spezifizieren Sie einen Namen für die neue VM.

  3. Wählen Sie bei Bereitstellungsquelle die Option Volume, wenn Sie ein Boot-Volume haben oder eines erstellen wollen. Ansonsten können Sie Image wählen.

  4. Klicken Sie – abhängig von Ihrer Wahl – auf das Stiftsymbol im Bereich Volumes bzw. Image und gehen Sie anschließend nach einer der folgenden Möglichkeiten vor:

    • Wählen Sie im Fenster Images das ISO-Image oder die Vorlage aus und klicken Sie dann auf Fertig.

    ../_images/stor_image71_ac.png
    • Führen Sie im Fenster Volumes für eine der folgenden Aktionen aus:

      • Wenn Sie ein Volume mit installiertem Gastbetriebssystem vorbereitet haben, klicken Sie auf Anschließen, suchen Sie das Volume, wählen Sie dieses aus und klicken Sie anschließend auf Fertig.

    ../_images/stor_image72_ac.png ../_images/stor_image73_ac.png
  5. Klicken Sie optional im Fenster Volumes auf Hinzufügen oder Anschließen, um weitere benötigte Volumes zu erstellen oder anzuschließen. Wenn Sie ein Volume als bootfähig festlegen wollen, müssen Sie dieses an die oberste Position in der Liste setzen. Verwenden Sie dafür die Pfeil-nach-oben-Schaltfläche neben dem Volume.

  6. Wählen Sie im Fenster Variante eine VM-Variante aus und klicken Sie dann auf Fertig.

    ../_images/stor_image74_ac.png
  7. Klicken Sie im Netzwerk-Fenster auf Hinzufügen, wählen Sie einen virtuellen Netzwerkadapter aus und klicken Sie dann auf Hinzufügen. Er wird dann in der Liste Netzwerkschnittstellen angezeigt.

    ../_images/stor_image75_ac.png

    Sie können zusätzliche Parameter von neu hinzugefügten Netzwerkschnittstellen bearbeiten, wie IP- und MAC-Adressen oder Spoofing-Schutz. Klicken Sie dazu auf das Drei-Punkte-Symbol der Schnittstelle und anschließend auf Bearbeiten – und legen Sie dann die Parameter im Fenster Netzwerkschnittstelle bearbeiten fest.

    ../_images/stor_image75_1_ac.png

    Sie können diese Parameter nur in diesem Stadium und nicht zu einem späteren Zeitpunkt bearbeiten. Stattdessen können Sie die alte Netzwerkschnittstelle aber löschen und durch eine neue ersetzen.

    ../_images/stor_image75_2_ac.png

    Klicken Sie auf Fertig.

  8. (Optional) Wenn Sie die VM von einer Vorlage oder einem Boot-Volume (nicht von einem ISO-Image) bereitstellen, können Sie Folgendes spezifizieren:

    • Einen SSH-Schlüssel, der in die VM eingeschleust werden soll. Wählen Sie dazu einen SSH-Schlüssel im Fenster Einen SSH-Schlüssel auswählen aus und klicken Sie dann auf Fertig.

      ../_images/stor_image76_ac.png

      Bemerkung

      Um eine Verbindung zur VM per SSH herstellen zu können, sollten Sie sicherstellen, dass die VM-Vorlage oder das Boot-Volume das Paket cloud-init und OpenSSH installiert haben (siehe den Abschnitt ‚SSH-aktivierte Vorlagen erstellen‘ in der Befehlszeilenanleitung für Administratoren).

    • Stellen Sie Benutzerdaten bereit, um die VM nach der Ausführung anzupassen. Dafür müssen Sie im Feld Anpassungsskript ein Skript direkt eingeben oder eine Datei auf Ihrem lokalen Server angeben, aus der das Skript geladen werden soll.

      Die Benutzerdaten können in einem von zwei Formaten vorliegen: cloud-config oder Shell-Skript Wie Sie ein Skript in eine Windows-VM einschleusen können, finden Sie in der Cloudbase-Init-Dokumentation erläutert.

      ../_images/stor_image77_ac.png

      Bemerkung

      Damit das Gastbetriebssystem angepasst werden kann, sollten Sie sicherstellen, dass die VM-Vorlage oder das Boot-Volume das Paket cloud-init installiert haben.

  9. Klicken Sie, wenn Sie zurück im Fenster Virtuelle Maschine erstellen sind auf den Befehl Bereitstellen, um die VM zu erstellen und zu booten.

  10. Wenn Sie die VM aus einem ISO-Image bereitstellen (keiner Boot-Volume-Vorlage oder einem Volume mit vorinstalliertem Gastbetriebssystem), wählen Sie die VM aus, klicken Sie auf Konsole und installieren Sie das Gastbetriebssystem über die integrierte VNC-Konsole.

  11. (Optional) Wenn Sie die VM aus einer vorbereiteten Vorlage mit einem eingeschleusten SSH-Schlüssel bereitstellen, können Sie sich per SSH und mithilfe des Benutzernamens sowie der VM-IP-Adresse mit der VM verbinden:

    • Bei Linux-Vorlagen müssen Sie einen Benutzernamen eingeben, der für das Cloud-Image-Betriebssystem vorgegeben ist (für ein CentOS-Cloud-Image lautet der Standard-Anmeldename beispielsweise centos).

    • Bei Windows-Vorlagen müssen Sie den Benutzernamen eingeben, den Sie während der Cloudbase-Init-Installation spezifiziert haben.

    • Bei VMs, die mit Benutzerdaten angepasst wurden, müssen Sie den im Skript spezifizieren Benutzernamen eingeben.

    Beispiel:

    # ssh myuser@10.10.10.10
    

4.6.3. Überblick der Aktionen, die mit virtuellen Maschinen durchgeführt werden können

Wenn Sie eine virtuelle Maschine erstellt haben, können Sie diese mithilfe von Aktionen, die für das aktuelle Stadium der VM verfügbar sind, verwalten. Sie können eine vollständige Liste der verfügbaren Aktionen einsehen, wenn Sie neben einer VM oder im oberen Fensterbereich auf das Drei-Punkte-Symbol klicken. Folgende Aktionen sind unter anderem verfügbar:

  • Ausführen – schaltet eine VM ein.

  • Konsole – verbindet sich über die integrierte VNC-Konsole mit einer laufenden VM. Über das Konsolen-Fenster können Sie eine Tastenkombination an eine VM senden, einen Screenshot des Konsolen-Fensters machen und das Konsolen-Protokoll herunterladen.

  • Neustart – bootet eine laufende VM per Software-Befehl neu.

  • Herunterfahren – fährt eine laufende VM ordnungsgemäß herunter.

  • Harter Neustart – startet eine VM neu, als würde die Stromversorgung erst getrennt und dann wieder eingeschaltet.

  • Ausschalten – schaltet eine VM zwangsweise aus, als würde die Stromversorgung getrennt.

  • Ablegen – trennt eine gestoppte VM von dem Knoten, auf dem sie gehostet wird, und gibt ihre reservierten Ressourcen (wie CPU und RAM) frei. Eine abgelegte VM bleibt weiterhin bootfähig und behält ihre Konfiguration, einschließlich der IP-Adressen.

    Virtuelle Maschinen in anderen Stadien können abgelegt werden, wenn Sie zuerst auf Herunterfahren oder Ausschalten klicken und dann das Kontrollkästchen Virtuelle Maschine ablegen aktivieren.

  • Wieder aufnehmen – bindet eine abgelegte VM wieder in einen Knoten ein, der über genügend Ressourcen verfügt, um die VM zu hosten.

  • Anhalten – speichert das aktuelle VM-Stadium in eine Datei.

    Dies kann beispielsweise nützlich sein, wenn Sie den Host neu starten müssen, Sie aber die Applikationen, die gerade in der VM laufen, nicht beenden oder das Gastbetriebssystem nicht neu starten wollen.

  • Fortsetzen – stellt eine VM wieder her, die sich im Stadium ‚Angehalten‘ befindet.

  • Konsolen-Protokoll herunterladen – lädt das Protokoll der Konsole herunter. Stellen Sie sicher, dass die Protokollierung in der VM aktiviert ist, weil das Protokoll sonst leer sein wird (weitere Informationen dazu finden Sie im Abschnitt Protokollierung in den virtuellen Maschinen aktivieren).

    Eine Analyse der Konsolen-Protokoll kann zur Fehlerbehebung bei ausgefallen Maschinen hilfreich sein.

  • Stadium zurücksetzen – setzt eine VM, die in einem ausgefallenen oder Übergangszustand festhängt, auf ihr letztes stabiles Stadium zurück: aktiv, heruntergefahren oder abgelegt.

  • Löschen – entfernt eine VM aus dem Compute-Cluster.

  • Migrieren – verschiebt eine VM zu einem anderen Knoten im Computer-Cluster (weitere Informationen dazu finden Sie im Abschnitt Virtuelle Maschinen migrieren).

4.6.4. Protokollierung in den virtuellen Maschinen aktivieren

Das Konsolen-Protokoll einer VM enthält nur dann Protokollmeldungen, wenn die Protokollierungsstufen TTY1 und TTYS0 innerhalb der VM aktiviert sind. In Linux-VMs beispielsweise können Sie diese folgendermaßen aktivieren:

  1. Fügen Sie die Zeile GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0" in die Datei /etc/default/grub ein.

  2. Führen Sie, abhängig vom Boot-Loader, Folgendes aus:

    # grub-mkconfig -o /boot/grub/grub.cfg
    

    oder

    # grub2-mkconfig -o /boot/grub2/grub.cfg
    
  3. Booten Sie die VM neu.

In Windows-VMs können Sie zu diesem Zweck die Konsolen-Umleitung der Notverwaltungsdienste (EMS) aktivieren. Gehen Sie folgendermaßen vor:

  1. Starten Sie die Windows PowerShell mit administrativen Berechtigungen.

  2. Richten Sie in der PowerShell-Konsole den COM-Anschluss und die Baudrate für die EMS-Konsolen-Umleitung ein. Weil Windows-VMs nur den COM1-Anschluss mit einer Übertragungsrate von 9600 Bit/s verfügen, müssen Sie folgenden Befehl ausführen:

    bcdedit /emssettings EMSPORT:1
    
  3. Aktivieren Sie EMS für den aktuellen Boot-Eintrag:

    bcdedit /ems on
    

Sie können außerdem die Treiberstatus-Protokollierung aktivieren, um die Liste der geladenen Treiber einzusehen. Dies kann nützlich sein, wenn Sie Probleme mit einem fehlerhaften Treiber oder einem langen Boot-Vorgang analysieren wollen. Sie können dies folgendermaßen durchführen:

  1. Starten Sie die Systemkonfiguration mit administrativen Berechtigungen.

  2. Öffnen Sie im Fenster Systemkonfiguration die Registerkarte Starten und aktivieren Sie die Kontrollkästchen Betriebssystem-Startinformationen sowie Starteinstellungen sollen immer gelten.

  3. Bestätigen Sie die Änderungen und starten Sie das System neu.

4.6.5. Virtuelle Maschinen migrieren

Die VM-Migration erleichtert Cluster-Upgrades und den Workload-Ausgleich zwischen den Compute-Knoten. Mit Acronis Cyber Infrastructure können Sie zwei Arten von Migrationen durchführen:

  • Cold-Migration – für gestoppte und angehaltene virtuelle Maschinen

  • Hot-Migration für laufende virtuelle Maschinen (ermöglicht, VM-Ausfallzeiten zu vermeiden)

Bei beiden Migrationstypen wird eine virtuelle Maschine zwischen Compute-Knoten migriert, die einen gemeinsamen Storage verwenden, sodass keine Blockgerät-Migration stattfindet.

Eine Hot-Migration („heiße“ Migration) besteht aus folgenden Schritten:

  1. Der gesamte VM-Arbeitsspeicher wird zum Zielknoten kopiert, während die virtuelle Maschine erst einmal weiter auf dem Quellknoten läuft. Wenn eine VM-Speicherseite geändert wird, wird diese erneut kopiert.

  2. Wenn nur noch wenige Speicherseiten zum Kopieren übrig sind, wird die VM auf dem Quellknoten gestoppt, die verbliebenen Seiten werden übertragen und die VM wird auf dem Zielknoten neu gestartet.

Große virtuelle Maschinen mit schreibintensiven Workloads schreiben schneller in den Arbeitsspeicher als die Speicheränderungen zum Zielknoten übertragen werden können, wodurch eine Zusammenführung (Konvergenz) der Migration verhindert wird. Für solche VMs wird der Auto-Konvergieren-Mechanismus verwendet. Wenn während der Live-Migration ein Mangel an Konvergenz festgestellt wird, wird die vCPU-Ausführungsgeschwindigkeit der VM gedrosselt, was auch das Schreiben in den VM-Speicher verlangsamt. Anfangs wird die vCPU der virtuellen Maschine um 20% gedrosselt und dann bei jeder Iteration um 10%. Dieser Prozess wird fortgesetzt, bis das Schreiben in den VM-Speicher soweit verlangsamt wurde, um die Migration abzuschließen, oder bis die vCPU der VM um 99% gedrosselt wurde.

Bemerkung

Virtuelle Maschinen werden standardmäßig mit dem Host-CPU-Modell erstellt. Wenn Sie Compute-Knoten mit unterschiedlichen CPUs haben, kann dies zu Problemen bei der Live-Migration von VMs führen. Um dies zu vermeiden, können Sie das CPU-Modell für alle neuen VMs manuell festlegen, wie in der Befehlszeilenanleitung für Administratoren beschrieben.

Gehen Sie folgendermaßen vor, um eine VM zu migrieren:

  1. Klicken Sie auf der Registerkarte COMPUTE –> Virtuelle Maschinen –> VIRTUELLE MASCHINEN auf eine VM, die migriert werden soll, dann auf das Drei-Punkte-Symbol und wählen Sie anschließend den Befehl Migrieren.

    ../_images/stor_image104_ac.png
  2. Spezifizieren Sie in dem neuen Fenster den Zielknoten:

    • Auto. Das optimale Ziel wird unter den Cluster-Knoten automatisch ausgewählt, basierend auf den verfügbaren CPU- und RAM-Ressourcen.

    • Wählen Sie den Zielknoten manuell aus dem Listenfeld aus.

    ../_images/stor_image105_ac.png
  3. Laufende VMs werden standardmäßig per Live-Migration verschoben. Sie können den Migrationsmodus auch zu ‚offline‘ ändern, indem Sie das Kontrollkästchen Cold-Migration anwählen. Eine VM wird gestoppt und nach der Migration auf dem Zielknoten neu gestartet.

  4. Klicken Sie auf Migrieren, um Ressourcen auf dem Zielknoten zu reservieren und die Migration zu starten.

Der Fortschritt der Migration wird im Admin-Panel angezeigt.

4.6.6. Virtuelle Maschinen neu konfigurieren und überwachen

Wenn Sie die CPU-, Storage- und Netzwerk-Nutzung einer virtuellen Maschine überwachen wollen, müssen Sie die VM auswählen und die Registerkarte Überwachung öffnen.

Wenn Sie eine VM neu konfigurieren wollen, müssen Sie diese auswählen und dann in der Registerkarte Überblick neben einem Parameter, den Sie ändern wollen, auf das Stiftsymbol klicken. Folgende Aktionen können nicht ausgeführt werden:

  • Das Boot-Volume ändern, trennen oder löschen

  • Nicht-Boot-Volumes verwalten, außer diese anzuschließen oder zu trennen

  • Zuvor hinzugefügte Netzwerkschnittstellen ändern

  • Netzwerkschnittstellen mit/von abgelegten VMs verbinden/trennen

  • Die Variante für laufende und abgelegte VMs ändern

4.6.7. Hochverfügbarkeit für virtuelle Maschinen konfigurieren

Durch Hochverfügbarkeit bleiben virtuelle Maschinen betriebsbereit, wenn der Knoten, auf dem diese sich befinden, aufgrund von Kernel-Abstürzen, Stromausfällen etc. ausfallen sollte oder über das Netzwerk nicht mehr erreichbar ist. Dabei gilt ein ordnungsgemäßes Herunterfahren nicht als Fehlerereignis.

Wichtig

Der Compute-Cluster kann nur den Ausfall eines Knotens überstehen.

Bei einem Fehler versucht das System, die betroffenen VMs automatisch zu „evakuieren“. Das bedeutet, dass diese offline und mit automatischer Planung zu anderen fehlerfreien Compute-Knoten migriert werden – und zwar in folgender Reihenfolge:

  • VMs mit dem Status ‚Aktiv‘ werden zuerst evakuiert und automatisch gestartet.

  • VMs mit dem Status ‚Heruntergefahren‘ werden als nächstes evakuiert und bleiben gestoppt.

  • Alle anderen VMs werden ignoriert und verbleiben auf dem ausgefallenen Knoten.

Wenn etwas die Evakuierung blockiert (Beispiel: die als Ziel dienenden Compute-Knoten haben zu wenig Ressourcen, um die betroffenen VMs hosten zu können), bleiben diese VMs auf dem ausgefallenen Knoten und erhalten den Status ‚Fehler‘. Sie können diese manuell evakuieren, wenn das Problem gelöst wurde (beispielsweise, weil ausreichende Ressourcen bereitgestellt wurden, dem Cluster neue Knoten hinzugefügt wurden etc.). Klicken Sie dazu neben einer solchen VM auf das Drei-Punkte-Symbol (oder öffnen Sie deren Panel) und klicken Sie auf Evakuieren.

../_images/stor_image155_ac.png

Wenn der ausgefallene Knoten wieder verfügbar ist, wird er von der Planung, dass neu VMs zu ihm migriert/evakuiert werden, zuerst einmal ausgegrenzt. Er kann aber manuell wieder in den normalen Betrieb zurückgeführt werden. Klicken Sie dazu neben dem ausgegrenzten Knoten auf das Drei-Punkte-Symbol (oder öffnen Sie dessen Panel) und klicken Sie auf Wieder in Betrieb nehmen.

../_images/stor_image154_ac.png

Standardmäßig wird die Hochverfügbarkeit (HV) für virtuelle Maschinen automatisch aktiviert, nachdem der Compute-Cluster erstellt wurde. Bei Bedarf können Sie dies wie folgt manuell deaktivieren:

  1. Klicken Sie auf die VM, für die Sie die HV deaktivieren wollen.

  2. Klicken Sie im VM-Fensterbereich auf das Stiftsymbol neben dem Parameter Hochverfügbarkeit.

  3. Deaktivieren Sie im Fenster Hochverfügbarkeit die HV für die VM und klicken Sie auf Speichern.

../_images/stor_image156_ac.png

Virtuelle Maschinen mit deaktivierter HV werden bei einem Failover nicht zu fehlerfreien Knoten evakuiert.