Documenting a virtualization project

Experiences in Virtualization

Hyper-V implementation considerations

Posted by martijnl on December 21, 2008

Last Friday I attended a Microsoft Hyper-V training. It was not the full course with hands-on labs but there was some interesting discussion between presenter and attendees and some attendees already had experience with running Hyper-V in production situations. At the end of the session I had several pages of notes that I have summarized below. As Hyper-V is based on a licensed Xen hypervisor it has an established pedigree but as with all things the quality of the hypervisor alone is not the whole story.

Update: Note the comments from Matt McSpirit in the comments section (I have made some changes to the post to reflect the comments):

Hyper-V pricing was also discussed and I learned some interesting things again. The main thing being that if you want to use the VMware DRS-like “intelligent placement” functionality that you need System Center Operations manager and System Center Virtual Machine Manager. It also turned out that while you get “free” licenses (one with Standard Edition, four with Enterprise Edition and unlimited for Datacenter Edition) to run virtual machines on Hyper-V that this only applies to VM’s that use Server 2008 as their OS. Everything else you still need to have a license for. Which means that if you want to save on licenses that you also need to plan for a migration to Server 2008 for all the servers that you want to virtualize. Edit: As mentioned by Matt it is possible to downgrade a license. I had not found that earlier. There seems to be one issue and that is the versioning of the user CAL’s. Hopefully Matt can clear it up.

Apart from the licensing these are the main points I jotted down during the meeting:

  • There is no management interface on the server itself. You can install the server in two ways: as a Core installation or as a Role on top of a normal Server installation. With the Core installation you only have the command line interface (CLI) to manage the server. With the Role installation you can use perfmon and other indicators but like other solutions virtualization with Hyper-V uses a “parent partition” and you can only get environment stats from this parent partition. Management of the server is done from a Windows Vista (with SP1) workstation. Update: When you install the Hyper-V role there is an MMC snap-in available for server management.
  • The most stripped down installation of Hyper-V is the Core installation that is downloadable for free from the Microsoft website. This is a 937MB .iso file and it needs 10GB minimum of harddrive space. There has been talk about the hypervisor being 872KB but the hypervisor does not work on it’s own and thus needs an installation of the size mentioned here.
  • The free downloadable version is not upgradeable to any other version of Hyper-V. This is in contrast to VMware’s ESXi product which can be integrated into a virtual infrastructure and enabled for Vmotion, DRS, High Availability etc. by letting a vCenter Server manage the box(es).
  • If you want to have all the performance advantages offered by the “enlightenments” or para-virtualization of the OS than you are bound to either Server 2003 R2 or Server 2008. Other OS versions do not support these enlightenments.
  • Clustering your environment for High Availability is only available in the Enterprise and Datacenter Editions of the software, not in the free version or the Standard Edition.
  • To use High Availability your storage solution needs to support SPC3 commands. This is a function that has only been recently implemented by storage vendors. At the training there was a comment by another attendee that there are many storage arrays that did not support these commands as early as a year ago.
  • Like VMware VMotion requires vCenter Server Hyper-V Quick Migration requires System Center Virtual Machine Manager.
  • Live Migration is planned for Server 2008 R2 which is currently planned for a Q1 2010 release (possibly earlier as mentioned in this ZDNet article).
  • Updating of templates or servers that are stored but offline can be done through System Center Virtual Machine Manager with the Offline Virtual Machine Servicing Tool. Updating of the actual server is done through WSUS or System Center Configuration Manager. This means that you have to be using one of either technologies for your current patchmanagement.
  • Technologies like the Distributed Virtual Switch that is announced for VMware’s next version have not been announced for Server 2008 R2. This means that currently you have to align your vSwitch configuration on all machines. I have not found it yet but I expect this can be done through a PowerShell script which should make life easier.
  • Virtual Switches in Hyper-V support only one VLAN per virtual switch. Because it is not possible to have multiple virtual switches controlling the same NIC’s you have to plan for at least one physical network card per VLAN. Edit: It seems that what was described was the way to configure a VLAN for the Parent Partition. See this writeup on VLAN settings in Hyper-V.
  • Bonding or teaming is not supported for an iSCSI storage network.
  • Resource allocation is handled at the Virtual Machine level, not at a centrally managed location. At the training it was not mentioned if you can manage your resource pools in combination with System Center Operations Manager.
  • As mentioned earlier, there is a Core installation and a Server Role installation. Keep in mind that with the Core installation you will not have the possibility to use Powershell scripts. This is only available when the full server functionality has been installed.

