I feel there has been a lot of unnecessary confusion around Windows Server 2016 licensing.
My goal with this post is to alleviate this confusion by showing you how simple it actually is.
Table of Contents
Windows Server 2016 licensing is licensed per-core. Because processors always have an even number of cores, licenses are sold in two-core packs. One “license pack” equals (or is good for) two cores.
To run Windows Server 2016, you need to purchase licenses for a minimum of 16 cores, per two physical processors.
This translates to you needing to purchase a minimum of 8x two-core packs for every two physical processors in your server. This is the equivalent of a regular standard Windows Server 2012 R2 license.
If you have more than 8 cores per processor, then all you do is purchase 1x two-core license pack for every two cores past the 16 minimum.
Example: You have a server with two processors. Each processor has 10 cores. You have 20 cores total. You purchase the minimum 8x two-core packs, which covers 16 of your cores. You need to purchase an additional 2x two-core license packs to cover the extra 4 cores you have.
Question: Wait, what? Is it really that easy?
Question: So what if my server has two processors, but each processor only has 6 cores each?
You would still need to purchase the minimum 8x two-core packs, licensing you for a total of 16 cores, even though you only have 12 total cores. Don’t worry, this still comes out to the same thing as a Standard 2012 R2 licensing.
Question: What if I have 4 physical processors in my server?
Then you would need to purchase twice the minimum… 16x two-core license packs. Then you buy 1x two-core license pack for every two cores you have after the minimum combined 32-cores.
Virtualization rights with Windows Server 2016 Standard are, relatively speaking, the same as they are with Windows Server 2012 R2 Standard.
You could install Windows Server 2016 Standard on your physical server, installing and using ONLY the Hyper-V (and supporting) roles/features, and then run two Window Server 2016 virtual machines (VM) on that same physical server, using the same Windows Server 2016 license.
Note 1: As a general rule, you should never (or rarely) install the Standard edition of Windows Server 2016 on a physical server if you are using it as a Hyper-V host. You should instead install Hyper-V Server 2016 (Microsoft’s free hypervisor OS).
You can run two virtual machines for every 8x two-core license packs you purchase. In reality, you’d install Hyper-V Server 2016 on your physical server, and purchase a Windows Server 2016 Standard license (8x two-core license packs) for every two Windows Server 2016 virtual machines you want to run on that host.
Note 2: Virtualization rights only apply to Windows Server VMs. You can have any unlimited number of Linux VMs running on any version of Windows, providing your hardware can handle the load.
What about Datacenter Edition?
In regards to virtualization rights, Windows Server 2016 Datacenter doesn’t start to make any sense until you see yourself needing to run upwards of 13 virtual machines on a single host. The exact cutoff is 14 virtual machines, but because each minimum (8x two-core license packs) license gives you 2 VMs, 13 is the same cost as 14. Purchasing 7 Standard edition licenses to run 13 virtual machines on a single host costs the same amount of money as a Datacenter edition license.
Note 3: Datacenter edition has features that Standard edition does not, such as Storage Spaces Direct and Storage Replica… among quite a few others. So there are some legitimate reasons reasons to run Windows Server 2016 Datacenter edition on a Hyper-V Host.
Windows Server 2016 Failover Cluster Licensing
In general, each physical node in a cluster must be licensed for any VM that can run on it.
You can lower the number of physical node licensing by preventing VMs from running on specific nodes. This is done via “Possible Owners” in Failover Cluster Manager as shown below:
Keep in mind that if a VM CAN run on a node, the node MUST be licensed appropriately!
Software Assurance (SA)
If you purchased SA with your server license, you have some additional interesting benefits. Specifically, “License Mobility” and “Fail-over Rights”.
License Mobility can be particularly useful in the clustering and virtualization world, for example, if you have a two-node cluster with one physical server using Datacenter (NODE1), a second physical server with the free Hyper-V Server 2016 (NODE2), and the cluster is an active-passive cluster. For simplicity of this example, NODE2 does not have any running VMs.
With License Mobility, you basically have the freedom to move that Datacenter license to any server you want as often as you want, within the same Server Farm. The caveat is that all the Windows Server VMs running on it must follow the DC license (or minus what the other server is already licensed for). This is useful if you need some planned-downtime of NODE1. You could then temporarily virtually transfer your Datacenter license to your other server and live-migrate all of your VMs to the other node to prevent any downtime. Then you are free to update, upgrade, reboot, or whatever you want to NODE1.
This means that in anticipation of a fail-over event, you may run passive fail-over on another qualifying shared server (NODE2). Keep in mind that the number of licenses that otherwise would be required to run the passive fail-over Instances must not exceed the number of licenses required to run the corresponding production Instances on the same partner’s shared servers.
All Microsoft Products: Licensing Terms and Documentation