ra2 studio - stock.adobe.com

Linux unter Hyper-V: Funktionen und Tipps

Mit Hyper-V virtualisieren Administratoren weitgehend problemlos auch Linux-VMs. Microsoft wird dadurch für viele attraktiver. Vorausgesetzt, ihre Distribution ist kompatibel.

Gerade was die Virtualisierung komplexerer Strukturen und von Systemen angeht, die auf einem Linux laufen, wurde die VMware-Plattform Hyper-V häufig vorgezogen. Doch seit einiger Zeit hat sich Microsoft mächtig ins Zeug gelegt und unter anderem den Funktionsumfang erweitert.

Das tritt beim Vergleich von VM Snapshots mit Hyper V Checkpoints deutlich zu Tage. VMware gibt mit Snapshots seinen Produkten die Möglichkeit mit auf den Weg, vor größeren Änderungen eine kurzfristige Systemzustandssicherung zu erstellen.

vSphere unterstützt die transiente Erstellung von bis zu 32 Snapshots pro virtueller Maschine und erstellt anschließend eine blockbasierte Differenz auf Systemebene, um Änderungen zu protokollieren. Im produktiven Umfeld unterstützt VMware offiziell keine Erstellung von Snapshots während der Laufzeit – im realen Betrieb findet dies jedoch fleißig Anwendung.

Das Pendant von Microsoft heißt Checkpoints: Diese sind persistent – also nicht nur von temporärer Dauer. Statt 32 erlaubt Microsoft 64 dieser Zwischensicherungen und identifiziert die Änderungen für jede Datei im Filesystem, was zu kleineren virtuellen Festplatten-Images führt. Und im Gegensatz zu Snapshots dürfen Administratoren selbst im laufenden Betrieb offiziell Checkpoints erstellen.

Auch sonst fallen Featurevergleiche von VMware vSphere und Hyper-V auf dem Windows Server 2016/2019 eigentlich immer mehr zu Gunsten von Microsoft aus. Das wundert kaum, da es sich um die technische Grundlage von Azure handelt, die sich am Markt für den Hersteller erfreulich etablieren konnte. Könnte die Unterstützung von Linux-artigen Betriebssystemen vielleicht der Schwachpunkt der Redmonder sein?

Bei rund 300 verschiedenen Linux-Distributionen ist eine umfassende Auflistung der Kompatibilität nicht ganz so einfach. Glücklicherweise basieren die meisten Linux-Pakete auf einem gemeinsamen Vorfahren. Dessen Unterstützung hat zumeist auch einen positiven Effekt auf die Kompatibilität der auf ihm basierenden Distributionen. Folgende Auflistung zeigt die bekanntesten Linux-Pakete und einige aktuell weit verbreitete Varianten.

Distribution Unix/Linux

Offizielle Unterstützung in Hyper-V

Arch Linux, Manjaro Linux

Nein

CentOS

Ja, ab 8.0

Debian

Ja, ab 8.0 Jessie

Fedora

Nein

FreeBSD

Ja

Elementary OS

Nicht offiziell, mit Leistungseinschränkungen (zum Beispiel Bildschirmauflösung maximal 1920x1080)

MX Linux

Basiert auf Debian

Oracle Linux

Ja

RHEL

Ja

Slackware Linux

Nein

SLES

Ja

Ubuntu

Ja, ab 12.04 LTS, ab 16.04 LTS mit allen Features

Diese Liste der unterstützten Betriebssysteme ist für den Administrator erfreulich lang – was den parallelen Einsatz von Windows- und Linux-Systemen im Rechenzentrum ermöglicht, ohne auf die Produkte aus dem Hause VMware zurückgreifen zu müssen.

Dennoch gibt es Distributionen, für die es keine explizite Betriebserlaubnis gibt, die aber möglicherweise trotzdem funktionieren können. Für experimentelle Installationen sind derlei Konfigurationen sicherlich denkbar, für den produktiven Betrieb jedoch wenig zielführend. Typischerweise verlangt jede vom Hersteller unterstützte Anwendungssoftware auch nach einer explizit dafür freigegebenen Plattform.

Wer mit UEFI (Unified Extensible Firmware Interface) und anderen Sicherheitsfunktionen arbeiten möchte, wählt bei der Erstellung einer virtuellen Maschine hierzu die Generation 2 in Hyper-V aus. Das Zusammenspiel von Linux und UEFI setzt die Verknüpfung mit einem SecureBoot-Template und der VM voraus – dazu später mehr. Für den schnellen Test in nichtproduktiven Umgebungen ist die Generation 1 mit einem klassischen BIOS höchstwahrscheinlich die einfachste und schnellste Wahl.

Bewährte Methoden

Um den Einsatz von Linux-Distributionen für Hyper-V-Administratoren einfacher zu gestalten, hat Microsoft unter Microsoft Docs eine spezielle Seite Bewährte Methoden für die Ausführung von Linux unter Hyper-V eingerichtet (Best Practices for running Linux on Hyper-V).

Die Tippliste umfasst Themen wie die Verschlankung von VHDX-Dateien, PXE-Boot für Hyper-V-Maschinen der Generation-2 , die Verlängerung des Menü-Timeouts für GRUB, Hinweise zur Verwendung von statischen MAC-Adressen in Failover-Cluster-Umgebungen, die Nutzung von Hyper-V-spezifischen Netzwerkadaptern oder Tipps für bessere I/O-Werte (Input/Output) und die Verwendung von NUMA (Non-Uniform Memory Access).

