Following on the theme around licensing, I thought I’d take the opportunity to explain, in detail, for anyone who doesn’t already know, how to license Windows Server Operations Systems in a Virtual Environment. Now, I’m not a licensing expert, but I’ve been through this enough times to understand it, and articulate it correctly, however, if something doesn’t make sense, add a comment! It’s important to note, that everything I discuss below, is relevant for Microsoft and non-Microsoft virtualisation environments.
So, let’s start…
Windows Server 2008 Standard
So, say we’ve bought a copy of Windows Server 2008 Standard, and we install it on the Physical box below.
If we’re not bothered about Virtualisation, this is a very simple licensing scenario indeed – all I’ve done is installed (and thus assigned) this Windows Server 2008 Standard license to this physical box. Easy peasy. From here, I could enable any of the roles of the OS, such as AD, DNS, DHCP etc, and have a great time doing it. If need be, I could downgrade this OS to a previous version of Windows Server (but I’m not going to go through this process today). There are a couple of very important things that we need to get out in the open early on here, as it’s relevant throughout this post.
- First important thing to note is, if I’ve bought this Windows Server 2008 OS on a piece of hardware, through an OEM channel, that license lives and dies with the hardware, so there’s no moving this license to another physical host.
- Second important thing to note is, if I’ve bought this license through a volume licensing program, and I want to re-assign this license to another physical host, I can do this, but, I can’t re-assign it again for another 90 days.
Now, as you know, Windows Server 2008 contains Hyper-V, so, if we enable this role, we can start running virtual machines on that particular host, but, what we do have to think about, is how we license those virtualised Windows Server guest OS’s running on that Windows Server 2008 Standard Host.
So, in this example on the left, we’ve decided to virtualise 1 guest server OS on our Windows Server 2008 Standard Host. We’ll say, for arguments sake, that this is a Windows Server guest OS. Now, with Windows Server 2008 Standard, I get 1 free running virtual instance on that particular host.
What that means is, when I assign a Windows Server 2008 Standard license to a physical box, I get the added benefit of not only being able to install the Windows Server 2008 OS on the physical hardware (and thus enable the Hyper-V Role), but I also get 1 free Windows Server guest OS, which can be Windows Server 2008 Standard or Downgraded
Read that last paragraph, then read it again to make sure you’ve got it.
I used a keyword in that paragraph. That keyword was ‘assign’. The reason I use the word ‘assign’ rather than ‘install’, is because this licensing is Virtualisation agnostic, which means I can ‘assign’ a Windows Server 2008 Standard license to a physical VMware ESX or Citrix XenServer (or A.N.Other!) host, and for free, run 1 instance of Windows Server 2008 Standard (or downgraded) in a VM on those platforms. If you want to run 2 instances of Windows Server Standard on those platforms, assign a 2nd Windows Server 2008 Standard license to that physical host, and that will give you another, and so on.
So, those bright sparks among you are going to say, well, if I not only assign the Windows Server 2008 Standard license to a physical host, but choose to install it on the physical host too (instead of A.N.Other Virtualisation platform), and then I create a Windows Server 2008 Standard (or downgraded) VM, am I not effectively getting 2 OS’s for the price of 1? Well, yes, and no.
The reason I say yes is, because you are getting 2 fully featured versions of Windows Server 2008 Standard – one for use on the actual physical host, and one for use in the VM. However, here’s the caveat. If you are using your maximum ‘free allowance’ of Windows Server VMs on a host (1 in this case), you must use the host machine to purely manage the virtual machines running on it, and nothing else.
So, in the example directly above, that physical box, with Windows Server 2008 Standard & Hyper-V running on it, can only be used to support the VM(s) above it, and not be providing other infrastructure features into the environment, such as Active Directory, Domain Controller, Web Server etc. It should be used purely for Hyper-V and managing the VMs running on it.
So, imagine this scenario:
In this scenario, we’re looking to run 3 Virtual Machines, which, for arguments sake, are Windows Server guests. To do this, using Windows Server 2008 Standard licensing, we’d assign 3 licenses to the physical box, which would not only give us the OS for the physical host, but the 3 guest OS’s we desire. If we wanted to move these VMs to another host, we’d have to reassign the Windows Server 2008 Standard licenses to the chosen host, however we wouldn’t be able to move it for another 90 days. Now, Windows Server 2008 Standard retails at about $999 I believe, so, this scenario will set us back just under $3000, and will go up by $999 for each guest Windows Server OS we want to consolidate. This pricing does not change whether you have 1 CPU, 2 CPUs or 4 CPUs in the physical box. So, a license of Windows Server 2008 Standard on a 1 CPU Dual Core System, is the same price as one on a Quad CPU Quad Core System.
If I was consolidating Linux guest’s onto this platform, perhaps open-source rather than commercial distributions, then the guest OS’s would effectively be free.
From a licensing perspective, using Windows Server 2008 Standard Edition is the least beneficial and flexible when compared with Enterprise and Datacenter editions when it comes to Virtualisation.
Windows Server 2008 Enterprise
So, hopefully you’ve got the gist from reading the bit above. Now, licensing Enterprise is very similar indeed, however, this time, instead of getting 1 free running instances, you receive 4 free running instances when you assign a Windows Server 2008 Enterprise license to a physical host.
So, in this scenario, we’ve simply assigned the Windows Server 2008 Enterprise license to the physical box, and we receive 4 free running instances of Windows Server 2008 Enterprise, or downgraded, in virtual machines. We could have 100 virtualised Windows Servers on this particular box, but the license gives you 4 free running instances at one time.
So, if you assign this license to an ESX or XenServer host – no problems, you receive 4 free running Windows Server instances. If you assign and install it, you’re getting a Hyper-V platform for free, and the 4 free running instances. Same rule as above applies – If you are using your maximum ‘free allowance’ of Windows Server VMs on a host (4 in this case), you must use the host machine to purely manage the virtual machines running on it, and nothing else.
This licensing is cumulative too, so if you want to assign 2 licenses of Windows Server 2008 Enterprise to the physical host, for 8 free running instances, just do it! Or assign 3 licenses for 12 free! It just keeps going, but remember, you can’t reassign Windows Server licenses from physical host to physical host more than once every 90 days. Another key area to be aware of is when you are using migration technologies, like Quick Migration on Hyper-V, VMotion on VMware’s platform, or XenMotion on the Citrix platform to name but a few. So, take this scenario:
In this example, we’ve assigned a Windows Server 2008 Enterprise license to both physical nodes, and we’re using our maximum 4 free running instances on both nodes. All is great :-)
We encounter a situation (Manual, DRS etc) where we need to migrate a virtual machine from one node to another. Technically, not a problem, however a move is going to put us out of compliance from a licensing perspective, because what we may find is that we’re running more than 4 guests on one of the nodes and less than 4 on the other. On the node that’s running less than it’s maximum of 4, there’s no problem. It’s just we’re incorrectly licensed on the node that’s now running more than 4.
One way to counter this, is to assign 2 Windows Server 2008 Enterprise licenses to each node, giving us a free allocation (or, breathing space) of 8 free running Windows Server VMs on each node. Whether we choose to use all 8 on each node is up to us, but if we do, we could get into a similar situation as we found before if we’re not careful. If it’s only a very temporary situation, i.e. you’ve moved all VMs onto physical host 2 for a short window whilst host 1 is patched, then you should be fine – Microsoft’s licensing is based on a trust model and understands the importance of temporary maintenance etc.
In the same way Windows Server 2008 Standard was licensed per box, so is Enterprise, so again, this pricing does not change whether you have 1 CPU, 2 CPUs or 4 CPUs in the physical box. So, a license of Windows Server 2008 Enterprise on a 1 CPU Dual Core System, is the same price as one on a Quad CPU Quad Core System. The retail price of Windows Server 2008 Enterprise is $3999, which, if you think about 4 free VMs per license, it works out at about $1000 per VM, so roughly the same price as Windows Server 2008 Standard, yet you get the Enterprise features like Clustering etc, inside the VMs.
Also remember, that any of these VMs can be downgraded to older Windows Server versions, such as 2003, or 2000. 2000 SP4 is the earliest supported version on Hyper-V, and runs great! :-)
Windows Server 2008 Datacenter
OK, so, we’re on the home straight here – just Datacenter edition to go! Stay with me!
Hopefully you understand what I’ve been talking about so far, because it’s very important when devising solutions based on Microsoft server technologies, regardless of the Virtualisation platform. I wouldn’t want to be a customer, who’s paid good money to embrace VMware’s technologies (for example), and been told incorrect information about Windows licenses running on those ESX hosts, which has resulted in the customer buying more licenses that necessary. Not good. It’s therefore critically important that both customers, and partners understand and can articulate this information.
So, what’s the deal with Datacenter edition, and is it too ‘big’ for my business? Well, let’s dip into a little history first – In previous versions of Windows Server, i.e. 2003, you could only buy Datacenter edition on hardware. There was no other channel, bar OEM, that organisations could get hold of Datacenter, so, in many cases, it would have been restricted to the larger organisations who were buying whopping hardware. That’s changed for 2008.
Update - As Mike rightly points out in the comments section "Windows Server 2003 Datacenter became available through normal channels in October 2006 - the same day these virtualization rights were introduced. You still get the rights with Windows Server 2003 and 2008 and can use the downgrade rights for earlier versions of the OS"
For the first time, Datacenter edition of Windows Server is available through regular Volume Licensing channels, so it’s instantly more mainstream and accessible for many more people, but, why would you want it? Well, if you take Windows Server 2008 Datacenter as an OS, it’s our most scalable version of the Windows Server 2008 versions, supporting the highest number of procs/cores, but feature wise, it’s pretty much the same as Enterprise. Where it changes massively, is when you bring in Virtualisation.
The Hyper-V bits themselves are identical to those in Enterprise, scaling up to 1TB RAM in the physical box, 24 cores with the latest Intel 6-core chips, 64GB RAM per VM etc etc. It’s the Virtualisation licensing that’s pretty darn different than Enterprise. Here’s the scenario:
Imagine we want to achieve a 16:1 consolidation ratio, so, 16 VMs (in this case, Windows Servers) running on 1 pretty powerful box. Seems pretty achievable I’d say, but what’s the most cost effective way of licensing it? Well, so far we have Standard edition, which gives us 1 free VM per assigned license, so we’d need 16 licenses @ $999 each, so we’re talking around $16k. We don’t have much flexibility using Standard edition, plus we can’t use any Failover Clustering, so we’re putting quite a few eggs in one basket here! What are the alternatives?
We have Enterprise edition, which, as I detailed above, provides 4 free running instances per assigned license, so, for 16 VMs, we’d need 4 Enterprise licenses assigned to this box. 4 Enterprise licenses @ $3999 per license weighs in at $16k, so pretty similar to Standard edition really, but with greater scalability and features under the hood. Final option? Datacenter Edition.
Now, first important point, Datacenter edition is licenses per physical processor, not per box, like Enterprise/Standard are. So, in our scenario, imagine the box on the left has 2 physical procs, each with quad cores.
So, in this case, we’d need to assign 2 Datacenter licenses to the box on the left, as it has 2 physical processors. Datacenter licenses go for $2999 per processor. That would mean that this scenario would cost us just under $6k. But what are we getting for our money? I haven’t mentioned any ‘free’ virtual machines yet….
Windows Server 2008 Datacenter Edition, when assigned to a host, allows an unlimited number of free running Windows Server guest OS’s on that host. So, for our scenario, where we want a 16:1 ratio, assigning 2 Datacenter licenses to that box (for a total of just under $6k) gives us what we need, and more. I could double, triple or even quadruple (and more!) the number of Windows Server Guest OS’s on that box, and still only ever pay $6k. This would only change if I upped the number of physical procs in the machine. So, $6k Datacenter, vs. $16k for Standard/Enterprise. Double the ratio to 32:1 and Datacenter is still $6k, but Enterprise & Standard are now coming in at around $32k – in fact, Standard would probably have hit it’s limit by that point, depending on how ‘big’ the VMs are (Standard edition supports 32GB RAM in the host).
The great thing to mention about Datacenter Edition (aside from the great Virtualisation licensing benefits!) is that it really eases the licensing headache around migration of virtual machines between hosts. If you have a 3 node cluster, each with Datacenter licenses assigned, it will never matter how many Windows Server VMs you’re running on each physical node. You can have 20 VMs on one, 10 on another, and 35 on another, and never have to worry about being incorrectly licensed from a Windows Server perspective. Excellent.
If these were the requirements of a project, on the top right, the first thing to note is, Standard Edition is pretty much out. It doesn’t have the clustering element to it, so it would have to be Windows Server 2008 Enterprise of Datacenter. I’m using Hyper-V as my virtualisation technology here, as I’m getting it as part of my license anyway, but if there was a requirement for a VMware or Citrix (or A.N.Other) deployment, then you’d factor those costs on top. So, Enterprise and Datacenter licensing assigned to the physical hosts will give me the features I need in terms high availability, and migration with minimal downtime.
So, do I choose Enterprise, or Datacenter for my licensing? Well, I think these results speak for themselves – I’d save $30k on these 3 nodes alone by using Datacenter. I could double my CPUs in each node too, up to 4 CPUs in each node, and it would still only come to $36k using Datacenter, so it would still be cheaper than Enterprise, and I get the added flexibility that Datacenter brings, plus, and this is a key point, future scale-up growth at no cost. I wouldn’t get this with Enterprise. For every 4 VMs I wanted to scale up, I’d be paying an extra $4k per license with Enterprise. Datacenter really is a compelling choice from a licensing, and a cost saving perspective.
Well, phew, we made it! Hopefully that’s made sense – if it hasn’t, that’s what the comment box is for on this post! Let me know! Hopefully this has given you clarity around licensing the different versions of Windows Server in virtual environments, and also some of the caveats you need to be aware of, like not being able to move OEM licenses around, or re-assigning licenses to hosts more than once every 90 days. You should also remember that the keyword is assign, not install. Microsoft would be naive to think that just because someone has bought Windows Server 2008 licenses, that they will always use Hyper-V as their virtualisation platform. Using the word ‘assign’, clears this up; simply assign a Windows Server license to a physical box, and you get the free VM rights. Whether you choose to utilise the added benefit of a free virtualisation layer in the form of Hyper-V on that system, is entirely up to you…
It's a shame it took 5 pages of typing to explain licensing 3 editions of the same software. Sorry, not a fan of MS licensing.
I have 2 questions:
1. Standard and Enterprise include CAL's but datacenter does not correct?
2. How does the licensing differ (if at all) for hosting providers?
With the greatest respect, if I'd have summarised it, it would have generated more questions, hence why I've explained it with scenarios, so people can fully understand it and reuse the information as they see fit. Not everyone knows this information, so to summarise it in a few paragraphs won't give them the information they need.
No, I don't believe DC comes with CALs, unlike Enterprise and Standard which come with a few.
For hosters, you can read this document, but beware, it's longer than 5 pages...
Do you have any insight into how this works with SBS 2008 Standard?
I assume that SBS 2008 Premium, or any version of EBS 2008 would work the same as above because they come with a second or third copy of Server Standard that could be used for the host O/S.
However, SBS Standard comes with just one copy of Server and MS has 'fixed' SBS so that it cannot be installed as just Server. It will cease working after a few months which keeps people from purchasing it as a cheap alternative to standalone Server. So, where would we get the host copy of Server so that we could virtualize SBS?
(Please don't suggest that we use Windows Hyper-V Server 2008, the freebee. That is not even close to being ready for primetime. Our other alternative is ESXi, which is free, but kind of a hassle to manage for small installations.)
I'm not sure I understand what you mean by "SBS Standard comes with just one copy of Server and MS has 'fixed' SBS so that it cannot be installed as just Server. It will cease working after a few months which keeps people from purchasing it as a cheap alternative to standalone Server"
SBS2008 is effectively Windows Server 2008 Standard underneath, yet costs $1,089 (Retail) compared with $999 for the individual Windows Server license. The pricing is more expensive than in 2003.
Contrary to what you state, I would say that Hyper-V Server 2008 is 'ready for primetime'. It's not got the clustering feature, but we're not trying to say it has. This is why we position it as a solution for simple consolidation, VDI, staging/test/dev and branch consolidation. It scales up to 32GB RAM (and SBS2008 needs 4GB, right?), 4 vCPUs per VM, DAS/SAN storage etc. The Hyper-V bit is effectively the same, just without the clustering. If that's what you need, you'd either need to go down the Windows Server 2008 Enterprise/Datacenter, or wrap VirtualCenter and VMware HA around your ESXi deployment.
Yes, you are correct that with 2008, SBS is slightly more expensive than plain Server. I have not tried to install SBS, quit after the first reboot before Server becomes SBS and wait to see if it fails after X number of days. Microsoft may have eliminated the timeout period.
What I meant by not ready for primetime is with our initial testing, it was quite difficult to install and set up for a simple installation with SBS and maybe one more server.
If we can install Server 2008 with the Hyper-V role as a host for SBS 2008 Standard instead of Hyper-V Server 2008 and VMM 2008 or some other mgmt tool, it would be much easier to manage at multiple client sites.
We have many clients with SBS 2003 and more and more of them are requiring multiple servers to fulfill the needs of their LOB applications, so if we can virtualize those servers and consolidate on one box, everyone wins.
Thanks for your assistance!
Hmm – I’ve not tried it either with SBS2008 – may be worth a try, but I guess it’s not as ‘worth it’ as it once was with SBS 2003. I think everyone accepted SBS2003 was an absolute bargain for what you were getting – SBS2008 is a more realistic price for what is still a fantastic set of technologies for an SMB.
In terms of Hyper-V Server 2008, I think for a wide range of organisations, it’s a bit of a behavioural change. Whilst not a difficult ‘install’ per se, as soon as some people are presented with the blue command line, it becomes more difficult to configure. Once you’ve cracked it though, it becomes fast to deploy and easy to get going.
Don’t forget, that Hyper-V Server 2008, under the covers, has some of the Server 2008 core components, which means you can perform a network based, unattended installation (which is repeatable in the future) of it. So, take this scenario – you have the Hyper-V Server 2008 DVD, you attach an unattend.xml file with it, and deploy, and that unattend file contains all the settings you would ‘normally’ configure each time you first install the Hyper-V Server. That way, all your installations of the host box are the same from a networking, firewall ports etc perspective.
Once you’ve got that kind of environment , that will speed and ease the setup, but there are other options. One we’ve been playing with internally in my small team, is using network installations to deploy the Hyper-V Server 2008. So, you have a Windows Server 2003 SP2/2008 with Windows Deployment Services, and you’ve downloaded the Microsoft Deployment Toolkit (free, and a great tool!), and this tool enables you to build custom images for deployment over a network. So, first up, I build a custom Hyper-V Server build. The MDT provides me with the tools and process I need to construct that unattend.xml file for that build too. Once I’ve finished my ‘build’, I can deploy it, over the network, to a bare metal machine, using Windows Deployment Services as part of 2008 or 2003 SP2. So, now you have an alternative way of deploying the host machine, which is great, but what about deploying SBS 2008 into the VMs?
Well, if you chose to use Windows Server 2008 as your Deployment Server, you could also enable the Hyper-V Manager MMC, which means that once you’ve deployed those Hyper-V Server’s, you can manage them from one place. All you’d need to do to deploy SBS, is use the MDT mentioned above, pull the SBS install files etc from the SBS 2008 DVD, drop them on the deployment server, and whenever you create a new VM using the Hyper-V Manager MMC, you set the VM to network boot, and it will install the SBS 2008 OS from your deployment server. Whether you choose to unattend the installation or not is up to you – either way, you’ve got an easy and centralised (and very cheap!) way to rapidly deploy a Hyper-V Server host to bare metal, and then actual guest OS’s into the VMs!
One point to note with SBS 2003, is that it’s not yet (and I don’t know when!) supported on a hardware virtualisation platform, like Hyper-V, ESX, XenServer etc. That’s not to say it doesn’t run great – it’s just important to remember that it’s not supported yet. SBS and EBS 2008 are both supported.
Overall, does that sound useful?
Great write-up of the licensing. This will be very beneficial for people wanting to understand this. One small correction.
"In previous versions of Windows Server, i.e. 2003, you could only buy Datacenter edition on hardware. There was no other channel, bar OEM, that organisations could get hold of Datacenter, so, in many cases, it would have been restricted to the larger organisations who were buying whopping hardware. That’s changed for 2008."
Actually, Windows Server 2003 Datacenter became available through normal channels in October 2006 - the same day these virtualization rights were introduced. You still get the rights with Windows Server 2003 and 2008 and can use the downgrade rights for earlier versions of the OS.
A site that I refer to often for all things MS licensing related is Emma's site: http://ladylicensing.spaces.live.com/default.aspx.
Thanks for the comment! I'm a VCP and a regular reader of your blog, - nice work there!
You're dead right, and I'll update the post to reflect this.
Great point about Emma's blog too - she's a legend and I'm always calling her with specific licensing questions! It's great to have her direct dial number!
We have a scenario where we have to physical servers with MS Server 2008 with Hyper-V. What we want to do is install another virtual instance on both machines - does this mean we have to dish out more money for DSP software?
Doesn't virtualization, once enabled, allow for unlimited (limited only by hardware capabilities) OS instances as long as they have their valid keys?
Thanks for your help,
You are fine to install another instance on both machines, but it depends on your licensing. If you are using Windows Server Standard 2008 on the physical hosts, as detailed above, you can run 1 free instance on each host, but the host then has to be used to manage the VMs and nothing else. So, if you have Host A, and Virtual Machine A running on Host A, you can only use Host A to manage Virtual Machine A etc.
Virtualisation with Hyper-V, once enabled, allows for 128 running instances on 4 x 4-core CPUs (16 cores), or 192 running instances on 4 x 6-core CPUs (24 cores). Remember though, just because you can, doesn't mean you should...
After reading everything there is just one thing that I do not yet understand. We would like to have 2 servers: 1 Windows 2008 Enterprise server (so I can install 4 instances in a virtual environment) and 1 VMWare ESX server. As this page states
I can only install the virtual servers on the same box (in this case the Windows 2008 Enterprise server) and am not allowed to transfer the licenses to the VMWare server. Do I need to buy additional licenses for the VMWare server or is 1 license for Windows 2008 Enterprise enough?
So, in a nutshell, utilizing the licensing options for virtualisation can only be done when the host OS is running Windows. Assigning licenses to a VMWare ESX server is not possible. Is this correct?
The key word here is assign. If you take Physical Server #1, you are choosing to install WS2008 Enterprise, which is great, but, at the same time, what you're actually doing, is assigning that WS2008 Enterprise license to that box, and that gives you the 4 free VMs on that physical box. Not the installation, the assigning.
So, this means that I can 'assign' (literally, paper based assigning, remember Microsoft's licensing is a trust model) a WS2008 Ent license to a physical ESX Server, and my 4 concurrent Windows Server VMs running on that ESX box are free.
To answer your question specifically, the host OS does not have to be running Windows Server - it can be running whatever virtualisation platform you want - you assign the license to the physical box, and whether you choose to use WS as the host OS too is up to you.
Hope that helps,
Just a clarification please, does that mean you can only assign a license on ESX (only discussing vmware) and not vmware server (previously GSX). Am I correct in saying that you actually need to install the OS, not assign a license, on the physical GSX host.
Nope - you can assign a Windows Server license to any physical server you like, regardless of the actual Operating System that's installed on the bare metal (ESX, Linux, Windows Server etc).
So, take this example, if you bought a license for Windows Server 2008 / 2003 R2 Enterprise, you could install it onto the physical kit, then install VMware Server on top of that, and then, you would also have the 4 free running instances to run in VMs on top of VMware Server.
Slightly different example - you've bought Windows Server 2008 Enterprise, or you've already got a license for Windows Server 2003 R2. You can install Linux on the physical box, then install VMware Server, then assign your Windows Server license to that Linux physical box, and again, you get your 4 free running instances.
The virtualisation layer doesn't matter, whether it's Hyper-V as part of Windows Server, whether it's Virtual Server 2005, whether it's VMware Server, ESX, XenServer and so on - you assign the Windows Server license to the physical box, and get the 4 free / unlimited VMs to run on top of that Virtualisation layer.