Kurztipps: Nano-Server

5. Dezember 2016

Nachdem in der IT-Anfangszeit ausschließlich rein textbasierte Betriebssysteme verfügbar waren (etwa DOS), vollzog sich plötzlich der Wandel zu grafischen Benutzeroberflächen (GUI). Dies führte zu einer weitreichenden Verbreitung von Microsofts Betriebssystemen, sowohl im Consumer-Bereich (Windows-Clients), als auch auf der Server-Seite (Windows NT, Windows Server). Dabei stiegen der Platz- sowie der Leistungsbedarf immer weiter an. Aktuell setzen viele Systembetreuer, Unternehmen und Anbieter wieder auf „schlankere“ Server-Betriebssysteme, etwa um die Bereitstellungszeiten zu verkürzen, Ressourcen einzusparen und die allgemeine Performance zu erhöhen. Nach der Edition „Server Core“ (ohne GUI) wurde mit „Nano Server“ der Speicherplatzverbrauch nochmals verringert. Standardmäßig bietet diese Variante keine direkte Verwaltungskonsole (wie etwa einen „Servermanager“). Um diese „Kleinst-Server-Betriebssysteme“ zu verwalten, setzen die Systembetreuer somit komplett auf die Windows-Powershell (PS).

Bild Kurztipps Nano Server
Mit dem Cmdlet „New-NanoServerImage“ erzeugen die Systembetreuer die benötigten Nano-Instanzen aus vorgefertigten Abbilddateien.

Mit Hilfe der Powershell vereinfachen sich die Systembetreuer das Management und unterschiedliche Arbeiten in verschiedenen  Bereichen in der Unternehmens-IT. Oftmals ist es schneller und effizienter, ein Skript auszuführen, oder die entsprechenden Cmdlets in der Powershell aufzurufen, als in der GUI eine „Klickorgie“ zu veranstalten. Bei bestimmten Aufgaben kommen die Systembetreuer nicht um den Einsatz der Powershell herum: Etwa wenn es darum geht, Nano-Server bereitzustellen, zu konfigurieren oder zu warten. Denn ohne „eigene“ Installationsroutine (wie etwa bei Server Core) können die Systembetreuer das Nano-System nicht bereitstellen. Daher gilt es einige Tipps zu beachten:

Nano-Server „installieren“

In den ISO-Abbilddateien der aktuellen Server-Version (etwa Server 2016 Datacenter) befindet sich ein entsprechender Ordner mit der Bezeichnung „Nanoserver“. Hier sind die benötigten Daten untergebracht, um Nano-Server bereitzustellen. Hier sollten die Systembetreuer zunächst das passende PS-Modul importieren, etwa durch Eingabe des folgenden Cmdlets:

Import-Moule c:\NanoServer\Nanoservergenerator\Nanoservergenerator

Nun lassen sich mit den Cmdlets des frisch importieren PS-Modules die benötigten Befehle und Parameter für die Bereitstellung eines Nano-Servers einsetzen. Dazu wird das Cmdlet „New-NanoServerImage“ eingesetzt.

Domänenbeitritt

Bereits bei der Bereitstellung sollten sich die IT-Betreuer entsprechende Gedanken machen. Beispielsweise ist es ratsam, Nano-Server bei der Bereitstellung so zu konfigurieren, dass diese in der Unternehmens-Domäne (per Active Directory) direkt mit eingebunden werden.

New-NanoServerImage –Edition Standard –DeploymentTools Guest –Mediapath C:\Isos –Targetpath C:\NanoVms\nano-ad01.vhdx –ComputerName nSRV-2016-DC – DomainName nt4admins.local

Während der Ausführung des Befehls werden noch Anmeldedaten abgefragt (Administrator-Kennwort). Zudem müssen die Systembetreuer dieses Cmdlets auf einem System ausführen, dass sich bereits im AD der jeweiligen Domäne befindet.

Updates aufspielen

Auf GUI-Server können die Windows-Updates in der entsprechenden Schaltfläche gestartet werden, hierbei genügen wenige Klicks. Um auf einem Nano-Server nach den aktuell verfügbaren Updates zu suchen, können die Systembetreuer auf folgende Cmdlets in der Powershell zurückgreifen:

Enter-PSSession -ComputerName NanoVM

#Look for updates
$ci = New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperationsSession
$result = $ci | Invoke-CimMethod -MethodName ScanForUpdates -Arguments @{SearchCriteria="IsInstalled=0";OnlineScan=$true}
$result.Updates

#Install updates
Invoke-CimMethod -InputObject $ci -MethodName ApplyApplicableUpdates
Restart-Computer; exit

Enter-PSSession -ComputerName NanoVM
#View installed updates

$ci = New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperationsSession
$result = $ci | Invoke-CimMethod -MethodName ScanForUpdates -Arguments @{SearchCriteria="IsInstalled=1";OnlineScan=$true}

$result.Updates

Falls die Systembetreuer bereits über die einzelnen Updates verfügeb, etwa wenn diese einzeln von der entsprechenden Microsoft-Seite bezogen wurden, können diese etwa wie folgt aufgespielt werden:

$s = New-PSSession -ComputerName NanoVM
Copy-Item -ToSession $s -Path C:\ServicingPackages_cabs -Destination C:\ServicingPackages_cabs –Recurse

Enter-PSSession $s

Add-WindowsPackage -Online -PackagePath C:\ServicingPackages_cabs\Windows10.0-KB3200970-x64.cab
Restart-Computer; exit

Nano-Server-Vorlagen aktuell halten

Im Laufe der Zeit sammeln sich nicht nur bei „klassischen“ Serverinstallationen eine Menge an (Windows-) Updates an. Auch für die kleineren Core-Versionen und für die „minimalistischen“ Nano-Server stellt Microsoft in regelmäßigen Abständen entsprechende Updates und Hotfixes bereit. Diese können die Systembetreuer in die jeweiligen Installations-Images (im Format „WIM“) einfügen, damit diese Aktualisierungen bei zukünftigen Bereitstellungen automatisch enthalten sind. Dazu könnte etwa folgendes Cmdlet eingesetzt werden:

Import-module C:\NanoBuild\NanoServerImageGenerator.psm1

Edit-NanoServerImage -ServicingPackagePath ‚D:\NanoBuild\Updates\Windows10.0-KB12345-x64.cab‘ -TargetPath „D:\OS Images\Windows Server 2016 RTM\Expanded\NanoServer\NanoServer.wim“

Florian Huttenloher/ John Savill

Lesen Sie auch