Sicherer Linux-Betrieb

Eine der drei großen Verbesserungen des Windows Server 2019 in Bezug auf Hyper-V ist die erweiterte Unterstützung für Linux-Betriebssysteme. Ubuntu, Red Hat Enterprise Linux (RHEL) und SUSE Linux Enterprise Server (SLES) kann der Administrator ab dieser Version als so genannte abgeschirmte virtuelle Maschinen betreiben.

Abgeschirmte virtuelle Maschinen unter Hyper-V nutzen Zertifikate, um Datenträger zu signieren und Merkmale von TPM (Trusted Platform Module), um eine höhere Betriebssicherheit zu gewährleisten. Der Ursprung dieser Technik liegt in der Azure-Plattform, bei der Microsoft als Dienstanbieter die Mandantentrennung gewährleisten muss.

Diese technische Grundlage können sich Administratoren zu Nutze machen, um ihre Umgebungen hart voneinander zu trennen. Eine nachträgliche Aktivierung der Abschirmung mit Windows VMs unter Hyper-V ist möglich. Linux-basierte Systeme erfordern jedoch ein Neuaufsetzen, da sie von Beginn an auf den abgeschirmten Betrieb einzustellen sind.

Das Thema geschützte Fabric und abgeschirmte VMs ist äußerst weitreichend und Microsoft hat hierfür mehrere längere Artikel und exakte Konfigurationsanleitungen unter Microsoft Docs veröffentlicht. Ausgehend von den Anforderungen der Datenschutz-Grundverordnung (DSGVO) stellen die Autoren alle Sicherheitsfunktionen vor, unter anderem auch die zugehörigen Hinweise für den Betrieb von Linux.

Die grundlegende Unterstützung von Secure Boot für Ubuntu 14.04, SLES 12, RHEL 7 und CentOS 7 wurde schon mit Hyper-V auf dem Windows Server 2016 etabliert.

Abbildung 1: Ohne die passenden Einstellungen kann die virtuelle Maschine unter Hyper-V nicht starten.
Abbildung 1: Ohne die passenden Einstellungen kann die virtuelle Maschine unter Hyper-V nicht starten.

Vor dem Erststart der künftigen virtuellen Linux-Maschine muss dieser für die Verwendung der Microsoft UEFI-Zertifizierungsstelle konfiguriert werden. Das gelingt dem Administrator beispielsweise durch die Verwendung des PowerShell-Befehls

Set-VMFirmware {VM-NAME} -SecureBootTemplate MicrosoftUEFICertificateAuthority

mit erhöhten Rechten. Da dieses Kommando für jede virtueller Maschine auszuführen ist, ergibt sich eine zwingende Reihenfolge.

Zunächst die VM über den Hyper-V Manager oder den Virtual Machine Manager erzeugen, dabei die Generation 2 auswählen. Vor dem ersten Start das PowerShell-Kommando mit dem entsprechenden Namen absetzen und dann mit der eigentlichen Installation oder Inbetriebnahme fortfahren.

In einem Test mit dem derzeit recht beliebten MX-Linux funktionierte der Start ohne weitere Auffälligkeiten.

Abbildung 2: Ein wichtiges Optionshäkchen - nur wenn die Vorlage Microsoft UEFI-Zertifizierungsstelle gewählt ist, gelingt ein sicherer UEFI-Start der virtuellen Maschine unter Linux.
Abbildung 2: Ein wichtiges Optionshäkchen - nur wenn die Vorlage Microsoft UEFI-Zertifizierungsstelle gewählt ist, gelingt ein sicherer UEFI-Start der virtuellen Maschine unter Linux.

In unseren Tests war es unter Windows Server 2019 und der Verwendung von System Center Virtual Machine Manager 2019 (SCVMM) zudem möglich, über die grafische Oberfläche die Wahl der entsprechenden Vorlage für das sichere Starten durchzuführen.

 Abbildung 3. Mit dem System Center Virtual Machine Manager 2019 (SCVMM) können Administratoren auch Hyper-V 2016-Hostsysteme in den gesicherten UEFI-Betrieb für Linux bringen.
Abbildung 3. Mit dem System Center Virtual Machine Manager 2019 (SCVMM) können Administratoren auch Hyper-V 2016-Hostsysteme in den gesicherten UEFI-Betrieb für Linux bringen.

Auch im Zusammenspiel mit einem Hyper-V-Host 2016 funktionierte die Auswahl. Da aber Microsoft in seinen Microsoft Docs noch immer den Hinweis auf das PowerShell-Kommando enthält, entschieden wir uns, den Hinweis ebenfalls mit aufzunehmen.

Abbildung 4: Das in 2019 beliebte MX-Linux startet auch unter Hyper-V.
Abbildung 4: Das in 2019 beliebte MX-Linux startet auch unter Hyper-V.

Insgesamt ist die Verwendung der PowerShell-Kommandos für Hyper-V für Administratoren hochspannend, offenbart sich doch dort die komplette Leistungsfähigkeit in Bezug auf eine vollständige Automatisierung. Unabhängig von dem zu virtualisierenden System ist Hyper-V eine optimal ausgerüstete Plattform für den Produktiveinsatz.

Nächste Schritte

Tutorial: Linux mit Hyper-V virtualisieren

PowerCLI für die Automatisierung in VMware nutzen

Auch unter Linux können mit der PowerShell SQL-Server gesteuert werden

Erfahren Sie mehr über Server- und Desktop-Virtualisierung