About the author

Jason Huitt is on the Windows Group with Academic Computing and Networking Services at Colorado State University.
E-mail me Send mail

Authors

Tags

None

    Blogroll

      Disclaimer

      The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

      © Copyright 20082010

      Why Hyper-V is Good, and Memory Over-Commit is Bad

      Recently while meeting with a vendor some skepticism was expressed as to our shop's decision to go with Hyper-V from Microsoft over a virtualization solution from VMware.  The vendor rep mentioned memory over-commit as his reason for preferring VMware over Microsoft's solution, which instantly put me on the defensive.  While I admittedly work for the "Windows Group", I try to stay as OS-agnostic as possible.  As with all things in life, it's all about the right tool for the job - and I won't ever and have never claimed that Microsoft software is the "end-all, be-all" fix for what ails you.

      But this particular comment about memory over-commit was preceded by the statement “you guys are pretty much the only folks we know of who are doing Hyper-V”, so on this occasion I was particularly sensitive to this argument.  I responded with the certainly-obvious point that “I would never want to put into production a system that had a potential to blow past the top of the available memory space in the event of an unplanned failover, as that to me is a single point of failure.”  Naturally the vendor rep rebutted with standard lines about “getting the most out of the hardware” and more drivel which I completely ignored – in much the same way that my point was ignored by the rep.  It’s unfortunate that many of us in IT which do claim to be agnostic still fall into our partisan ways when put on the spot, myself included.

      Today I came across an article on the Hyper-V vs. VMware topic by one of my favorite bloggers, James O’Neill.  Mr. O’Neill (who does work for Microsoft, and thusly wears his bias on his sleeves) eloquently made the technical argument for my point much more coherently than I’ve seen.

      Memory over-commit. Vmware's advice is don't do it. Deceiving a virtualized OS about the amount of memory at its disposal means it makes bad decisions about what to bring into memory - with the virtualization layer paging blindly - not knowing what needs to be in memory and what doesn’t. That means you must size your hardware for more disk operations, and still accept worse performance.” - http://blogs.technet.com/jamesone/archive/2009/12/21/drilling-into-reasons-for-not-switching-to-hyper-v.aspx

      So I’ll promptly be inserting this exact language into my defense of our decision.  Aside from the built-in goodness of high availability (driven by proven Windows Failover Clustering technology) (which, BTW, is free – check out Hyper-V Server!), the lack of over-commit is a huge win when comparing platforms.  It prevents novice admins from making a major mistake when designing a virtual infrastructure, and forces admins to provide adequate memory on hosts for the virtualized workloads in question.  We in higher education understand better than most the pains of slashed budgets and “do more with less” directives…  But when it comes to the pursuit of five-nines, in my book you can’t leave a critical factor like memory availability to chance and expect great results.

      Besides, I would posit that no professional system administrator worth his weight in DVI dongles would ever take advantage of memory over-commit in a production system.  And as a vendor, if your go-to argument for VMware over Hyper-V is memory over-commit you’d better do your homework - next time I’ll be much better prepared to make my point.  After all, VMware’s own advice is “don’t do it”.

      PS: For the record, I am in the process of bringing up two VMware ESXi 4.0 nodes for some non-Windows workloads.  It's the right tool for that job, at least as of December 2009.


      Categories: Hyper-V | IT
      Posted by Jason on Tuesday, December 22, 2009 4:50 PM
      Permalink | Comments (0) | Post RSSRSS comment feed

      My Very Own Microsoft Knowledge Base Article

      This is the KB article for the bug I found in Windows Server 2008 Failover Clustering.  Three months of hard work finally pay off!

      http://support.microsoft.com/kb/970529 - The volume GUID may unexpectedly change after a volume is extended on a Windows Server 2008 failover cluster node


      Categories: Hyper-V | IT
      Posted by Jason on Monday, July 20, 2009 4:36 PM
      Permalink | Comments (0) | Post RSSRSS comment feed

      Updating a WinPE Image with Hyper-V Integration Components Drivers (Hyper-V RTM)

      Here, are instructions for integrating the Hyper-V RTM (!) Integration Components device drivers into a WinPE image.  This is based on Mike Sterling's post on the same topic, however the scripts below have been updated to use RTM Hyper-V bits.

      1. Create your WinPE build folder, if you haven't already done so.  See Building a WinPE Image from Scratch for help (follow only steps 1 through 5).
      2. In the root of your build folder, download the appropriate integration batch file from the bottom of this post.
      3. Locate Windows6.0-KB951634-x86.msu.  This file is on the c:\windows\system32\vmguest.iso, located on any Hyper-V enabled host.  The update file should be located in the Support folder of the ISO.  Copy this file to the root of your WinPE build folder - the same location as your integration batch script.
      4. From the Windows PE Tools Command Prompt, execute the integration script.  If everything went correctly, you'll see "PEIMG completed the operation successfully." listed seven times in the output of the script.
      5. At this point your WinPE build is updated.  Resume steps 7 through 9 in Building a WinPE Image from Scratch to complete the process.

      If you have questions about the above, please e-mail me at jason.huitt@colostate.edu - I've run both of these scripts successfully as of today, and now have working x86 and x64 WinPE ISOs.  My trust WinPE flash drive has been updated as well.  You'll love the integrated mouse and NIC support when building Hyper-V VMs.  No more Legacy Network Adapter!

      Integrate_x86.bat (1.10 kb)

      Integrate_x64.bat (1.12 kb)


      Categories: Hyper-V | IT | Server 2008 | Windows | WinPE
      Posted by Jason on Tuesday, October 21, 2008 4:04 PM
      Permalink | Comments (0) | Post RSSRSS comment feed

      Processor Utilization and Hyper-V

      http://cameronfuller.spaces.live.com/Blog/cns!A231E4EB0417CB76!1318.entry

      Guest OS processor utilization will not affect processor utilization on the host OS, per se.


      Categories: Hyper-V | IT | Server 2008 | Windows
      Posted by Jason on Monday, October 13, 2008 9:10 PM
      Permalink | Comments (0) | Post RSSRSS comment feed

      Hyper-V Goes RTM

      Hyper-V went RTM officially this morning.  Some fixes I've noticed already:

      • Closing the Virtual Machine Connection window no longer yields a program crashed exception.
      • VMs start, stop and save much more quickly than in RC1
      • Machine Save State files are able to be used after the RTM upgrade (not so going from RC0 to RC1)

      Press Release:
      http://www.microsoft.com/presspass/features/2008/jun08/06-26hyperv.mspx

      Download full RTM bits:
      http://www.microsoft.com/downloads/details.aspx?FamilyId=F3AB3D4B-63C8-4424-A738-BADED34D24ED&displaylang=en

      Vista SP1 x64 Management Console:
      http://www.microsoft.com/downloads/details.aspx?FamilyId=88208468-0AD6-47DE-8580-085CBA42C0C2&displaylang=en
      Vista SP1 x86 Management Console:
      http://www.microsoft.com/downloads/details.aspx?FamilyId=BF909242-2125-4D06-A968-C8A3D75FF2AA&displaylang=en
      Server 2008 x86 Management Console:
      http://www.microsoft.com/downloads/details.aspx?FamilyId=6F69D661-5B91-4E5E-A6C0-210E629E1C42&displaylang=en


      Categories: Hyper-V | IT | Server 2008 | Windows
      Posted by Jason on Thursday, June 26, 2008 3:21 PM
      Permalink | Comments (0) | Post RSSRSS comment feed

      Hyper-V RC0 is Released

      Release Candidate 0 of Hyper-V was released on March 19th.  Details about the release and instructions for installing it are available here: http://blogs.technet.com/jhoward/archive/2008/03/19/Hyper_2D00_V-RC0-release-is-available-for-download.aspx

      Hyper-V RC0 Update (x64): http://www.microsoft.com/downloads/details.aspx?FamilyId=DDD94DDA-9D31-4E6D-88A0-1939DE3E9898

      To manage Hyper-V RC0 from another 2008 or Vista management box, you'll need to install one of the following patches:

      Windows Vista SP1 Management Tool for Hyper-V RC0 (x64): http://www.microsoft.com/downloads/details.aspx?FamilyId=450931F5-EBEC-4C0B-95BD-E3BA19D296B1

      Windows Vista SP1 Management Tool for Hyper-V RC0 (x86): http://www.microsoft.com/downloads/details.aspx?FamilyId=BC3D09CC-3752-4934-B84C-905E78BE50A1

      Update for Windows Server 2008 (KB949219) (x86): http://www.microsoft.com/downloads/details.aspx?FamilyId=B7464B44-821D-4A7C-9D9C-7D74EC14437C

      I currently have a Hyper-V RC0 installation on a test machine running 2008 Enterprise x64 Server Core, being managed by a separate 2008 Enterprise x86 Full Installation workstation.  The new release of Hyper-V definitely brings a marked performance increase in both VM operation and in management.

      NOTE: You must install the Hyper-V RC0 x64 update on any Server 2008 Guest OSes in order for the Integration Components to work.  They are built into the RTM 2008 OS, but they are not compatible with RC0 without the full upgrade.


      Categories: Hyper-V | IT | Windows
      Posted by Jason on Tuesday, March 25, 2008 10:58 AM
      Permalink | Comments (1) | Post RSSRSS comment feed

      Installing Hyper-V in Server Core

      To install Hyper-V on a Server Core OS, execute the following two commands:

      • BCDEdit /set hypervisorlaunchtype auto
      • start /w OCSetup Microsoft-Hyper-V

      The documentation for Hyper-V does not mention the BCDEdit step.  OCSetup will automatically perform the BCDEdit step normally, but it will only perform that operation after the first reboot following the Hyper-V installation.  If you don't perform the first step manually, it will take a second reboot in order to get the Hypervisor to load.  Thanks to MSDN's Mike Kolitz and his blog Virtual Varia for pointing this out.

      Note: You may have to start the Hyper-V installation prior to running BCDEdit, as BCDEdit will throw an error if it realizes there is no Hypervisor to enable.  In such a case, fire up Task Manager and open a second command prompt, so you'll have somewhere to fire off the BCDEdit command prior to OCSetup's required reboot.


      Categories: IT | Windows | Server 2008 | Hyper-V
      Posted by Jason on Thursday, March 20, 2008 2:14 PM
      Permalink | Comments (0) | Post RSSRSS comment feed

      Network Not Available to WinPE on Hyper-V Virtual Machine

      If you attempt to boot into Windows PE from a Hyper-V virtual machine, you may not be able to immediately access network resources as you would expect.  This is because a default VM configuration in Hyper-V includes the synthetic network card, which is not visible to any OS that doesn't have the Integration Components installed.  To enable network functionality on a Windows PE VM, remove the existing network card from your configuration, then select Add Hardware, and choose the Legacy Network Adapter.

      You'll need to remove and re-add the synthetic network adapter (listed simply as Network Adapter in Hyper-V VM settings) when you have Vista or Server 2008 installed.


      Categories: WinPE | Server 2008 | Hyper-V
      Posted by Jason on Thursday, March 20, 2008 2:05 PM
      Permalink | Comments (0) | Post RSSRSS comment feed