What is Nano Server ?
Nano Server is the next foundation of Windows Server, stripped down to its essence for speedy operation to support Micro service style architectures and cloud optimized applications.
It is similar to Server Core mode in Windows Server, but significantly smaller, has no local logon capability, and only supports 64-bit applications, tools, and agents. It takes up far less disk space, sets up significantly faster, and requires far fewer updates and restarts than Windows Server. When it does restart, it restarts much faster.
Nano Server is ideal for a number of scenarios:
- As a “compute” host for Hyper-V virtual machines, with cluster environment or not
- As a storage host for Scale-Out File Server.
- As a DNS server
- As a web server running Internet Information Services (IIS)
- As a host for applications that are developed using cloud application patterns
- Run cloud applications in a container or virtual machine guest operating system
As mentioned Nano Server has a very small footprint and the first version show some great improvements versus the Windows Server:
- 93% lower VHD size
- 92% fewer critical alerts
- 80% fewer reboots
To achieved this goal Microsoft removed some parts of Windows Server like:
- GUI Shell
- 32 bit support
- MSI support
- Some default Server Core components
You will ask me how we manage Nano Server after removing the GUI. The answer is simple and is the best practice senario for managing servers for a long time called Remote Management. Nano Server will offer some advanced remote Management features as follows
- PowerShell Desired State Configuration
- RSAT Tools
- System Center and other Management tools
- Web-based management tools (Using Azure)
Deploying Nano Server
Before deploy Nano Server you must have a Windows Server 2016 TP 4 host or virtual machine.
You can install the following packages for Nano Server
Lets walk through the steps how to deploy a Nano Server
- First copy the Nano Server resource folder to the VM or Physical MachineMount the Windows Server 2016 TP image and navigate to the following location
D:NanoServer (D: mounted drive it may different with your environment)
- Create a Nano Server Host
#Import the Nano Server module Import-Module .NanoServerImageGenerator.psm1 #create a nano sever image New-NanoServerImage -BasePath .Base -MediaPath D: -TargetPath .NanoImageNanoServer.vhd -GuestDrivers -Containers -AdministratorPassword (ConvertTo-SecureString -AsPlainText -String 'Pa$$w0rd' -Force) -ComputerName NanoServer -ReverseForwarders -EnableRemoteManagementPort
- Boot from Nano Server VHD
In this example I created a VM in Hyper-V using the Nano Server VHD
As you see above there are no PowerShell or CMD prompt to manage so the only option to manage this is by using remote management tools next step I’ll Show we connect it.
- Manage Nano Server using remote management tools
Before connect to Nano Server using PowerShell make sure you add the host to the TrustedHost list
Set-Item WSMan:localhostClientTrustedHosts -Value 'servername or IP, servername or IP'
Enter to Nano Server Host
In this i used the new PowerShell feature called PowerShell Direct that packaged with version 5.
Enter-PSSession -VMName 'Nanoserver test' -Credential (Get-Credential)
If you notice the following image you will see the prompt has changed to [NanoServer Test]: PS C:Windows>