Microsoft Server 2008 Licensing and Virtual environments

Lately I had a discussing regarding the do’s and do not’s on Microsoft OS licensing on virtual infrastructures. To be sure what is possible, best practice and economical I read a whole bunch of Microsoft licensing briefs and came up with the following post. You will find that there is no best general solution. Everything depends on how you use virtualization, the number of hosts and VM’s, usage of advanced techniques as VMotion etc.

In Short

  • Shutdown VMs / templates do not require a license
  • Licensing of Windows Server 2008 is tied to the physical server and the (expected) number of VMs running on that host. You need a license for the maximum number virtual instances that will run on a particular physical instance at a particular moment. The licenses for virtual instances are tied to a physical host (also when this host is VMware)! This is very important when using VMotion, read more down below!
  • Windows Server 2008 Standard 
    • Licenses per server (need a license for every Windows Server you run)
    • Allows you to run 1 physical and 1 virtual instance on the SAME server (hyper-V, VMware Server)
    • Allows you to run 1 virtual instance on non Microsoft bare metal hypervisors (Xen, ESX).
    • On the physical installation of Windows (Hyper-V, VMware server) you are only allowed to run virtualization related software and applications (read further down below)
    • Possible licensing issues with VMotion like technologies
    • Allows you to run the versions:
      • Windows Server 2008 Standard
      • Prior versions of the server software instead of Windows Server 2008 Standard (Windows 2003 (R2) etc.)
  • Windows Server 2008 Enterprise
    • Licenses per server (need a license for every Windows Server you run)
    • Allows you to run 1 physical and 4 virtual instances on the SAME server (hyper-V, VMware Server, etc.)
    • Allows you to run 4 virtual instances on non Microsoft bare metal hypervisors (Xen, ESX).
    • On the physical installation of Windows (Hyper-V, VMware server) you are only allowed to run virtualization related software and applications (read further down below)
    • Possible licensing issues with VMotion like technologies
    • Allows you to run the versions:
      • Windows Server 2008 Enterprise or Standard
      • prior versions in place of Windows Server 2008 Enterprise (Windows 2003 (R2) enterprise and standard etc.)
  • Windows Server 2008 Datacenter
    • Licenses per processor (minimum of two processors!?)
    • Allows you to run unlimited Physical and Virtual instances on the hardware you have licenses for. You need a license for every processor (socket) in the hardware you run the instances on! 
    • Allows you to run any software or application on the physical installation (Hyper-V, VMware server)
    • No issues with VMotion like technologies, unlimited licenses per processor (read more further down)
    • Allows you to run the versions:
      • Windows Server 2008 (DC, enterprise and standard)
      • Prior version of Windows 2008 (DC, standard and enterprise)

