Microsoft Nano Server: kleine gigant

Geplaatst op: 11-02-2016 door Eddy De Silva De Freitas

Met de introductie van Windows server 2016 heeft Microsoft een nieuwe variant van Windows geïntroduceerd: Nano Server. Dit is een Windows versie waar alleen de benodigde software op draait voor de functie die men wil gaan gebruiken. Hierdoor wordt de footprint een stuk kleiner. Zo is Nano Server Out-Of- the-Box  iets meer dan 400 MB in vergelijking met Full Server die na installatie al rond 9 GB is.

Met Nano Server wil Microsoft de IT pro’s tegemoet komen met de vraag die er al jaren is: minder reboots, minder patches, minder schijfruimte voor OS, snellere boot tijd. Microsoft probeert met Nano Servers hier zo veel mogelijk aan te voldoen.

Zie het bekende plaatje van Microsoft wat ze verwachten van Nano Server.

In dit artikel beschrijf ik kort de installatieprocedure en het beheer van Nano Server.

Installatie Nano Server

Nano Server wordt niet op de traditionele manier geïnstalleerd (next/next/finish). De installatie bits en bytes staan wel op de ISO van 2016 TP. Op moment is TP4 beschikbaar. Om Nano server te installeren moet je een VHD maken door middel van Powershell scripts die meegeleverd zijn.

Ik maak in mijn lab gebruik van Hyper-V omgeving wat het een stuk eenvoudiger maakt om Nano servers te maken.

 Op de ISO van de Windows Server 2016 Technical Preview 4 staat een folder NanoServer. Kopieer uit deze folder de volgende bestanden:

  • NanoServerImageGenerator.psm1
  • Convert-WindowsImage.ps1

Start powershell als administrator en zorgt dat je pad verwijzing is waar je bestanden staan. Het beste is om gebruik te maken van de Powershell ISE of als je een andere powershell IDE gebruikt deze te gebruiken.

Als eerste ga je met NanoServerImageGenerator.psm1 aantal functies inladen.

  1. Import-Module .\NanoServerImageGenerator.psm1 -verbose

Resultaat is gelijk te zien door de optie -verbose

VERBOSE: Loading module from path 'F:\Software\Nano_server\NanoServerImageGenerator.psm1'.

VERBOSE: Importing function 'Edit-NanoServerImage'.

VERBOSE: Importing function 'Get-NanoServerPackages'.

VERBOSE: Importing function 'New-NanoServerImage'.

Voor het maken van VHD is het van belang voor de eerste keer dat je een kopie hebt van ISO Windows Server 2016 of dat je deze gekoppeld hebt in Windows. Met volgende commando kan je je eerste Nano Server maken.

  1. New-NanoServerImage -MediaPath <pad ISO> \ -BasePath .\Base -TargetPath .\NanoServer\<Naam VHD> -ComputerName <naam nanoserver> -Language en-us
  • Mediapath verwijst naar de Windows Server ISO waar het gebruik van maakt.
  • BasPath is de folder waar vervolgens de basis vhd en tools en source komen te staan en je geen gebruik meer hoeft te maken van MediaPath, laat deze folder in zelfde folder komen als waar scripts staan.
  • TargethPath is locatie waar de te gebruiken vhd komt te staan je zou deze ook gelijk kunnen verwijzen naar je vhd repository. Geef je VHD een Naam en met de extensie kun je aangeven of je VHD of VHDX wil denk aan Generatie 1 of Generatie 2 VM als je virtuele Nano Servers gaat gebruiken.
  • ComputerName naam van de Nano Server

Language spreekt voor zich gaat om taal instellingen als je pc en-us staat zou je weg kunnen laten anders moet je het erbij zetten aangezien in de technical preview alleen en-us aanwezig is

Na het uitvoeren van dit commando zal het als eerste de vraag worden gesteld om een administrator wachtwoord op te geven dit is de local Administrator wachtwoord waarmee je kunt inloggen.

De eerste keer zal wat langer duren omdat er een basis VHD wordt gemaakt waar het later gebruikt van maakt om meer Nano Servers te maken. Als het klaar is zal je volgende zien ook staat er een locatie voor log file.

PS F:\Software\Nano_server> New-NanoServerImage -MediaPath h:\ -BasePath .\Base -TargetPath .\NanoServerVM\NanoServerVM.vhdx -ComputerName test01 -GuestDriver -Language en-us

cmdlet New-NanoServerImage at command pipeline position 1

Supply values for the following parameters:

 

Windows(R) Image to Virtual Hard Disk Converter for Windows(R) 10

Copyright (C) Microsoft Corporation.  All rights reserved.

Version 10.0.10586.0.amd64fre.th2_release.151029-1700

 

INFO   : Looking for the requested Windows image in the WIM file

INFO   : Image 1 selected (ServerTuva)...

INFO   : Creating sparse disk...

INFO   : Attaching VHDX...

INFO   : Initializing disk...

INFO   : Creating EFI system partition...

INFO   : Formatting system volume...

INFO   : Setting system partition as ESP...

INFO   : Creating MSR partition...

INFO   : Creating windows partition...

INFO   : Formatting windows volume...

INFO   : Windows path (J:) has been assigned.

INFO   : System volume location: I:

INFO   : Applying image to VHDX. This could take a while...

INFO   : Image was applied successfully.

INFO   : Making image bootable...

INFO   : Drive is bootable.  Cleaning up...

INFO   : Closing VHDX...

INFO   : Closing Windows image...

INFO   : Done.

Je hebt nu een basis vhd (zie de base folder) en een vhd (zie target folder) die je gelijk zou kunnen koppelen in Hyper-V en starten.

Je krijgt niet meer te zien dan een inlog scherm en als je inlogt de recovery console. Je kan wat netwerkinstellingen aanpassen en wat firewall poorten openen of dicht zetten.

Je kan nu makkelijk meerdere Nano servers maken hier een voorbeeld van simpel script waar ik 4 file servers maak voor een test lab waar ik mee bezig ben. Door deze script te gebruiken worden 4 Nano server VHDX gemaakt en de VHDX's gelijk gekoppeld aan 4 VM's die worden aangemaakt in hyper-v, die gelijk klaar staan om te starten.   

 

  1. $SecurePassword = Read-Host -Prompt "Enter password" -AsSecureString
  2. $VMs = @('vFServerst01','vFServerst02','vFServerst03','vFServerst04')
  3. foreach ($VM in $VMs)
  4. {
  5. New-NanoServerImage -TargetPath .\NanoServerVM\$VM.vhdx -ComputerName $VM -Storage -AdministratorPassword $SecurePassword -GuestDrivers -Clustering -Language en-us
  6. Copy-Item .\NanoServerVM\$vm.vhdx E:\Hyper-V\VHD
  7. New-VM –Name $VM -Generation 2 –MemoryStartupBytes 1024MB -VHDPath E:\Hyper-V\VHD\$vm.vhdx -SwitchName (Get-VMSwitch | where-object {$_.switchtype -eq 'External'}).Name
  8. }
  9.  

Packages Nano Server

Nano Server kent geen Roles and Features zoals we ze kennen in de laatste versies van Windows Server. Nano Server werkt met Packages. Doormiddel van deze packages kan je de functionaliteit voor je Nano Server meegeven. Van TP3 naar TP4 zijn er aantal packages erbij maar je kan nog niet alle rollen wat je op Full server of Core server kan installeren gebruiken op Nano Server.

Voor alle beschikbare packages en uitleg kan je naar Technet gaan.

Beheer

Het beheer van Nano server gebeurt remote, zoals je hebt gezien kan je zelf weinig  doen op Nano Server. Je zult vanaf een client of full server installatie remote management moeten uitvoeren via remote powershell of management consoles. Als je virtuele Nano Servers hebt kan je vanuit de host ook met Direct powershell connectie maken, dit is ook een nieuwe functionaliteit in Windows Server 2016 let wel op dat je VM naam gebruikt zoals het in je hyper-v manager console staat en niet de host naam van de Nano Server.

  1. Enter-PSSession -vmname <vmnaam>

Als je Nano Server vanuit een workgroup  remote gaat beheren moet je de trustedhosts list  aanpassen op de machine waar je vanuit het beheer gaat doen. Dit kan je met powershell makkelijk aanpassen.

Het isntellen van welke machine vertrouwd moet worden met * geef je aan alle machines in lab omgeving thuis wel makkelijk maar je kan ook host namen opgeven comma-seperated

  1. Set-Item WSMan:\localhost\Client\TrustedHosts -value "*"

Een overzicht van welke hosts op de lijst staan

  1. Get-Item WSMan:\localhost\Client\TrustedHosts

En om lijst weer op te schonen.

  1. Clear-Item WSMan:\localhost\client\Trustedhosts

Bij set en clear krijg je vraag om te bevestigen of je het wilt uitvoeren. Als je dit wilt omzeilen kun je gebruik maken van parameter -force.

Ook moet je firewall poorten open zetten. Ik heb voor gemak firewall uitgezet wat in een productie omgeving natuurlijk nooit de bedoeling is, maar je kan via powershell direct netsh firewall poorten instellen die je nodig hebt of via Recovery Console naar Firewall gaan.

Conclusie

Nano Server is een Windows Server variant met een kleine footprint die redelijk makkelijk te installeren is en te beheren is. Ik verwacht er veel van en ga er zeker nog veel meer mee testen. Ik houd jullie op de hoogte!

Nieuwsbrief Aanmelden

Meld je aan voor onze nieuwsbrief en blijf op de hoogte van de laatste trends en events.