Unter dem Motto „Betriebssystem für die Cloud“ hat Microsoft den Windows Server 2016 (WS 2016) um zahlreiche Funktionen ergänzt, die Microsofts Anspruch als Lieferant von Basistechnologien für Cloud-Infrastrukturen untermauern sollen. Wir haben sie bereits im Überblick vorgestellt (LANline 3/2017, S.14ff.). Mit dieser Ausgabe beginnt eine LANline-Testreihe, die sich detailliert mit den interessantesten Neuerungen auseinandersetzt. Den Auftakt machen der Nano-Server und die in WS 2016 integrierten Container-Technologien.

Mit dem Nano-Server hat Microsoft eine Version des WS 2016 entwickelt, die nur sehr wenige Ressourcen benötigt: Die Basisinstallation kommt mit gut 500 MByte Plattenplatz und etwa 300 MByte RAM aus. Das stark verschlankte Betriebssystem bootet innerhalb von zehn Sekunden. Ein Core-Server benötigt hierfür etwa eineinhalb Minuten, die GUI-Variante noch länger.

Einen Hyper-V-Container bereitstellen können ein Hyper-V-Host oder eine Hyper-V-VM, die auf einem physischen Host läuft.

Der Nano-Server unterstützt ausschließlich 64-Bit-Anwendungen, lässt sich nicht als Active-Directory-Domänencontroller einsetzen und unterstützt keine Gruppenrichtlinien. Die Powershell weist ebenfalls einige Einschränkungen auf: Bislang lassen sich Nano-Server nicht mit dem SCCM (System Center Configuration Manager) und Data Protection Manager verwalten. Eine Internet-Proxy-Funktion oder NIC-Teaming für Failover und Load Balancing unterstützt der Nano-Server ebenfalls nicht.

Microsoft positioniert den Nano-Server, der sowohl auf Hardware als auch in VMs laufen kann, als schlanke OS-Variante für Hyper-V-Cluster und Web-Server-Farmen. Der Nano-Server eignet sich zudem als Host-System für die Bereitstellung von Containern, weitere Einsatzszenarien sind Scale-out-File-Cluster oder DNS-Server. Microsoft bietet den Nano-Server analog zum WS 2016 als Standard- und als Datacenter-Edition an. Voraussetzung für seine Nutzung ist ein Software-Assurance-Vertrag.

Aufgrund des schlankeren Betriebssystems bietet er deutlich weniger Angriffsfläche als die Vollversion des WS 2016. Zudem sind weniger Security-Patches zu installieren, was die Zahl der durch Updates erforderlichen Reboots reduziert.

Die lokale Konsole des Nano-Servers beschränkt sich auf ein einfaches Textmenü für die IP- und Firewall-Konfiguration.

Eine Core-Version des Server-Betriebssystems hatte Microsoft bereits mit WS 2008 eingeführt. Die Core-Variante verzichtet auf eine grafische Management-Oberfläche, verfügt aber über eine lokal nutzbare Kommandozeile und lässt sich mithilfe grafischer Tools aus der Ferne verwalten. Der Nano-Server dagegen bietet lokal lediglich ein Textmenü für die grundlegende IP- und Firewall-Konfiguration, eine lokale Kommandozeile gibt es nicht. Das Remote-Management erfolgt per Powershell oder Kommandozeile. Microsofts Azure-Plattform bietet zudem neue Web-basierte Tools für das Remote-Server-Management, mit denen sich Nano-Server auch über eine GUI verwalten lassen.

Installation eines virtuellen Nano-Servers

Der Nano-Server ist nicht als MSI-Paket erhältlich, sondern verfügt über eine eigene Installationsroutine, die per Powershell ausgeführt wird. Die WS-2016-DVD enthält eine 133 MByte große Image-Vorlage NanoServer.wim. Der Administrator passt diese Vorlage mit dem ebenfalls auf der DVD mitgelieferten Tool namens „Nano Server Image Generator“ an. Es erzeugt angepasste Images im VHD-, VHDX- oder ISO-Format und kann auch bootfähige USB-Medien erstellen. Mit dem Tool lassen sich darüber hinaus unter anderem Server-Rollen oder Gerätetreiber hinzufügen und der Offline-Beitritt zu einer Windows-Domäne durchführen.

Für den LANline-Test erzeugten wir auf unserem physischen WS-2016-Hyper-V-Server zunächst VHDX-Dateien für zwei virtuelle Nano-Server. Hierfür importierten wir in einer Powershell-Session das Modul NanoServerImageGenerator. Anschließend führten wir das Cmdlet New-NanoServerImage mit den folgenden Befehlsoptionen aus:

New-NanoServerImage -DeploymentType Guest -Edition Datacenter -MediaPath D:\ -BasePath .\Base -TargetPath .\NanoServer01.vhdx -ComputerName Nanoserver01 -DomainName w2016dom -EnableRemoteManagementPort

Die so erzeugte VHDX-Datei konnten wir anschließend im Hyper-V-Manager einer neu angelegten VM zuweisen, die damit zu einem Nano-Server wurde. Durch die Option -DomainName legte das Tool in der Windows-Domäne ein Computerkonto für den neuen Nano-Server an.

Nano-Server auf Hardware bereitstellen

Der Nano-Server lässt sich auch direkt auf einem Hardware-Server installieren, zum Beispiel um Hyper-V-Cluster oder Web-Server-Farmen mit einem schmalen OS-Footprint zu betreiben. Hier kommt ebenfalls das Cmdlet New-NanoServerImage zum Einsatz, als -DeploymentType wählt man aber „Host“ und gibt als -TargetPath das Verzeichnis mit der Nano-Server-Image-Datei an.

Die vom Cmdlet erzeugt WIM-Datei lässt sich nun direkt auf der Festplatte des Servers einspielen. Für den LANline-Test booteten wir hierfür einen Dell-Server mit einer Windows-PE-Recovery-DVD. Die WIM-Datei hatten wir auf einen USB-Stick kopiert, den wir vor dem Hochfahren ansteckten. Mit dem Windows-Tool diskpart.exe richteten wir dann auf der Festplatte die vom Nano-Server benötigten Partitionen ein und kopierten mit dem Kommandozeilenwerkzeug dism.exe die WIM-Datei auf die Harddisk. Vor dem abschließenden Reboot entfernten wir die Recovery-DVD und den USB-Stick. Dann starteten wir den Server, der seine Dienste nun als Nano-Server bereitstellte.

Bei dem Aufsetzen von Nano-Servern lässt sich das Computerkonto in der Windows-Domäne offline erstellen.

Wenn ein Windows-Deployment-Server vorhanden ist, lassen sich Nano-Server auch damit per VHDX- oder WIM-Datei installieren. Ein Setup über einen entsprechend vorbereiteten USB-Stick ist ebenfalls möglich. Für Massen-Rollouts können Administratoren zudem die Powershell DSC (Desired State Configuration) nutzen, um die Server-Konfigurationsdaten an einer zentralen Stelle im Netz abzulegen. Die Nano-Server werden dann so konfiguriert, dass sie sich diese Daten beim Setup automatisch abholen.

Der Administrator kann sowohl bei virtuellen als auch bei physischen Servern Windows-Funktionen nachträglich hinzufügen und auch die Image-Konfiguration anpassen. Die derzeit für Nano-Server nutzbaren Funktionen sind an den Paketen zu erkennen, die auf der WS-2016-DVD im NanoServer-Verzeichnis enthalten sind. Die vorhandenen Image-Dateien lassen sich mit den Cmdlets Edit-NanoServerImage und New-NanoServerImage bearbeiten. Die zu ändernden Image- oder VHDX-Dateien dürfen dabei nicht im Zugriff von Hyper-V oder anderen Prozessen sein.

Fernverwaltung

Das Standardwerkzeug für die Verwaltung von Nano-Servern ist die Powershell. Mit ihr lassen sich alle Management-Aufgaben remote erledigen. WS 2016 bietet mit Powershell Direct eine zusätzliche Option, die auf Servern mit aktivierter Hyper-V-Rolle zur Verfügung steht. Damit lassen sich auf Hyper-V-Servern Powershell-Kommandos direkt in den Windows-VMs ausführen, die auf dem jeweiligen Host laufen. Eine Fernverwaltung ist zudem über die Win-RM-Funktionen (Windows Remote Management) möglich, die sich über Powershell oder die klassische Kommandozeile nutzen lassen.

In größeren Umgebungen empfiehlt es sich, Nano-Server per SCVMM (System Center Virtual Machine Manager) zu verwalten. Dazu muss der Administrator die auf der Server-DVD enthaltenen SCVMM-Packages in das Image integrieren.

Windows-Container

Um Windows Server 2016 fit für die Cloud zu machen, unterstützt Microsoft nun auch Containertechnik, die auf dem De-Facto-Standard Docker basiert. So lassen sich mit WS 2016 Docker-kompatible Container auf Windows-Hosts (physisch oder virtuell) wie auch auf Linux-VMs betreiben.

