What’s Happening In VDI At The Moment

I just read an interesting analysis on what’s happening in Virtual Desktop Infrastructure with VMware and Microsoft at the moment.  The long-story-short is that MS had to get involved in the market with Windows Server 2008 R2, otherwise VMware could start taking a significant share in the desktop space at their loss.

A big stumbling block is Microsoft licensing.  I think you might know my opinion on Software Assurance.  It’s the reserve of those with more cash available for their IT budget.  Most of us focus on the essentials and don’t have that additional budget to spend.  Unfortunately, MS’s licensing people decided that the only legal way to license Windows desktop OS for VDI is via VECD (to be renamed) which is a leasing product that is only available to SA customers.  Therefore, if you want to run Windows Vista/7 in VDI then you must have Software Assurance.

That’s gonna play into the hands of VMware and Linux.  If people are going to go for VDI and MS restricts Windows VDI licensing to a “nice to have” like SA then people will start to look at Linux and OpenOffice.  It’s inevitable.  I hope MS changes this fixation with SA for their own good. 

The other issue with VDI is hardware costs.  Terminal Services allows lots of users on a server by sharing RAM securely.  With VDI, each VM/user is allocated a block of RAM.  VMware ESX allows memory oversubscription, e.g. a VM is allocated a block of RAM, e.g. 2GB, but it only takes from the host what it needs, e.g. if it’s using 1.5GB then the other .5GB RAM is left available on the host server.  This allows more VM’s per host.  We hoped Hyper-V would have this for R2 but it had to be pulled because it wasn’t ready.  We’re probably looking at 2010 or 2011 for that.  Running VDI on Hyper-V will cost more in terms of underlying host hardware until then.

VMM 2008 Database: Can I Use SQL Express?

The short answer is yes.  You’ll probably save some money in doing that too.  But remember that this version of SQL is limited to a 4GB database.  Virtual Machine Manager 2008 does not need a huge database.  It’s pretty lightweight.  However, the VMM team has stated that once you start increasing the numbers of hosts being managed by VMM you need to monitor database size to plan a move to a full blow (Standard or Enterprise) version of SQL Server.  The number they mention is 150 hosts.  For 99% of us, that’s a huge number of hosts.  I suspect only the fortune 500’s will have to worry about this issue.

Do Not Use Dynamic Disks In Production

Microsoft has been quite clear about this.  Dynamic and Differential Disks are not supported in production.  There is a serious performance hit when you move away from Pass through or Fixed disks.  This means that things like snapshots are not supported in production.  Snapshots use differential disks.  There’s another catch: if a serious amount of time has passed since the snapshot then the differential disk will grow substantially and a merge might take a very long time to process.

We have one lightweight box that I P2V’d a while back using VMM 2008.  When I did the conversion the target host I used was my lab server.  It has a minimal amount of storage so I used dynamic VHD’s.  I’ve since moved the VM onto our production cluster and upgraded the VM OS from W2003 to W2008.  It does some very lightweight management work but once a month the amount of data on it bursts.  I decided to leave the disks as VHD for a while – mainly because I’ve been snowed under with higher priority technical work for clients and supporting our sales/marketing efforts.

A few weeks ago we had a series of disk performance alerts from OpsMgr for the VM in question.  It was performing below par.  That was before the OS upgrade.  Last night, it had a series of alerts again.  Is it a disk subsystem fault?  Nope – It’s an EVA SAN with fibre channel.  The other VM’s on the host are being actively pushed while the alerting VM is barely hitting host resources at all. 

The issue is pretty simple: the dynamic disk is having to expand when new data comes along and this slows down the process.  This is clear supporting evidence for Microsoft’s recommendation.

DO NOT USE DYNAMIC DISKS IN PRODUCTION!

I know, it can save you on disk space.  But is that really worth it when you have production systems and performance is important?  It’s like RAM oversubscription on other virtualisation platforms.  In theory it’s great.  When managed properly it’s a money saver and performance isn’t hit.  But when it’s not managed correctly then you take a huge hit and performance/availability issues arise, e.g. I heard of one hosting company in Ireland that likes to “burst” memory/RAM and they’re having major issues with customer VM uptime/performance issues.

Performance = vendor support = better availability = happy customers/users = your job is a little safer.

That’s enough blogging for now.  I’ve some dynamic disks to convert.

Hyper-V Patches: March 2009

Our TAM sends out a mail on a regular basis with a list of updates that have been released.  I’ve gone through it to pick out stuff related to Hyper-V (including technologies it depends on).  It’s a pretty huge list.  After all, Microsoft has a pretty huge product catalogue.

  • “Hyper-V performance counters in Windows Server 2008 are displayed incorrectly or report incorrect data when you remotely query the counters from a Windows Server 2003-based computer”: (967124) – Fixes an issue in which Hyper-V performance counters in Windows Server 2008 are displayed incorrectly or report incorrect data when you remotely query them from a Windows Server 2003-based computer.
  • “The VMBus device does not load on a virtual machine that is running on a Windows Server 2008-based computer that has Hyper-V installed”: (954282) – Describes an issue in which the VMBus device does not load on a virtual machine that was created by using Virtual Server 2005 or Virtual PC 2007
  • “The Windows Server 2008 failover cluster cannot start because of a deadlock condition in the Cluster service”: (950811) – Describes a problem in which Windows Server 2008 failover cluster cannot start because of a deadlock condition in the Cluster service.

