One aspect of server virtualization that is sometimes overlooked is licensing. Virtualization can complicate software licensing, so it is important for an administrator to exercise due diligence in making sure that the organization has purchased the required licenses.
There are a couple of different issues that can make licensing difficult in a virtualized environment. One such issue is that the organization may have to purchase several different license types in order to remain compliant. Some of the required license types include:
- Hypervisor licenses
- Management server licenses
- Managed server licenses
- Guest OS server licenses
- Guest OS client access licenses
- Application licenses
- Application client access licenses
Another issue that can complicate licensing is that virtualized environments tend to be highly dynamic. A guest operating system might be created on one host server and then immediately migrated to a different host. Similarly, new VMs can be created on a whim by anyone who has the required permissions. So how can an administrator keep up with the licensing requirements?
Every software vendor has its own unique licensing requirements, so it is critically important to make sure that you adhere to the requirements for the software you are using rather than following a general set of guidelines. Even so, there are some general strategies that usually work.
My first recommendation is to pay attention to any socket-specific license requirements. It is common for hypervisor vendors to base the licensing requirements for hypervisors and for the management server on the number of CPU sockets used within the host server.
Another bit of advice is that the licensing requirements for applications do not usually change just because the application is running on a virtual server rather than a physical server. Of course, the argument could be made that most application vendors probably assume their products are going to be run on virtual servers. In most cases you will probably find that there is nothing abnormal about licensing an application to run on a virtual server.
Just as most applications have the same licensing requirements for both physical and virtual environments, server client access licenses usually work the same way in a virtual environment that they do in a physical data center. If an operating system vendor requires a license for every user who accesses the server, that requirement doesn’t usually go away just because the server is running on virtual hardware.
On a side note, some OS vendors give their customers a choice of purchasing client access licenses on either a per-user or a per-device basis. Historically, per device licensing has been the less expensive option. However, users today commonly make use of multiple devices, so you may find that per user licensing is more cost effective.
Unless your VMs are running a free, open source OS, the guest OS on your VM must be licensed. Guest OS licensing policies vary widely, so it is extremely important to check with the vendor to determine the specific requirements.
In the case of Windows Server 2012 R2, the server license applies to the host, not to the VM. This host-level license applies to the VMs running on the host. This holds true regardless of which vendor’s hypervisor is being used.
To give you a more concrete example, suppose that you wanted to run Windows Server 2012 R2 on top of VMware. You would obviously have to license the VMware hypervisor, but you would also have to purchase a Windows Server license (typically the best option for all but the smallest virtualized environments is Datacenter Edition). This license would apply to the Windows VMs running on the VMware server. If a VM is migrated to a different VMware server, then the destination server’s Windows Server license will be applied to the VM. In other words, Windows Server VMs do not take their license with them when they move from one host to another. For more information, Microsoft provides a comprehensive briefing on running Windows Server in a virtualized environment.
One last bit of advice to consider is that virtualization management servers typically require a license for each server that is managed. For instance, if you plan to use System Center Virtual Machine Manager, then you will need a license for each host server that you plan to manage.
Licensing can be complicated in virtualized environments. As you review the license requirements for your organization, be sure to check the requirements for your library servers to see if there are any licenses required for software installed within an image that is used to generate new VMs.