Gorodenkoff - stock.adobe.com

Linux-Virtualisierung mit Microsoft Hyper-V

Microsoft unterstützt in Hyper-V schon länger Linux-VMs. Das gilt auch für Windows 10 und Windows Server 2019. Dieses Tutorial zeigt die Vorgehensweise.

Microsoft verbessert seit einigen Jahren die Zusammenarbeit von Windows und Linux. Auch die Virtualisierung von Linux mit Hyper-V wurde in den letzten Windows-Versionen deutlich verbessert. Windows Server 2019 bietet umfangreiche Möglichkeiten, Linux über virtuelle Maschinen auf Basis von Hyper-V zur Verfügung zu stellen.

Das gilt auch für Windows Server 2016. Wer auf den kostenlosen Hyper-V Server 2019 setzt, kann alle Funktionen aus Windows Server 2019 Datacenter für Linux verwenden.

Hierbei gibt es leistungsstarke Distributionen, die kostenlos zur Verfügung stehen, zum Beispiel CentOS als Alternative zu Red Hat Enterprise Linux (RHEL). Wird Hyper-V Server 2019 verwendet, können Administratoren ohne umfangreiche Kenntnisse Linux-VMs bereitstellen. Die Verwaltung erfolgt über die PowerShell, den Hyper-V Manager oder das Windows Admin Center.

Hinzu kommt die Möglichkeit, mit Containern in Windows Server 2019 zu arbeiten. Das funktioniert parallel zu Hyper-V und ermöglicht die Bereitstellung von Linux-Containern in Windows Server 2017 sowie die Verwaltung über Kubernetes. Linux-VMs und -Container lassen sich mit Docker einfacher parallel einsetzen, so dass Administratoren und Entwickler einfacher in hybriden Umgebungen arbeiten können.

Abbildung 1: In Hyper-V können Produktionsprüfpunkte gesetzt werden, wenn Linux zum Einsatz kommt.
Abbildung 1: In Hyper-V können Produktionsprüfpunkte gesetzt werden, wenn Linux zum Einsatz kommt.

Linux-VMs mit Hyper-V betreiben

Wer eine virtuelle Maschine (VM) mit Hyper-V installiert, kann eine virtuelle Linux-Version in Windows 10, Windows Server 2016/2019 und in Hyper-V Server 2016/2019 einbinden. Auch ältere Windows-Versionen unterstützen Linux, allerdings nicht so umfangreich wie die aktuellen Versionen. Mit Windows Server 2019 lassen sich zum Beispiel Linux-Server als Generation 2 VM betreiben.

Abbildung 2: Linux-VMs können auch als Generation 2 VMs erstellt werden.
Abbildung 2: Linux-VMs können auch als Generation 2 VMs erstellt werden.

Das verbessert die Leistung, zum Beispiel durch paravirtualisierte SCSI-Controller und mehr Einstellungsoptionen. Die Produktionsprüfpunkte, bei denen das virtuelle Betriebssystem in die Erstellung von Snapshots eingebunden wird, lassen sich ebenfalls mit Linux nutzen. Das bietet Linux-VMs die Möglichkeit, über UEFI zu booten und die Secure-Boot-Funktion zu nutzen. Hierfür muss man Ubuntu ab Version 14.04 oder SUSE Linux Enterprise Server ab Version 12 einsetzen. Diese Systeme sind automatisch für Secure Boot aktiviert.

Abbildung 3: Linux-VMs können den dynamischen Arbeitsspeicher von Hyper-V nutzen.
Abbildung 3: Linux-VMs können den dynamischen Arbeitsspeicher von Hyper-V nutzen.

Windows Server 2019 und Hyper-V Server 2019 können Shielded VMs auch mit Linux bereitstellen. In Windows Server 2016 lassen sich verschlüsselte VMs nur mit Windows Server 2016 einsetzen.

Der dynamische Arbeitsspeicher in Hyper-V kann ebenfalls für Linux-Sever verwendet werden. Ob das sinnvoll ist, muss im Einzelfall überprüft werden. Wer die Linux Integration Services in der aktuellen Version installiert, kann in Linux-VMs auch mit VLAN arbeiten.

VMs für Linux erstellen