An Error Occurred While Attempting To Change The State Of Virtual Machine VMNAME”

This update applies to machines that have NUMA and where a Hyper-V VM fails to get memory that it should be able to access.  The following will be logged:

“An error occurred while attempting to change the state of virtual machine VMNAME.
‘VMNAME’ failed to initialize.
Unable to allocate XYZ MB of RAM: Insufficient system resources exist to complete the requested service. (0x800705AA)”

You can request the download for this here.

Issues With OpsMgr 2007 W2008 Cluster Management Pack

Over the last two weeks I said a few things:

  1. The management pack for Windows Server 2008 Failover Clustering was available.
  2. You really need to install the pre-requisite updates before installing the management packs.

MS’s System Center teams have been reminding people about the need to apply updates.  I guess PSS must’ve had a few phone calls on the issues the updates resolve.

There’s also an issue with the clustering management pack on clusters that have large numbers of resources, e.g. 60+.  That’s not your typical Exchange or SQL cluster … but it could easily be a Hyper-V cluster.  The issue is that a “Resource State Monitor” monitor is checking resource availability every 60 seconds and is clobbering the CPU.  You can override this by setting it to something larger.  I’m probably going with every 10 or 15 minutes.  My VMM integration will instantly let me know if a VM goes offline so that covers the disappearing resource issue.  MS is internally updating the management pack to fix this monitor.

People know I’m an OpsMgr junkie.  Honestly, I’m not impressed.  Wouldn’t the dog food tests in MS find this on their large Hyper-V farms?  Also, there’s no sign of a “Resource State Monitor”.  There is a “Resource Group State Monitor”.  Is this what they are referring to?  Who knows!  If anyone does then please share.

EDIT #1:

The mystery deepens!  I did some research and found this.  This would seem to say that the "Resource State Monitor" is in a "Cluster Resource" target in "Windows Cluster Management Monitoring Version 6.0.6277.1".  Huh!?  First, my management packs were brand new and downloaded from the catalog after the RTM announcement.  The version of that library is 6.0.6505.0 on my system.  No previous edition of the management pack were installed.  Next, the "Cluster Resource" target does not exist on my RMS.  I’ve double checked and all components were installed.  Something smells very fishy to me on this management pack release.

HP ProLiant Server and BladeSystem Management Packs for ConfigMgr 2007

HP is the second of the two (Dell) manufacturers who work very closely with MS to ensure that you can fully manage their infrastructure products using MS System Center.  I’ve not used the Dell stuff (it reads pretty good) but I’ve used HP management packs for OpsMgr since MOM 2005 and they’re very good.  We used some of the extensions for SMS 2003 in a previous job and it gave us great component auditing which was very handy when an alert came in, e.g. a memory board might start to have errors, we’d pull the part number and server serial number, pack it into a mail which we asked the branch office to send to their local h/w support.  They’d have no questions – just come in with the new part and the machine was healthy in no time.

HP has quickly followed Dell in releasing a set of management packs for managing Proliant and Blade servers using Configuration Manager 2007 RTM, SP1 and R2.  Using this you can “automatically manage and distribute HP ProLiant server system software, firmware, and complete support packs. With the HP Catalog, customers can manage HP server inventory and software updates with the same ease they use to manage operating system updates”.

Important Hyper-V VM Start/Connection Issue

The Windows Server team has blogged about an important new patch for Hyper-V. 

“On a Windows Server 2008-based computer that has the Hyper-V role installed, or on a Microsoft Hyper-V Server 2008-based computer, you may experience one of the following issues:

  • When you try to connect to a virtual machine, you receive the following error message: Cannot connect to the virtual machine because the authentication certificate is expired or invalid. Would you like to try connecting again?
  • When you start a virtual machine, you receive the following error message: ‘VMName’ failed to initialize.
    Could not initialize machine remoting system. Error: ‘Unspecified error’ (0x80004005).
    Could not find a usable certificate. Error: ‘Unspecified error’ (0x80004005)”.

Basically, a certificate is created on the host that is valid for one year.  When it expires you may experience issues with VM’s starting or connecting to running VM consoles.

You can request this download now.  It requires a reboot.

Alternatively there is a workaround:

  1. Shut down or save all virtual machines.
  2. Restart the Hyper-V VMMS.
  3. Start the virtual machines.

EDIT #1:

I just got the update.  The zip file only contains a text file called placeholder.txt.  Someone has made a booboo.

EDIT #2:

I posted the patch issue on the private MVP newsgroups and Ben Armstrong escalated it to the team in question.  It was simple human error which we’re all guilty of 🙂  It should be all sorted now.  You just need to re-request the patch to download and get a new password.  Thanks for taking care of this so quick Ben and the patch team.