Windows Server How-To
Windows Nano Server Deployment 101, Part 1: The Setup
Here's all the info you need before beginning to deploy Microsoft's latest server configuration.
Read "Windows Nano Server Deployment 101, Part 2: The Execution," here.
Earlier this week, I heard someone say that once Windows Server 2016 is released, Nano Server will become the new preferred deployment type. While I don't doubt that Nano Server will eventually see widespread adoption, I don't think it will happen right away. There are two major things that are standing in the way of widespread Nano Server adoption.
The first issue is that of general usefulness. For right now, Nano Server is very limited in terms of how it can be used. Most commercial applications will not run on Nano Server, because Nano Server lacks some critical APIs. There are, however, tools that can be used as a shim to force at least some applications to run in Nano Server.
Nano Server is also limited with regard to its ability to run native services. Nano Server can, for instance, be used to run the DNS services, but it cannot run DHCP.
Presumably, the compatibility issue will get better over time. Nano Server is in its first generation, and Microsoft will surely adapt more and more Windows Services for Nano Server use over time.
The other issue standing in the way of Nano Server adoption is the fact that Nano Server can be difficult to deploy. Unlike Server Core, Microsoft did not create an installation wizard. I am assuming that Microsoft probably avoided creating a GUI-based setup wizard because servers are easier to scale if you can script the deployment process.
Scripted Nano Server deployments are great if you are trying to deploy thousands of virtual machines, but what if you only need to deploy a few VMs? Well, maybe I can help.
I have created my own graphical installer for Nano Server. I will provide you with the source code and a full walkthrough in Part 2 of this post. For right now though, there are a few things that I need to talk about first.
The first thing that you need to know about my Nano Server installer is that it could best be classified as a proof-of-concept tool, or perhaps as a work in progress. The installer works, but because of my production schedule I only had a few hours to write the code. As such, I have not tested every possible deployment option, nor have I built a completely comprehensive tool that supplies every available deployment option. For example, if you were to script a Nano Server deployment, you could include multiple deployment packages in the image. If you use my GUI, you can only choose one package to include. That's something I might eventually change, it just depends on what kind of response my tool receives.
There is also a bit of setup that you will have to do before using my graphical installer. First, you will need to make sure that the script is able to locate any packages that you plan to use.
Second, there are some paths that you will need to customize within the script. Here is the block of code as it exists right now:
$BasePath = 'C:\VMs\' + $ComputerName
$TargetPath = 'C:\VMs\' + $ComputerName + '\' + $ComputerName + '.' + $MediaType
Write-Host 'Your Nano Server will be created at: ' $TargetPath
$MediaPath = 'E:\'
The $BasePath variable points to the base path. This is the location where the Nano Server will be created. The graphical interface prompts you to enter a computer name for your Nano Server. The base path is therefore set to C:\VMs\<computer name>. You can set the base path to anything that you want.
The second path that you will have to set is the target path, which is controlled by the $TargetPath variable. The target path includes the base path, plus the filename and extension of the Nano Server file that is being created. For example, if you create a VHD file and call your Nano Server MyNano, then the target path will be C:\VMs\MyNano\MyNano.vhd.
The third path is the media path, which is set by the %MediaPath variable. The media path must point to your Windows Server 2016 installation media. In my case, the media resides in drive E:.
So that's going to do it for part 1. In part 2, I will walk you through the Nano Server deployment process, and I will give you my source code.
About the Author
Brien Posey is a 21-time Microsoft MVP with decades of IT experience. As a freelance writer, Posey has written thousands of articles and contributed to several dozen books on a wide variety of IT topics. Prior to going freelance, Posey was a CIO for a national chain of hospitals and health care facilities. He has also served as a network administrator for some of the country's largest insurance companies and for the Department of Defense at Fort Knox. In addition to his continued work in IT, Posey has spent the last several years actively training as a commercial scientist-astronaut candidate in preparation to fly on a mission to study polar mesospheric clouds from space. You can follow his spaceflight training on his Web site.