As far as an idea about the practical use of Hyper-V in a production environment you will find a number of potential disqualifiers in the list above. There were two attendees already using Hyper-V in production environments and these were both IT firms that handled server management for clients. One of those mentioned that the network issues in Hyper-V prevented them from deploying it further.

If you are planning a Hyper-V deployment or are making a comparison between different virtualization vendors this information will hopefully help you in making the decision.

9 Responses to “Hyper-V implementation considerations”

  1. Hi Martijn,

    There are just a few bits that are incorrect in the post:

    Licensing – you are correct about the 1 free VM for Standard, 4 for Enterprise, and Unlimited for Datacenter, but they do not have to be 2008. They can be downgraded to previous versions of Windows Server if need be. (See here: http://blogs.technet.com/mattmcspirit/archive/2008/11/13/licensing-windows-server-in-a-virtual-environment.aspx)

    Management Interface – if you choose to enable the Hyper-V role as part of a GUI-Install of Windows Server 2008, then you have a local MMC console to manage the local Hyper-V instance, or other Hyper-V instances too. This includes Server Core and Hyper-V Server 2008. You can also use PowerShell either locally (on the GUI install), or remotely (for the Server Core/Hyper-V Server install, to manage the system.

    Upgrade – You are correct, you can’t upgrade Hyper-V Server 2008 to another version (but you will be able to upgrade it to the next release of Hyper-V Server) but you can take the VMs, without alteration, to another host, running WS2008 Hyper-V.

    Integration Components – These are available for Windows Server 2000 SP4, 2003 SP2 (doesn’t have to be R2), Vista SP1, XP SP2 / SP3. You don’t need IC’s for Windows Server 2008 guests, as they have the ‘Hyper-V bits’ built into them – just make sure that the WS2008 guests are up to date with the Hyper-V RTM update.

    Updating offline VM’s – this can be achieved with a free tool called the Offline Virtual Machine Servicing Tool, which works with SCVMM (http://technet.microsoft.com/en-us/library/cc501231.aspx)

    iSCSI Teaming – Windows Server 2008 has MPIO built it, to provide you with simple management of your iSCSI/FC storage connectivity.

    Virtual Switches – my understanding here is, I can bind a Virtual Switch to a Physical NIC, but when I create a VM and give it a vNIC that’s connected to that Virtual Switch, I can set the VLAN ID at the vNIC level in the Hyper-V Settings for that VM. I don’t have to give the Virtual Switch a VLAN, so all VMs connected to this Virtual Switch will have their own vNIC with their own VLAN ID.

    I’m keen to understand where you attended the training – that way, we can help improve it with 100% correct information

    Hope that helps,
    Matt

  2. Duncan said

    Not really sure what to think of the network/vlan bit. I would want to have a single point of administration, as in VMware terms “portgroups”.

  3. martijnl said

    Hello Matt,

    Thanks for taking the time to write your additions/corrections. Please note the changes made in the post to reflect these.

    Regarding iSCSI: MPIO would be applicable for availability considerations but as I understand it you can’t use it for loadbalancing or enhanced throughput capacity. Can you elaborate on that?

    Regarding offline VM’s: The way I read the Technet article you still need either WSUS or SCCM to perform the actual update. If someone is currently using another patch management system a switch to one of these would be necessary.

    Regarding upgrades of the free server: That is ofcourse what one would expect😉. The issue I have is that the free downloadable version comes with strings attached where the free version of Xen or ESXi do not have those (with regards to upgradeability, if I want to use ESXi with VMotion, HA, DRS etc. I still need to buy vCenter Server). For comparison: XenServer Express Edition is capped to 4GB and dual socket servers, Hyper-V Server Edition is limited to 32GB and dual socket server. ESXi is not limited other than the ESX configuration maximums.

    Regards,
    Martijn

  4. Hi guys,

    Duncan – I agree with you – having completed my VCP, I do appreciate the granularity that the networking goes to in ESX/vCenter. Hyper-V is on catchup on that front, but does provide a core set of vLAN capabilities.

    Martijn – thanks for updating the post – I hope you understand I wasn’t trying to be critical in any way, I just wanted to give your readers the full picture🙂 – I am keen to learn where you were attended the training though! If you could email me that one, that would be great!

    In terms of the CALs, this is a bit of an issue for WS2008 Hyper-V. Hyper-V is classed as a service of the Windows Server OS, which means that anyone accessing a VM (regardless of guest OS running ion the VM), needs a 2008 CAL to match the WS2008 Hyper-V level. As stated, the actual guest OS’s can be downgraded to whatever you like, but you still need the 2008 CALs. Fortunately, this isn’t a problem for everyone, and this will be eased in the future I’m sure. I doubt they’ll change the CAL model, no matter how much noise we make, but you never know!

    I’m not an expert in iSCSI MPIO, but I found this link here: http://blogs.msdn.com/san/archive/2008/07/27/multipathing-support-in-windows-server-2008.aspx which seems to provide some useful info.

  5. I hadn’t finished the last comment when I pressed submit! Feel free to stick the 2 comments together!

    A bit more on the CALs – you don’t need them for Hyper-V Server 2008 on the host, however, this does have scalability and availability constraints. In a similar way to VMware’s S&S, a large proportion of Microsoft’s customers have Software Assurance on their CALs, so they already have access to the 2008 CALs. It’s the ones that don’t that’s the problem! It’s also an infrastructure thing – I looked after Windows Server 2008 in the UK before Virtualisation, and when you spend time with WS2008, you realise that it’s a massive improvement on even 2003, with huge leaps in the web, security and especially virtualisation areas, not to mention the advent of Server Core and improved Clustering. It just takes time to upgrade an infrastructure to 2008, but there are benefits, and the CAL thing goes away then.

    I think the nice thing about WS2008 Hyper-V, is what you get out of the box, without needing dedicated management tools like SCVMM / vCenter etc. You can achieve HA, and Quick Migration, just through the use of MMCs, and this will continue into 2008 R2 with Live Migration, built into the box, which is very cost effective. The CAL thing is still there but should be less of an issue by then.

    So, to continue from the previous comment (sorry!) you are correct about the need for WSUS / SCCM. If you didn’t want to use this free Solution Accelerator, I bet you could achieve something similar with a bit of PowerShell – what do you reckon?

    You are correct about the Hyper-V Server Scalability, but I’m pretty sure it supports 16 logical processors (cores) across 4 physical CPUs – if you look here: http://www.microsoft.com/servers/hyper-v-server/faq.mspx it’s actually a bit contradictory, as it states that the physical box can support 4 procs with 4 cores (16 logical in total), but then it states that Hyper-V Server 2008 can support a max of 192 VMs, and I thought you’d need 4 x 6-core procs for that, but I’m not 100%! Maybe the FAQ needs updating.

    Although it’s limited to 32GB, I wouldn’t say that’s such an issue, especially in the SMB space – I know a number of Partners in this space where 32GB is their usual hardware level for deployment, but this will very by customer / scenario as you can expect! If Hyper-V Server 2008 had HA / Migration capability today, it would be a great little product, and with SCVMM 2008 Workgroup edition shipping at just over $500 retail, it’s a cheap-as-chips management tool to look after your virtualised estate.

    What I will say is, watch this space for Hyper-V Server…

    Final point – Hyper-V definately isn’t based on Xen – http://blogs.technet.com/windowsserver/archive/2007/12/20/Xen-in-the-Windows-kernal_3F00_-Ha_2D00_ha.aspx – now this isn’t a technical answer, but I beleive that both Hyper-V and Xen are based on a reference architecture developed at Cambridge, UK, but I’m not 100% on that one. Either way, they are small, both support the VHD file format, so hopefully, in the future, migrations between the platforms will be possible with minimal conversions. Obviously I’m speculating there, but it would be nice for a workload to be more agnostic across all platforms, a-la-OVF.

    Thanks!
    Matt

  6. martijnl said

    Hello Matt,

    Having the complete picture is important and I think that you add some valuable info for anyone looking into Hyper-V in comparison with other solutions.

    Regarding the amount of CPU’s for Hyper-V server the current FAQ says “Hyper-V Server supports systems with up to 4 processors with 1, 2 or 4 cores”. I can’t remember where I got the dual socket info from but that answer pretty much sums it up. It would be a challenge though to get 192 VM’s running on just 31GB of memory🙂

  7. Hi Martijn,

    192 VMs @ 128MB RAM each = 24GB RAM – room to spare!🙂

    Whenever I’m with Microsoft Partners, and Customers, whenever I mention the 192 VMs, I always follow it up with ‘Just because you can, doesn’t mean you should!’🙂

    Great talking to you, and if you ever have any Microsoft Virtualisation questions or queries, and you want an honest answer (not the script), then drop me a line. Honesty is the best policy for me.

    Matt

  8. Jason Sandys said

    As usual, so much mis-information about Microsoft and its products even though its all public information. I’m glad Matt Spirit jumped on this and corrected most of it.

    Here are some further corrections:

    Like VMware VMotion requires vCenter Server Hyper-V Quick Migration requires System Center Virtual Machine Manager:

    False.
    Quick migration requires Windows clustering not VMM.

    Updating of the actual server is done through WSUS or System Center Configuration Manager. This means that you have to be using one of either technologies for your current patchmanagement:
    False.
    I know this was discussed above, but come on, its Windows. Just because Hyper-V is running does change the fact that the parent partition is Windows. If you have another Windows patching solution in place, then use it.

    Continuation:

    Resource allocation is handled at the Virtual Machine level, not at a centrally managed location. At the training it was not mentioned if you can manage your resource pools in combination with System Center Operations Manager:

    This is true. OpsMgr in combiniation with Hyper-V has a whole thing about PRO – Performance Resource Optimization that allows you to achieve this. The initial statement is very mis-leading though: “Resource allocation is handled at the Virtual Machine level, not at a centrally managed location.” Sounds like lawyer speak to me.

    VMWare is still a great solution, but Hyper-V is catching up fast and for all but the largest implmentations where some of the high-end limitations come into play the biggest difference is cost. I also recommend like Matt, that you contact the instructor of the course and set him straight.

    Just realized another correction.

    Keep in mind that with the Core installation you will not have the possibility to use Powershell scripts. This is only available when the full server functionality has been installed.

    False.

    Although true on the surface, the PowerShell provider for Hyper-V allows you to connect to remote instances of Hyper-V, this is essentially what VMM does. Thus, just because you can’t run PowerShell on the core system itself, doesn’t mean you can’t get the full power of PowerShell.

    Not to be be critical (OK, I’m being critical), but the source of this information was wrong like 50% of the time. Time to find a new source IMO.

  9. martijnl said

    Hello Jason,

    I took the liberty of adding the three posts together.

    Regarding updating of offline machines: The Technet article clearly states that the two supported technologies for the Offline Virtual Machine Servicing Tool are WSUS and SCCM. This means that if you are currently working with another type of patch management that you need to take this into consideration. In the near future there probably will be native integration of this into different patch management systems just like there are VMware plugins but at the moment it is just speculation.

    Regarding resource allocation: It was demonstrated that you assign resources at the virtual machine level (in the configuration of the individual virtual machine). If there is no other way to do this from a centrally managed location that means that you have a lot of manual actions to do if you want to change things.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: