Home > Blogs > Virtual Reality > Monthly Archives: December 2008

Monthly Archives: December 2008

Do I really need to upgrade all my Windows Server 2003 CALs in order to run on Windows Hyper-V?

A partner brought something to my attention recently that seemed odd regarding Microsoft licensing – and potentially expensive.

Here’s the scenario: Say someone’s got existing Windows Server 2003 licenses (non-OEM versions) and CALs. He wants to use these licenses and CALs to run a Windows Server 2003 virtual machine. Seems pretty straight forward – as a 2003 CAL is being used to access a Windows Server 2003 environment – and a good way to save money since he’s already paid for the Windows Server 2003 licenses and CALs – right?

But here’s where it gets weird. On page 11 of the Microsoft Windows Server 2008 Licensing Guide (download Microsoft doc here) is the following paragraph:


To Virtualize Win2003 on Hyper-V, I Need to Buy Win2008 CALS…a Hidden Expense

What the paragraph seems to say is that, if I want this Windows Server 2003 virtual machine to run on the Hyper-V version that comes with one of the Windows Server 2008 editions, then I must upgrade all of my Windows Server 2003 CALs to Windows Server 2008 CALs. List price for a Windows Server 2008 Client CAL works out to be about $40 a CAL.

Wow, if I’m reading this correctly, that’s a lot of extra cost to deploy Windows Server 2003 virtual machines on Hyper-V!

It Was Validated By a Third Party

To try to verify this, I did some searching on the Internet and turned up this report update from Directions on Microsoft, an independent 3rd party analyst firm covering all things Microsoft. The update is specifically about Microsoft’s free, standalone product Hyper-V Server 2008, but one section provided good clarification on this CALs issue.

“Unlike the regular Windows Server 2008 editions that include Hyper-V, Hyper-V Server does not automatically trigger the need for clients who access VMs to have Windows Server 2008 Client Access Licenses (CALs).”

Interesting… so Microsoft Hyper-V Server 2008 doesn’t require you to upgrade to Windows Server 2008 CALs to run Windows Server 2003 VMs, but the Hyper-V that comes with Windows Server 2008 editions does. This seems to confirm that there is significant additional cost to deploy Windows Server 2003 licenses on Hyper-V.

I Don’t Need the Win2008 CALs If I Use the “Standalone” Hyper-V Server, But Then I Don’t Get Any Functionality Either

This licensing policy seems to encourage people who want to use their existing legacy Windows licenses to run it on Hyper-V Server 2008. But even Microsoft’s own website says that “Hyper-V Server 2008 only offers the most basic of virtualization features,” and it has significant limitations that prevent anyone serious about deploying virtualization from using it.

  • No high availability support (i.e., no Microsoft Cluster Services support)
  • No host memory/RAM support over 32 GB
  • No host CPU support over 4 processors
  • No local graphical user interface

To get any of the above, one would need to use the full instance of Hyper-V with Windows Server 2008 – it would require a full re-install of Windows Server 2008 on the host (after paying for a Windows Server 2008 license), a time-consuming process that results in virtual machine downtime.

Of Course, VMware Solutions Are a Better Option

There’s a much better choice: run your Windows Server 2003 / 2000 VMs on VMware ESX. You could use your existing Windows Server 2003 / 2000 CALs (which you’ve already paid for – no need to upgrade to 2008 CALs), and you don’t face any of the functionality limitations of Hyper-V Server 2008. You could even deploy on VMware’s free ESXi product and do a license key upgrade (no re-install required) when you decide to take advantage of the advanced functionality in one of VMware’s pay products. Of course, these licensing advantages are in addition to all the other reasons why VMware is a better choice – see the “Why Choose VMware” website.

Am I reading this Windows Server 2008 CALs requirement right? Have you run into this CALs requirement in your deployments?