Wednesday, April 30, 2014

Keeping Your Hyper-V Environment Patched

In the last post I covered a brief overview of Hyper-V vs ESXi.  Today I will share with you my experiences in keeping this environment patched.  Hold onto your seats, this is going to be a wild ride...

So before I go further, I would like to send you over to the following blog - http://windowsitpro.com/hyper-v/easily-maintain-hyper-v-template-image.  John Savill writes up the process pretty well.  His example hints at just doing this in Hyper-V and excludes mention of SCVMM.  This isn't too far off though since, even with SCVMM, performing certain tasks on either the Hyper-V host or the Hyper-V manager app is still much easier than trying to do it in SCVMM.  Also I found that even with the Hyper-V Management feature installed on SCVMM, the powershell modules still don't work correctly.  At Step 6, make sure you choose the Generalize option for SYSPREP.  This will make it so the image can be used by SCVMM during the Create Virtual Machine from template.  Otherwise you will get a big ol' error during a build.  Step 8 I ran from the Hyper-V host as it was just easier to keep everything local.  Once the export completed, I copied the file over to the SCVMM Library server directory so it can be connected to the Template Image.  Once that is all set, you should be good to go for building more updated VMs.  It would be best to incorporate this into your patch management process and perform this on a monthly basis.  I'm sure if you are smarter than I, you can automate much of this process.  I am also sure this is documented somewhere in some Technet blog but probably requires that you are using System Center for patching rather than WSUS.

The next post I will have up some steps to easily deploy a VM from template through a script...

Hyper-V and SCVMM not quite ESXi and vCenter

I am a huge fan of virtualization technologies.  I started my days in NT 4.0 and when Virtual PC was released I jumped at the ability to run multiple operating systems without needing to dual boot.  Years later I was able to experience VMware's virtualization platforms.  It wasn't just booting multiple systems is was streamlining the patching process, moving systems to other physical resources without batting an eye, and even moving them across datacenters to take advantage of off-peak utility rates.  Virtualization has allowed companies such as Amazon, Netflix, and Google to grow into what they are today.  And it has allowed much smaller companies the ability to run enterprise class environments without having to take up real estate in their small server room.  2-3 physical servers could be 20+ virtual servers.

This may or may not be a series of posts related to virtualization, we will see.  But for now it will be some nifty tips and tricks to help you get through using Hyper-V and SCVMM.  For those who don't know, Hyper-V is the evolution of Microsoft's Virtual PC/Server.  It is the hypervisor which is currently in use in their data centers and online service platforms.  From a small business or startup's perspective, it is a very inexpensive way to build your new server infrastructure since Microsoft has a few licensing programs that cater to the small budgets of these types of businesses.  So naturally it makes sense to utilize Hyper-V over VMware's ESXi.

"But isn't ESXi free?"  Glad you asked, yes it is and so is Hyper-V.  Earlier this year Microsoft released Hyper-V Server 2012 R2.  This is their free version of Windows Server 2012 w/ Hyper-V.  Provided you have proper licensing, you can install your Windows VMs on this with no additional cost.  There are some hardware limitations but I won't get into that at the moment.  But this is only for their standalone products.  Managing those systems is a different story.

Here is where the expense comes in (aside from the hardware costs)...  You can install as many virtual machines as your physical host(s) can support.  But to manage all these hosts and support a proper virtual infrastructure, you need the management server.  In VMware's case, this is vCenter.  In the Hyper-V world it is Microsoft System Center Virtual Machine Manager (SCVMM).  I may cover what one has to go through to get this thing running in another post later on.  It was a bit more difficult than getting vCenter running.  The requirements are not all that different, but the implementation is a bit more time consuming.  For example, it is recommended that a separate SQL Database Server be used for storing the Hyper-V information.  You can use the same server, but SCVMM will not install SQL for you.

So to wrap this bit up...  If you are a budding business and need to keep your costs low, going the Microsoft route may save you some money with their small business and startup programs.  There is nothing wrong with that.  If you find you like using Hyper-V, moving it to a more enterprise class environment would not be too difficult.  If you grow to where you can afford VMware, then migrating from Hyper-V should not be too difficult.  You would just convert them using the VMware vSphere converter and do them as physical machines.  Sadly going VMware to Hyper-V is not as easy.  You would need to stand up SCVMM first and incorporate your vCenter server in the mix.  Then you would need to use the MS converter which may or may not work.  I've seen mixed success with it.

In the next post I will cover some tricks about keeping your Hyper-V templates updated...