Der Vorteil bei der Erstellung einer VM für Linux besteht zunächst darin, dass bei der eigentlichen Erstellung kein Unterschied gemacht wird, ob es sich bei der erstellten VM um eine Linux-VM oder eine Windows-VM handelt.

Wenn eine virtuelle Festplatte für eine Linux-VM erstellt wird, kann es sinnvoll sein, die Blockgröße auf 1 MB zu setzen, zum Beispiel mit folgendem Befehl:

New-VHD -Path C:\MyVHDs\test.vhdx -SizeBytes 127GB -Dynamic -BlockSizeBytes 1MB

Dadurch wird der Speicherplatzbedarf eingespart. Microsoft empfiehlt den Einsatz von Ext4 und einer Group-Größe von 4096:

mkfs.ext4 -G 4096 /dev/sdX1

Die Installation wird häufig über eine als ISO-Datei verbundene DVD ausgeführt. Anschließend steht Linux in der VM genauso zur Verfügung wie eine Windows-VM. Die Verwaltung erfolgt entweder über das Konsolenfenster in Hyper-V, oder es werden Tools wie Putty zur Anbindung genutzt.

Abbildung 4: Die Verwaltung der Linux-VMs kann über den Hyper-V-Manager oder andere Tools erfolgen.
Abbildung 4: Die Verwaltung der Linux-VMs kann über den Hyper-V-Manager oder andere Tools erfolgen.

Generation 2 VMs für Linux einsetzen

Wer eine Generation 2 VM für Linux verwendet und auf den Bootmanager GRUB setzt, sollte das Timeout auf mindestens 5 setzen, da ansonsten zu schnell gestartet wird, und das Menü nicht erscheint.

Bei Generation 2 VMs kann es zu Problemen kommen, wenn auf PXE-Boot gesetzt wird. Mehr dazu findet man im Red-Hat-Kundenportal unter dem Punkt 30.2.2. CONFIGURING PXE BOOT FOR EFI. Auch Microsoft geht in seiner Dokumentation unter Best Practices for running Linux on Hyper-V auf dieses und ähnliche Probleme ein.

Abbildung 5: Linux-VMs unterstützen den sicheren Systemstart in Hyper-V.
Abbildung 5: Linux-VMs unterstützen den sicheren Systemstart in Hyper-V.

Wer den sicheren Systemstart nutzt, kann als Vorlage die Option Microsoft UEFI-Zertifizierungstelle verwenden.

Sobald Linux installiert ist, kann der virtuelle Server wie ein physischer Server verwaltet und verwendet werden. Die Einstellungen der VM lassen sich genauso flexibel anpassen, wie bei virtuellen Windows-Computern.

Linux aktualisieren

Die Einrichtung von Ubuntu entspricht der Konfiguration eines herkömmlichen Servers. Dazu werden zuerst die Paketquellen aktualisiert:

apt-get update

Danach findet eine Aktualisierung statt:

apt-get upgrade

apt-get dist-upgrade

Nach dem Neustart sollte die VM funktionieren. Grundsätzlich ist es sinnvoll, Erweiterungen für Linux zu installieren:

apt-get update

apt-get install --install-recommends linux-virtual

apt-get install linux-tools-virtual linux-cloud-tools-virtual

Abbildung 6: Linux für den Betrieb als VM vorbereiten.
Abbildung 6: Linux für den Betrieb als VM vorbereiten.

Nach den Aktualisierungen muss der Server neu gestartet werden. Um zu überprüfen, ob die Hyper-V-Integrationsdienste installiert sind, kann man im Terminal mit dem Befehl lsmod überprüfen, ob die Module hv_storvsc, hv_netsvc, hv_utils und hv_vmbus vorhanden sind. Sind die Dienste nicht verfügbar, muss die folgende Datei mit nano bearbeitet werden:

nano /etc/initramfs-tools/modules

Hier werden die folgenden Module hinzugefügt:

hv_vmbus

hv_storvsc

hv_blkvsc

hv_netvsc

Danach werden die Einstellungen aktualisiert und der Server neu gestartet:

update-initramfs -u

reboot

Nächste Schritte

Wie wirkt sich Linux Secure Boot auf Hyper-V 2016 VMs aus?

Tipps zum Erstellen von Linux-VMs auf Hyper-V.

Installation und Verifizierung der Linux Integration Services für Hyper-V.

Erfahren Sie mehr über Server- und Desktop-Virtualisierung

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close