[adinserter block=”2″]In October, Windows Server 2016
was completely ready according to Microsoft.[adinserter block=”3″] That was more than a year after the introduction of Windows 10. There were a total of five preview versions. The developers were then able to gradually expand and fine-tune the new functions. The final version therefore has all kinds of surprises when used in practice.
Much has been written about Windows Server 2016 before it was finally finished. Much of this had to do with the preview versions and no longer applies to the latest version. However, the future-proofing part of the software remains valid even after the final version. In this article, we will look at a few innovations within Windows Server 2016 through a practical test.
Microsoft follows a two-track policy with Server 2016. On the one hand, it is a continuation of the developments of Windows Server 2012 (R2). He has made great leaps in the field of virtualization. For example, with replication functions for virtual machines and migrating running virtual machines without Shared Storage. On the other hand, the cloud service Azure. Much of what is offered for this is now in the Server. Microsoft is very proud of that.
On the outside
Windows Server 2016 is also available in multiple versions. In the form of the free Hyper-V Server as a pure virtualization base, the paid Standard or Data Center version, a special Essentials version for smaller companies and a Storage Server that can be supplied with hardware. A Foundation version is no longer there.
The Standard and Datacenter versions are distinguished in the field of virtualization rights. The Standard edition allows you to have two virtual Windows Servers per license. If you need more, you can use multiple licenses of a physical Server. With Datacenter, as many virtual machines as you want are possible on a physical machine. Microsoft has no longer equipped the two versions with the same features. New features for replicating Storage Spaces , shielding virtual machines, and other features are now only in the Datacenter version.
With the licenses for the Standard and Datacenter versions, Microsoft is now moving from CPU sockets to processor cores. Compared to Windows Server 2012 R2, this means a price increase for systems with four (or eight) processors. Microsoft therefore adapts the licensing model to other Server products from its own home, such as with the SQL Server versions.
If you want to install a Server version, you can now choose not only an installation with GUI or a Core version with a minimal interface, but also a third option called Nano . However, that is not an option that the setup program also offers. You have to put it in a different way in a virtual machine or on real hardware. We will come back to that later.
It is important to note that the Core and GUI installation of Standard and Datacenter in terms of support are
handled by Microsoft just like the Long Term Service Branch (LTSB) of Windows. That means you get ten years of support without having to install feature upgrades. There are no mandatory updates like the desktop versions of Windows, just like an Insider program.
A Nano installation, on the other hand, falls under the banner of the Current Branch for Business (CBB). It must therefore be updated within a few months. Nano does not install updates automatically. Ideally, you use it for systems with a limited lifespan. They can be set up again and again from an updated image. Microsoft makes the use of Nano in a production environment the condition that you take out a subscription for the licenses (Software Assurance).
On the inside
The various Server versions differ technically in the amount of space they take up and the equipment, but also in other areas. Microsoft emphasizes that the Core and Nano versions require significantly less space. They can also be attacked in less areas. If you want a graphical interface, you need a Server version with GUI. Or a Windows desktop system with the Remote Server Administration Tools (RSAT) installed.
The common parts for management are the Windows Management function (WS-Management) and the Powershell. In the GUI of the Server manager, the server can be accessed directly via Powershell. But also by connecting to a virtual machine from a locally running Powershell with Enter-PSSession -VMname <myVM> (Powershell Direct). That all works fine if the systems belong to the same domain, but otherwise it is significantly less convenient.
Currently, a Nano installation can only be used for a few of the roles that you can set up for a Core or GUI installation of Windows Server. Activation is also not so easy. The easiest way is with the Nano Server Image Builder, which you can download for free from Microsoft .
This Image Builder creates, among other things, VHD (X) files that you can immediately use with Hyper-V Server as a virtual machine. You can also fill USB media with it to install a Nano server on physical hardware. The tool does require several programs from the Windows Assessment and Deployment Kit (ADK). The Builder installer tests at startup whether all dependencies are met and downloads and installs the missing tools itself if necessary.
In a typical wizard manner, the Image Builder asks for the configuration details for the Nano server. You can choose whether it should be a Standard or Datacenter version. You can integrate the installation into a domain and immediately activate the roles supported by Nano Server and required for this image. The Image Builder shows which Powershell commands are working in the background while creating.
VHDX at Hyper-V
You can put a VHDX file produced in this way in a virtual machine with a few mouse clicks at the Hyper-V-Manager. If you want to add another role later, you cannot use the Server Manager that does that for the Core and GUI installations. At Nano Server, the roles are implanted as packages. You can add those packages to a running Nano server later.
That’s not the only peculiarity: the Nano Server only runs 64-bit binaries. The other – usually also 64-bit – installation variants have a conversion layer (WOW64) for executing 32-bit binaries. Nano does not have this. It only has part of the interfaces (APIs) that Windows applications use. There is also no option to release setup programs or MSI packages on a Nano installation. A solution called Windows Server App (WSA) has been invented for this, but it is not widely used yet.
Nano Server is prepared for working with containers . This technique bundles programs and libraries into ready-to-use images, which you can quickly put on a server. At Server 2016, Microsoft is bringing containers to the world of Windows. The small Nano Server itself can serve as a basic operating system for such containers, as long as they do not place undue demands on Windows APIs. If you need more, you should use Core as a base.
Microsoft made two types of containers. The simple variant shares the core of the operating system with other containers. Protection mechanisms ensure that a container’s processes see only part of the system and not the other containers or the host’s operating system. This also applies to the Registry, the file system et cetera.
Hyper-V containers also use a minimal form of Windows’ own virtualization. This allows for stricter separation of containers and each has its own kernel. To do this, the processor must have virtualization features. This method naturally requires more resources. With a Standard license you can use a maximum of two Hyper-V containers (which are licensed as virtual machines).
To use containers it is not enough to add the Container role to an installation. This is because the Docker way of handling containers chosen by Microsoft is missing. It is not included in the package, but must be added with the Powershell package manager (formerly OneGet). You do that, including installing roles, with the following program in the Powershell:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
The penultimate step will only succeed if update KB3176936 is already installed. Then you can use separate docker commands, just like with Linux. With docker version you will see the current version number. The command
docker pull microsoft / windows server score
extracts a base image of a Core installation from Microsoft’s Docker repository – a nearly 4 GB download.
docker run -ti microsoft / windowssservercore powershell
starts a container, runs Powershell in it and links the console to the current one. The additional option –isolation = hyperv would start a Hyper-V container. All are containers made for Windows. Containers intended for Linux do not work immediately in this environment. But of course in virtual machines with Hyper-V and Linux as the operating system.
Unlike Linux, Windows has fairly meticulous dependencies between the operating system kernel and the containers. Not only the build numbers must match, but also the revision. In other words, the part that is marked with a dot after the build number on Windows. You can ask about this in the Powershell:
(Get-ItemProperty 'HKLM: SOFTWAREMicrosoftWindows NTCurrentVersion'). BuildLabEx