Windows Server 2008 Datacenter edition allows unlimited usage of VMs but requires a license per socket. So a four server virtualization solution with two sockets per server requires 8 datacenter licenses. This allows you to run a unlimited number of virtual machines, your hardware is the limit! The number of cores does not matter. Microsoft says: To support customers’ business needs and use of new technologies, Microsoft generally considers multicore and hyperthreaded processors to be a single processor, regardless of the number of cores and/or threads that they contain.(http://download.microsoft.com/)

 

VMotion

When you are using VMotion (or a technology alike) virtual instances are not bound to a physical host. Licenses for these virtual instances however are bound to these physical hosts!

In a non-VMotion setup you purchase a license for every virtual instance. This license is applied to the physical host this virtual instance is running on. Since the virtual instance is bound to the physical host you can apply the number of licenses for the virtual hosts one to one. For example

  • Host 1 – 7 VM’s = 7 licenses (7 x standard or 1 x enterprise and 3 x standard)
  • Host 2 – 12 VM’s = 12 licenses (3 x  enterprise or a datacenter per core)
  • Host 3 – 1 VM’s = 1 licenses (1 x standard)

When using VMotion and optionally High Availability (HA) things change. You need to license for the maximum number of VMs that will be on a physical host (ESX) at any given moment. When looking at the above scenario this would mean that when we put one physical host in maintenance mode (no VM’s running on the physical host) VMotion distributes the virtual instances across the two physical host  that are left over. This results in a average of 10 servers and a theoretical maximum of even more servers, maybe even 20 (depending on server hardware? Does anyone know hoe MS handles this number?). Let’s assume the maximum is 20. The licensing would look like:

  • Host 1 – 20 VM’s = 20 licenses
  • Host 1 – 20 VM’s = 20 licenses
  • Host 1 – 20 VM’s = 20 licenses

We need 20 licenses for every physical host because at any given moment each of the three physical hosts can run 20 virtual instances. You are allowed to move these licenses between the physical host, but only after 90 day’s. Since VMotion most of the time moves the VM’s much faster this is not really an option.

This licensing restriction, and the unclear maximum number of virtual instances per physical host when using VMotion makes the licensing based on the Datacenter edition very cost efficient if not even necessary. 

 

Clustering, Failing Over, and Moving Instances

Two common scenarios for high(er) availability and dynamic datacenters involve:

  • Running the same workload simultaneously on two servers, or 
  • Running a workload on a primary server and periodically moving it to a second server due to a failure, load balancing, patching, or planned downtime. 

In both scenarios, regardless of whether the workloads are running in physical or virtual OSEs, each server must have the appropriate number of licenses assigned to it prior to the workload running on it. This holds true regardless of whether you plan the workload to:

  • Always run on a single server.
  • Run in parallel on the server as a backup when the primary server fails.
  • Run the workload if the primary server is down.
  • Load balance when the primary server has high use.
  • Only run the workload during maintenance.

So you must have a license for the cold standby server, space you need to VMotion servers etc.

 

Running a hypervisor on or in Windows Server

If you run a hypervisor on Windows Server 2008 (for example Hyper-V of VMware Server) you are allowed to use the same license for the OS running directly on the metal (physical) and for the maximum number of Virtual Machines that version of Windows allows (std: 1, ent: 4, DC: unlimited). However there are some limitations:

  • The Virtual Instances must run on the same system the physical instance of Windows is running on for this maximum to count. This means bare metal hypervisors like ESX(i) or XenServer do not allow you to use the license for any physical installation but only for the installation of virtual instances!
  • The physical installation may only be used for (only the standard and enterprise):
    • The hypervisor software
    • Virtualization services (I think this could be VM backup, etc.)
    • Virtualization management
    • Virtualization licensing services

This means you are not allowed to use this physical installation of Windows for other purposes! So no DNS, AD, Application or what so ever! This limitation only applies to the standard and enterprise edition. On the Datacenter edition you can install any software or application you like!

When using the physical Windows OS solely as a hypervisor or for related services you do NOT need a CAL for up to two users or devices for this server.

 

Virtualisation calculators

Microsoft has released a couple of tools to help you determine the license cost when using virtualization. You can put in a couple of variables like the technology you are using, the amount of servers and the amount of cores per server. 

You can find the calculators here: http://www.microsoft.com/.

 

Conclusion

In short when using VMotion (key feature, so I presume you want this!), but fast hardware with quad (or octa?!) cores and a LOT of memory. Two quad cores with 64 GB of RAM can handle a lot of VMs! When using the default pricing in the MScalculator and leaving VMotion out of the picture a 4 host solution with 20 VM’s per host for MS Server 2008 licensing costs:

  • using standard: $57.520,-
  • using enterprise: $46.680,-
  • using Datacenter: $19.048,-

License with the datacenter edition and make sure you SAN and network are up to the task of handling a lot of VM’s! This makes your licensing for VMware and Microsoft cheaper and most likely this licensing benefit easily allows you to buy this better bigger server! 

More information / sources

You can find more information on licensing Mirosoft products and the combination with virtualization in the links below: