WS2016: Instalace NANO Serveru
V minulém článku jsme si představili Nano Server, nový způsob, jak provozovat Windows Server 2016. Dnes se podíváme na to, jak Nano Server nainstalovat.
Existují dva základní způsoby, jak vyrobit image Nano Serveru – pomocí příkazu New-NanoServerImage a nebo pomocí Nano Server Image Builderu.
New-NanoServerImage
Při vydání Windows Serveru 2016 RTM byla toto jediná cesta, jak Nano Server vyrobit. Jedná se o příkaz, který je součástí PowerShell modulu a ten najdete na instalačním médiu v adresáři NanoServer/NanoServerImageGenerator. Pomocí následujícího příkazu si PS modul naimportujete (disk E je jednotka s vloženým instalačním DVD):
Import-Module E:\NanoServer\NanoServerImageGenerator\NanoServerImageGenerator.psm1 -Verbose
Z výpisu je patrné, že součástí modulu byly tři příkazy: New-NanoServerImage, Edit-NanoServerImage a Get-NanoServerPackage. Jednotlivé příkazy asi netřeba představovat. Zaměříme se teď konkrétně na New-NanoServerImage. Kompletní syntaxi naleznete zde. Já zde uvedu několik příkladů, jak lze image Nano Serveru vytvořit:
#Základní Nano Server připravený pro běh ve VM New-NanoServerImage -MediaPath E:\ -BasePath C:\NANO1\Base -TargetPath C:\NANO1\NANO1.vhdx -ComputerName NANO1 -DeploymentType Guest -Edition Datacenter #Přidáme parametr Compute (Nano Server bude umět Hyper-V roli) a změníme typ Deploymentu na hodnotu Host New-NanoServerImage -MediaPath E:\ -BasePath C:\NANO1\Base -TargetPath C:\NANO1\NANO1.vhdx -ComputerName NANO1 -DeploymentType Host -Compute #Přidáme parametr DomainName pro připojení image Nano Serveru do domény New-NanoServerImage -MediaPath E:\ -BasePath C:\NANO1\Base -TargetPath C:\NANO1\NANO1.vhdx -ComputerName NANO1 -DeploymentType Guest -DomainName GOPAS.local
V těchto příkazech jsme použili jen pár nejzákladnějších parametrů. Popsal bych některé z nich a připojil pár zajímavých, které jsme nepoužili:
- MediaPath: Definuje cestu k instalačnímu DVD.
- BasePath: Pracovní adresář při vytváření image.
- TargetPath: Definuje cestu, kde se má vytvořit image.
- AdministratorPassword: Heslo lokálního účtu Administrator.
- MaxSize: Velikost VHD(x) disku, pokud jej nespecifikujete, vyrobí de VHD(x) soubor jen cca 4 GB velký. To je na provoz Nano Serveru dost, ale při aktualizacích by místo nestačilo a bylo by třeba disk zvětšovat.
- DeploymentType: Tvorba image pro nasazení do VM nebo na železo. Podle toho se do image přidávají ovladače.
- DomainName: Možnost image už během vytváření připojit do AD domény. PC, na kterém image vyrábíte, musí být domain-member a uživatel, pod kterým image vyrábíte musí mít oprávnění připojit PC do domény.
- DomainBlobPath: Pokud vyrábíte image Nano Serveru ze stroje, který není členem domény nebo nevidí na Domain Controller, můžete pro připojení do domény použít Offline Domain Join. To předpokládá, že si dopředu vyrobíte Blob soubor pomocí příkazu Djoin.exe /Provision. Použití tohoto parametru se vylučuje s parametrem ComputerName, protože název budoucího Nano Serveru je už definován v Blob souboru.
- IPv4Address, IPv4SubnetMask, IPv4Gateway, IPv4DNS: Předkonfigurace síťové karty. Podobné parametry existují i pro IPv6.
- Compute, Containers, Storage, Defender atp: Specifikuje balíčky (role a funkce), které se do image mají importovat.
Nano Server Image Builder (NSIB)
Jednoduše – jedná se o GUI na tvorbu Nano Server image, které na pozadí stejně nakonec zavolá příkaz New-NanoServerImage. Je to ale více user-friendly způsob, díky němuž nemusíte tolik studovat všechny možné parametry, protože GUI vám dá na výběr. Prerekvizitou pro jeho použití je nainstalovaný Windows ADK (odkaz ke stažení zde) a to kvůli WinPE. NSIB totiž umí vytvořit nejenom VHD(x) image, ze kterého pak budete bootovat VM nebo fyzický server, ale umí vyrobit i bootovací USB klíč, pomocí kterého Nano Server nainstalujete na železný server. Jen pro jistotu – nejedná se o USB klíč, ze kterého by přímo Nano Server startoval, ale o bootovací instalační USB medium. NSIB je ke stažení zde.
Použití NSIB je intuitivní, níže tedy screenshoty z jednotlivých kroků:
[gmedia id=3]
Komentář k některým zajímavým krokům NSIB:
- Join domain: Stejně jako u tvorby image pomocí New-NanoServerImage platí, že buď musíte mít PC v doméně a vidět na Domain Controller nebo vytvářený image do domény připojit pomocí Offline Domain Join a tedy mít k dispozici dopředu vygenerovaný Blob soubor.
- Network: Zde můžete mimo jiné přednastavit IP adresu, masku atp. Kámen úrazu ale je, že konfigurace je navázána na Network interface index. To je číslo, které je identifikátorem konkrétního síťového adaptéru. Ale to číslo dopředu s největší pravděpodobností neznáte. Schválně si zkuste vylistovat všechny síťovky pomocí příkazu Get-NetAdapter a podívat se do sloupce ifIndex. I ve VM s jedinou síťovkou je index někdy 3, někdy 4 atp. V budoucnu by údajně měla být konfigurace TCPIP v NSIB navázána na MAC adresu.
- Servicing packages: Tento krok uvidíte jedině v rozšířené části průvodce NSIB. Jde o možnost integrovat do vytvářeného image Nano Serveru např. aktualizace, protože výchozí image Nano Serveru (NanoServer.wim) je vlastně ekvivalentem RTM verze. O dalších způsobech jak aktualizovat Nano Server, si povíme v jiném článku.
- Embed files, scripts or binaries: Možnost doimportovat do image soubory, skripty atp.
- Remote options: Do Nano Serveru se dá připojit jen pomocí Recovery Console nebo vzdáleného PowerShellu. RDP tedy není možné. Zde existuje možnost povolit ještě Emergency Management Services (EMS), kdy se dá k Nano Serveru připojit přes sériový port.
- Debugging: Povolení a konfigurace ladících metod pro vývojáře.
Předposledním krokem průvodce je sumarizace všech nastavení a posledním krokem je vlastní průběh buildu. Zároveň je zde vidět syntaxe, jakou NSIB používá pro příkaz New-NanoServerImage. Lze tedy jedenkrát projít grafického průvodce, příkaz si zkopírovat a do budoucna jen měnit hodnoty parametrů.
Zajímavosti
Zajímavé je, jak vlastně to generování image Nano Serveru pracuje. Když jsme image vyráběli pomocí příkazu New-NanoServerImage, používali jsme parametr BasePath. Ten sloužil jako specifikace pracovního adresáře při tvorbě image. NSIB takový parametr nepoužívá a jako pracovní adresář používá umístění “%USERPROFILE%\AppData\Local\Temp\2\NanoServerImageGenerator”.
Logy o svojí činnosti ale NSIB ukládá do umístění “%USERPROFILE%\AppData\Local\Temp\2\NanoServerImageBuilder\Logs”.
V těchto adresářích se po vygenerování image dají dohledat logy o průběhu nebo o chybách. Jedná se o soubory:
- bcdboot.exe-StandardError.txt
- bcdboot.exe-StandardOutput.txt
- Convert-WindowsImageTranscript.txt
- DISM.log
- DismLogs.log
- NanoServerImageGenerator.log
Z dostupných logů a informací se dají dohledat jednotlivé komponenty podílející se na celém procesu vytváření Nano Serveru. Vybírám ty, co mi přišly zajímavé:
- Convert-WindowsImage.ps1: Jedná se o skript, který dokáže přetavit WIM image na VHD(x) soubor. Je obecně dostupný ke stažení na MS Script Centru zde.
- DISM.exe: Příkaz klasické příkazové řádky. Při generování Nano Serveru se používá např. na injektování CAB balíčků s rolemi a funkcemi do image. Aby bylo možné tyto balíčky injektovat, je třeba mít WIM image namountovaný do nějakého adresáře. Předpokládám, že k tomu se také používá DISM.exe /Mount-Wim.
- Unattend.xml: Tento soubor vám bude jistě povědomý např. z bezobslužných instalací Windows. Používá ho i NSIB. Pokud se na něj chcete podívat, musíte to stihnout během procesu generování, protože po vygenerování image odpovědní XML soubor mizí. Níže přikládám ukázku jednoho svého. V něm je vidět jednak specifikace jména budoucího Nano Serveru a také heslo lokálního účtu Administrator. Unattend.xml soubor najdete v pracovním adresáři v podadresáři Temp.
Výsledkem obou popsaných postupů je VHD(x) soubor. Poskládat si z něj VM už je hračka, tak klidně do toho! Jak s Nano Serverem dál, hlavně co se týče správy, nastavení nebo třeba aktualizací, se podíváme zase příště.