What You Must Know About Hyper-V

The good news is that there is now a lot of fantastic information out there on Hyper-V. The bad news is that there’s so much, it can be hard to know where to start. So, we’re going to help you out a bit with a simple list of the things that you must know and that you have to get right — not just from a technological standpoint, but also so you can effectively communicate with others in the Hyper-V community.

What follows is a collected wisdom of the experiences of many Hyper-V administrators who have gone before and learned by trial.

Terminology and Concepts

  • Hyper-V is available in three distinct packages.
    1. A standalone product called Hyper-V Server. This product has no licensing costs. It also has no GUI.
    2. A role inside a fully licensed copy of Windows Server 2012 Standard Edition or Datacenter Edition.
    3. An installable feature of Windows 8 Pro.
  • There is no product called “Hyper-V Core” and the term is completely meaningless. Hyper-V can be installed as a role inside an installation of Windows Server running in Core mode. This is called “Windows Server 2012 with Hyper-V”, just as it is when installed inside a GUI.
  • When Hyper-V is enabled, it becomes the kernel. Windows becomes the “management operating system” (term that Microsoft documentation uses). It is also referred to as the “host operating system” or the “parent partition”. This is a special-case virtual machine that has some unique properties and features, such as the ability to communicate with and control the hypervisor. Hyper-V Server installs a stripped-down version of Windows Server that has no available roles and features beyond those required for servicing Hyper-V guests.
  • If you don’t understand the Hyper-V virtual switch, don’t even get started until you do.

Hardware

  • “C” power states are bad. Get into your BIOS and disable them. Each BIOS is different. Especially watch for C1E.
  • If any of your storage doesn’t support offloaded data transfers (ODX), disable it at the first sign of storage troubles (section 3). As of now, Windows/Hyper-V Server 2012 tries to use ODX on everything, even if it doesn’t support ODX. A hotfix/patch is on the way to change this.
  • Pass-through disks don’t really perform better. Most experts will tell you not to use them at all.
  • Guest operating systems must all boot from a virtual disk on the virtual IDE chain. The page file for Windows guests must also be on a virtual disk on the virtual IDE chain.

Software and Patches

  • You need a copy of Windows 8 or Windows Server 2012 to remotely manage Hyper-V Server 2012. If you don’t have those, you can always RDP to the management operating system and manage it that way.
  • Stay abreast of updates, even those that aren’t yet in the main update branch.
  • Until it finds its way into a mainstream patch roll-out, KB2813630 should be installed on all Hyper-V Server clusters.
  • The Server Manager in Windows Server 2012 has a built-in Best Practices Analyzer for Hyper-V. Let it help you.
  • Microsoft publishes the Microsoft Assessment and Planning Toolkit for free. Too many people either dramatically overestimate their need for storage and networking horsepower or listen to inexperienced people on Internet forums proclaim that absolutely every Hyper-V deployment must have RAID-10 and 10GbE, and waste a lot of money as a result. MAP can help you avoid that.

Networking

  • Don’t use teaming for iSCSI and SMB 3.0 connections to storage. Multipath I/O (for iSCSI) and SMB Multichannel are both free.
  • VMQ is really helpful when it works, and crippling when it doesn’t. It’s on by default, so if your virtual machines are suffering with terrible network performance, try disabling VMQ on physical adapters before performing a lot of extensive troubleshooting.
  • Update the Hyper-V Integration Services in every Windows guest and keep them updated.
  • Getting to many advanced features, like multiple virtual network adapters for the management operating system, requires PowerShell.
  • Teaming in Windows/Hyper-V Server is really cool, and gives you lots of benefits. Unfortunately, using it cuts off a few enhancements for virtual adapters attached to it, specifically RDMA and SR-IOV.
  • Virtual adapters themselves don’t have all the features of hardware adapters, specifically RSS.
  • “Management traffic” refers to network traffic that is intended only for the management operating system. It includes remote desktop connections, connections from management tools like Hyper-V Manager and System Center Virtual Machine Manager. It is also the path that network backup tools will operate on. It includes Windows Update downloads, either from Microsoft or an internal WSUS system. Essentially, management traffic is all traffic that is not specific to virtual machines or operation of a failover cluster that the Hyper-V Server is a member of.
  • For standalone hosts, put management traffic on its own physical adapter. Have another for the virtual machines to use.
  • Disable DNS registration on all management operating system adapters aside from the management adapter.
  • If you’re not using IPv6, disable it, especially in a cluster.