Beim Standard-Docker-Konzept läuft jeder Container als gekapselte Applikation auf dem Host, alle Container nutzen dabei dieselbe Betriebssystemumgebung. Microsoft hat mit den Hyper-V-Containern eine zweite Variante entwickelt, bei der die Container in einer stark abgespeckten VM laufen. Jede VM verfügt über ihren eigenen Windows-Kernel, sodass die gegenseitige Isolierung deutlich stärker ist als bei Standardcontainern. Für Container entwickelte Applikationen sind mit beiden Typen kompatibel und lassen sich ohne Änderungen zwischen Windows-Server- und Hyper-V-Containern migrieren.

Windows-Server-Container laufen direkt auf dem Host, Hyper-V-Container hingegen in einer optimierten VM mit eigenem OS-Kernel. Bild: 4sysops.com

Die Verwaltung der Container erfolgt mithilfe der Docker Runtime Engine und zugehöriger Management-Werkzeuge. Zudem besitzt die Powershell einen Befehlssatz für die Containerverwaltung, der sich als Alternative zu Docker-Tools nutzen lässt. Windows-Server-Container können bereits mit der Standard Edition in beliebigen Stückzahlen zum Einsatz kommen. Die Hyper-V-Container sind auf zwei Instanzen pro Host beschränkt, da es sich hier um VMs handelt. Für eine unbegrenzte Nutzung ist die Datacenter Edition nötig.

Aktiviert wird der Container-Support mit dem Powershell-Befehl Install-WindowsFeature containers, anschließend ist ein Reboot erforderlich. Zudem muss der Administrator auf dem Server die Docker Engine installieren. Wenn eine Internetverbindung besteht, lässt sich die Engine direkt laden. Nachdem wir Docker als Windows-Dienst eingerichtet hatten, konnten wir mit den Docker-Kommandos einen Windows-Server-Container erstellen.

Für einen Hyper-V-Container muss auf dem Host die Hyper-V-Rolle installiert sein. Dann lassen sich mit dem Docker-Tool Hyper-V-Container erstellen. WS 2016 unterstützt zudem die Funktion Nested Virtualization.

Hierfür erzeugt der Administrator auf einem Hyper-V-Host eine WS-2016-VM und fügt ihr die Rollen Hyper-V und Containers hinzu. Auf dem physischen Hyper-V-Host sind bei ausgeschalteter VM folgende Befehle auszuführen:

Set-VMProcessor -VMName -ExposeVirtualizationExtensions 1
Get-VMNetworkAdapter -VMName | Set-VMNetworkAdapter -MacAddressSpoofing On

Nun lässt sich die VM als Host für Hyper-V-Container konfigurieren.

Neben der erwähnten Verwaltung der Container mit den Docker-Tools und per Powershell unterstützt WS 2016 für komplexere Anwendungen auch Docker Swarm. Eine Integration in die Container-Management-Frameworks DCOS von Mesosphere und Googles Kubernetes ist ebenfalls möglich.

Fazit

Mit dem Windows Server 2016 Nano-Server bietet Microsoft ein im Vergleich zum Core-Server stark verschlanktes Betriebssystem an, das sich insbesondere für die Bereitstellung von Hyper-V- und Web-Server-Infrastrukturen sowie als Plattform für Container eignet. Dass die Verwaltung des Nano-Servers allein über Remote-Management-Tools möglich ist, dürfte größere Unternehmen nicht daran hindern, die neue OS-Variante einzusetzen. Mittels Powershell Desired State Configuration lassen sich auch größere Server-Zahlen schnell automatisiert bereitstellen und dank SCVMM-Integration zentral verwalten.

Microsoft hat die vom Open-Source-Projekt Docker entwickelte Containertechnik ebenso integriert wie die vom kommerziellen Ableger Docker bereitgestellten Management-Tools. Dies zeigt, wie wichtig es für Microsoft ist, mit der Windows-Server-Plattform in diesem stark wachsenden Marktsegment vertreten zu sein. Der Anwender hat dabei die Wahl zwischen Standard-Containern und besser abgeschotteten Hyper-V-Containern, wobei die gekapselten Containeranwendungen ohne Änderungen in beiden Umgebungen laufen.

Für Linux programmierte Docker-Container lassen sich von Linux-VMs bereitstellen, die auf der Hyper-V-Plattform laufen. Microsoft hat damit eine gute Basis geschaffen, mit der eine IT-Organisation Container flexibel einsetzen und zwischen verschiedenen Plattformen verschieben kann.

Firmen-Info
Info: Microsoft

Tel.: 089/31764900

Web: www.microsoft.com/de-de/cloud-platform/windows-server

Christoph Lange.