The purpose of this list is to provide a very fast read on what you need to know and do. Where possible, I have provided links to one-shot explanations of an item. I have intentionally not expounded on any of these so as to make the material easily digestible. If there are any subjects that are a real hang-up, please let us know. We’d be happy to provide detailed postings on anything that people are struggling with.

 

Altaro Hyper-V Backup
Share this post

Not a DOJO Member yet?

Join thousands of other IT pros and receive a weekly roundup email with the latest content & updates!

23 thoughts on "What You Must Know About Hyper-V"

  • James Davis says:

    First great information!! I have a quick questions – I heard that the new version of Hyper V comes with two free OS deployments on the first two VHD’s Is this true? Where do I find more info on how to do it? Thanks

    • Eric Siron says:

      Hi James,
      Thanks!
      Hyper-V itself doesn’t provide any guest licensing at all. The purchase of a copy of Windows Server 2012 Standard edition provides for up to two virtual machines to be used on two processors in the same physical host. Licensing can get complicated pretty quickly, so I always recommend that you consult directly with Microsoft or an expert at an authorized license reseller. To get you started, Aidan Finn has a very good synopsis on his blog.

  • Stephen Barash says:

    Great article. I’m interested in what you say about C states and server performance. What is unique about server performance that causes problems with C states?

    My system’s Z77 motherboard has a bios setting for C1E, and also for C 5 & 6. Are all of these problematic on a server? And what about EIST?

    I’ve rolled out many servers based on systems such as HP DL385 G8’s lately. I’d imagine that these would have been pre configured to disable or negate the problematic effects of C states. Should I check?

    Thanks much,
    Stephen

    • Eric Siron says:

      The biggest thing I know of is that Live Migration performance is impacted. In many other cases, some fuzzier lines have been drawn to C power states. By that, I mean that people have had strange, difficult-to-reproduce issues, and C-power states were disabled along with a lot of other changes and the problems were solved. I’ve heard anecdotes about C1E related to just about everything you can think of and I couldn’t say how much of it is true. I’ve actually seen the Live Migration problem, though.
      I’m unaware of what C4 and C5 are. C3 is the highest I know of, and I always disable that on Hyper-V hosts.
      I would definitely check on any systems running Hyper-V, as the first time I heard of a problem it was on an HP DL-something. For a non-hypervisor system, I don’t believe that C1E is an issue but your mileage may vary.

  • Stephen Barash says:

    Quick question. As network adapters dedicated to virtual machines aren’t going to have IP 4 & 6 bound to them, are they still going to attempt DNS registration? If not, isn’t this unnecessary?

    Thanks again,
    Stephen

    • Eric Siron says:

      For physical NICs hosting virtual switches or NIC teams, you’re right; disabling DNS registration will have no effect because there’s no IP to register. Clustered systems have more adapters with IP addresses, though, and clustered and non-clustered both might be using iSCSI. You reminded me of another thing that I should go back and add: if you’re not using IPv6, disable it. That’s caused some headaches as well.

  • Stephen Barash says:

    Eric, really sorry to be a pest, but you state this in several articles – “The page file for Windows guests must also be on a virtual disk on the virtual IDE chain.”

    Are you sure? I’ve setup replication with several 2012 servers, and to improve performance I’ve always created a dedicated VHD’s for page files. Only one page file, only on the dedicated VHD. I’ve always attached these using SCSI, and they’ve always seemed to work flawlessly. Are these systems taking a performance hit and I just don’t know it?

    The reason I’ve done it this way is that I’ve always been concerned with the fact that the guest uses a native IDE driver, while a hyper-v integration driver is used on the guest for SCSI.

    Especially on Server 2003 guests, this IDE driver is from 2002, and surely can’t support the performance provided by the host’s underlying RAID array. Or, is it just a passthrough stub?

    Stephen

    • Eric Siron says:

      Hmm, I will verify. I know that guests on R2 couldn’t use it and never saw anyone say that it changed so I just assumed it was still true. On R2, it would let you set it to a virtual SCSI drive, but on reboot it wouldn’t be there. If it does work, they won’t take a performance hit, but there won’t be a performance gain, either. Remember that IDE vs. SCSI in Hyper-V is, for all intents and purposes, meaningless. It’s the underlying hardware that matters. I think that on R2 it was theoretically possible to measure a difference but I wasn’t able to. It’s so negligible that if your page file depends on the difference, you really need to increase the RAM.
      I will post back after I see what I can see.

      • Eric Siron says:

        Verified: Windows Server 2012 guest on a Windows Server 2012 with Hyper-V system can use a page file on the virtual SCSI chain. Thanks for the heads up! I’ll fix the list.
        Oops! Unverified: It’s not actually taking. It still shows, but the allocated number drops.

  • Stephen Barash says:

    I’ve tried this with several Server 2003 guests. The page files are created. The drive is visible in explorer. The performance tab in advanced system settings show it there. Its the right size in task manager. I’m setting a static 6gb swap on each drive.

    I’ll play tomorrow with some Server 2012 & 2008 guests. What do you mean when you say the allocated number drops?

    • Eric Siron says:

      On the “Performance Options” screen, the “Total paging file size for all drives” is reduced to whatever I leave on C:. In the “Virtual Memory” window, the “Currently allocated” size is similarly reduced. It still shows that the number is set on the SCSI drive itself. I tested with a 2012 and a 2008 R2 client on Windows Server 2012 with Hyper-V. I didn’t check TM but I’ll look at that tomorrow.

  • Stephen Barash says:

    Well, Eric I tried this with a 2012 guest and you’re 100% correct. No page file on my scsi page drive. Odd, there was no mention in any event logs of my scsi page file being rejected.

    So, I went back to my 2003 servers to see what was up. Page files on the scsi drives on all of them. Checked everything to verify the page files were working correctly. Crazy, makes no sense, I know. Be happy to send you screen shots…

    All in all, I’d say that your original advise was correct!

    Thanks,
    Stephen

    • Eric Siron says:

      I’ve been in touch with someone who has more thorough knowledge of the actual architecture than I do, and, well, we’re intrigued. The screenshots won’t be necessary, but it would be nice to know how you managed to do what shouldn’t be possible. It’s a somewhat academic pursuit at this point, though, since 2003 is sunsetting out.

  • Stephen Barash says:

    Agreed, a mute point. Still curious though. 2003 must load drivers differently, different processor ring level or something.

    Just for kicks, I’m going to clone one of these guests and set its system/boot drive to scsi and see what happens…

    Stephen

  • Nirmal says:

    Hi Stephen,

    Thanks for reading articles! It is a pleasure interacting with you!

    Well, as to location of page file on SCSI channel discussion – nothing is stopping us from putting the page file on a SCSI channel but OS components (Memory Manager) will not recognize it. SCSI driver, part of Integration components, will be able to load itself only after the Kernel Mode components have done finishing its job including creating/initializing paging file!

    So technically, it’s doable but no benefits of doing this as Operating System is not going to use it. When Memory Manager (part of Kernel Mode) initializes the paging file, the location of the initialized paging file will be set in registry at HKLMSYSTEMCurrentControlSetControlsSession ManagerMemory Management. There are two entries which you need to check to determine the “current” paging file location; PagingFiles and ExistingPageFiles.

    Note: Registry is a big repository for OS components to locate any information. So from this point onwards, whenever any paging operation occurs, the OS will check the location of the page file to use by querying the above registry entries.

    You will get an informational message when you reboot OS stating that “Windows created a paging file on your computer because of some problem/s…”. The new page file will be set in the above registry entries.

    On a side note, Kernel Mode does not know whether the OS is running on a Virtualization platform or a physical box and this is how Windows OS has been working. I would say OS has been programmed to deal with these types of situation (e.g. If no user defined paging file then create a new one on the OS drive)

    Thanks!
    Nirmal

  • weng says:

    Hi Eric, after setting up my Hyper-V virtual machine, I try to connect to it in order to install Win XP, the client window basically stuck at “connecting to XP Virtual Machine”. Although I can see the XP set up screen appearing in Hyper-V Manager as a small icon. I have tried both installing via the CD and and ISO file with same result. Any idea what I may have done wrong?

  • Jonathan Sia says:

    I installed hyper v server 2012 and after restarting for a couple of times it start off with the hyper v. After registering a password i find myself looking at two boxes, one black and one blue and it requires me to use command only. How can i get back to using my windows 8???

    • Eric Siron says:

      If you installed Hyper-V, then you replaced Windows 8. You’ll have to re-install Windows 8 if you don’t want to use Hyper-V.

Leave a comment or ask a question

Your email address will not be published. Required fields are marked *

Your email address will not be published.

Notify me of follow-up replies via email

Yes, I would like to receive new blog posts by email

What is the color of grass?

Please note: If you’re not already a member on the Dojo Forums you will create a new account and receive an activation email.