The Team and I got back from Seattle this past weekend. We were there soaking up the internal Kool-Aide on new and existing technologies. Unfortunately - most of them we can't share with you just yet, you will have to be a little patient. One thing that I can share is my enthusiasm for our latest virtualization technology (Hyper-V) and how it is changing the virtualization space. I attended numerous sessions around our entire virtualization stack and will be pooling resources with the other team members to whip up some really Amazing sessions for the upcoming year - targeting readers in BOTH Enterprise and Smaller/Mid-market sized shops. If you are a "Jack/Jane of all Trades" and you haven't had the chance to try out Hyper-V yourselves, you'd be surprised at the low level of entry for hardware. I forget that a lot of people have not tried Hyper-V as of yet. This guest post came in last week from Graham out west sums up his experiences with using some re-purposed hardware to setup a lab machine to hone his skills. If you have hardware you've picked up in the last year or so - it's worth flashing the BIOS and checking it's Hyper-V hosting potentials.
To his credit - I only had to chat with Graham a couple of times via email to answer his questions. As always - I like his post for it's frankness and to the point remarks. Keep 'em coming Graham! As for "the Idiots guide to Hyper-V"..... hummm... maybe you are on to something there. Any publishers listening?
P.S. feel like letting your writing side show a little? Drop the team a note with the EMAIL contact button (top left) to let the team know - we're ALWAYS looking for Canadian IT Professionals who want to connect and share their stories here on the blog.
Graham Jones (Surrey, British Columbia)
Before I start I would like to thank Rick Claus and Danielle and Nelson Ruest (MVP’s) for getting me to first base so that this “rookie” no longer feels like a complete Hyper-V virtualization idiot. I should point out that I started down the Hyper-V road with very limited virtualization experience in general. Hitherto I had “played” with Virtual Server and Virtual PC to a very limited extent. So what was my purpose? It was quite simply that I felt that I ought to learn more about it so that I would at least be able to converse with those people who clearly know way more than I. Besides my daughter-in-law has just given me some spare PC’s from her business (my son and I just re-architected her systems to use SBS and TS on a new server) and a spare PC is something like an itch that has to be scratched. It turned out that one of the PC’s had a half decent ASUS mobo [M2A-VM which at ~$65 is great value] for the purpose (up to 8GB DDR2 RAM and 4 SATA sots). So with the purchase of 4GB RAM, the use of 3 spare drives and my MSDN subscription I was all set to go. The PC came with an AMD Athlon 64 X2 3800+ CPU which I anticipated would be perfectly adequate for “playing” purposes and so far has proven to be the case.
*** begin edit - missing paragraph added below ***
The other question regarding the processor is, “will it run Hyper-V”. In the case of AMD there is a feature called AMD-V which is supported in the Athlon 64 X2 series of processors (and others but not all). Intel has a similar feature (VT) and you will have to check to see which processors are supported. There is an AMD utility which checks to see if your system will support Hyper-V. When I first ran it I got a very disappointing “No”. However, a BIOS upgrade to the latest release soon solved the problem. There is also something called DEP (hardware data protection) which is a feature of 64bit processors but I won’t confuse matters by getting into that.
*** end edit ***
Having installed WS08 x64 Enterprise and turned on Hyper-V I was all excited with anticipation to create my first VM. I decided to choose WS03 x64 R2 Enterprise. Being the IT guy I pressed ahead on instinct. Why the heck would I need to read any instructions? I had heard that this was easier than falling of a log! Creating the actual VM is pretty straightforward and I remembered not to put it on the system drive (default location). I had planned to put the VM’s (more on which later) on the 2 non-system drives. Installing the OS was straightforward, ie. just like a regular machine, once I figured out how to re-boot the VM with the media in the DVD drive. The first time through I suddenly realized that I might be installing on the host machine and quit. Once installed one of the “pains” of VM’s came flooding back to me – capturing the keyboard and mouse to move between the guest OS window and the Virtual Machine Connection window. I will say that the whole interface is significantly better and more intuitive than with Virtual Server. Let’s face it, it had to be! OK, so now I had a working VM but it couldn’t “talk” to anything which is kind of useless. So my next excursion was into Virtual Networks. It turns out that there are 3 different types (External, Internal and Private) of which the External is of most interest to me at the moment, ie. connecting to the LAN/internet. So I proceeded to create an External VN with a binding to the single physical NIC on the machine (Realtek). Confident that I could now add the WS03 VM to the VN and all would be well I pressed on. But opening IE was a big non-event. I had no connectivity. Rick suggested that I needed to add the Integration Services via the Action menu (Insert Integration Services Setup Disk) on the Virtual Machine Connection. What the he… are the Integration Services (IS). You mean that this thing simply doesn’t work out of the box? Besides I don’t have a Setup Disk! Just for the hell of it I clicked on the menu item and big surprise – nothing happened.
Having done some internet hunting I found a reference to a file called vmguest.iso in the System32 directory of the host OS. I duly made a CD and popped it into the drive. It ran and declared that the services were now installed. I don’t know if there is another way to do this; hopefully there is a simpler way. Now did that mean on the host OS or on the VM? It didn’t make too much sense to have to go through this for every VM. Besides I still couldn’t access the LAN. So I thought that I would click on the Action menu item again (having sworn for the millionth time about having to press CTRL+ALT+LEFT ARROW to move out of the guest OS window) and low and behold things started to happen. I now had Integration Services on my VM and I had LAN/internet connectivity. A further bonus is that you can now move freely between the guest OS window and the Virtual Machine Connection window, sigh! Hold on, don’t get too excited. There are some limitations. IS is only supported on WS03 R2 and WS08. Gnashing of teeth! At this point I hadn’t realized this and proceeded to install XP x64 Pro. By now creating the VM and installing the OS was child’s play (no references to a 5 year old could do this, please). Grinding halt. I can’t connect to the LAN again. At this point I got my education extended on how Hyper-V and NIC’s work thanks to the Ruest’s. The following blog post is quite helpful: http://blogs.msdn.com/virtual_pc_guy/archive/2008/01/08/understanding-networking-with-hyper-v.aspx. Armed with my new found knowledge about Legacy Network Adapters (LNA’s) [the blog explains] I was sure that I would now have it solved. What, it still doesn’t connect! A little digging and I discover that XP x64 does not support LNA’s nor IS. Sigh! So be warned. It would seem that if you want to get outside the host machine with XP x64 you are screwed.
My next adventure was with WHS. I already have WHS running on a separate PC but I also wanted a test machine. My first install attempt produced a BSOD. So I moved on to Vista x64 which by now went like clockwork because it supports LNA’s which incidentally appear as emulated Intel NIC’s. I wonder why Intel? J. However, you are still stuck with CTRL+ALT+LEFT ARROW to move around. Sigh! When I say like clockwork that was after I extended the IP range for the DHCP on my router (duh!). Where is that 5 year old when you need one? Not deterred by my first experience with WHS I gave it another go and low and behold it installed – go figure. The tide at the local beach must have come in! Since WHS is based on WS03 R2 I figured that IS would work and guess what; all I had to do was click on the Insert Integration Services Setup Disk menu item under Actions and the IS’s installed. I didn’t put a disk in which suggests that when I first ran vmguest the IS’s were somehow added to Hyper-V.
Now I was on a role but didn’t have a copy of XP installed. I wanted Vista and XP to try with the WHS VM all within the host machine. So XP x86 was my next target. With my previous experience this was totally straightforward since it supports LNA’s. Next I installed the WHS Connector on the XP and Vista VM’s with the WHS VM as the target, having first installed WHS PP1 to get Vista x64 support. Everything went well and the following morning the XP and Vista VM’s had been backed up to the WHS VM. Of course, this is not a practical environment for WHS (test only) because WHS requires multiple separate physical disks on its own machine to work its “magic” correctly. I haven’t tried yet (nor figured out) how to add a second VD to WHS so that I can try folder duplication in a virtual environment.
As I suggested at the beginning of the article the CPU hasn’t been a problem in this learning/test environment. So far I am using a total of 3.5GB RAM with all 4 VM’s running. I put 2 VM’s on each of the 2 non-system HD’s. My purpose in writing this article is hopefully to provide a little help to others with pretty much zero knowledge to get out of the starting gate with Hyper-V. It isn’t necessarily to promote Hyper-V versus its competitors since I don’t have the knowledge or experience to do that. What did occur to me along the way is that although there is a lot of info on the web and on the Microsoft site I didn’t come across what I would call the true “Idiots Guide to Hyper-V” for people like myself who started from absolute scratch and had to go through perhaps more learning pain than is really necessary. We all know that it isn’t possible to write the perfect guide. There will always be an element of “experimental” learning involved but let’s not make it harder than it need be. If we want people to adopt new technologies we must flatten the learning curve and in particular highlight the “gotchas” which are great time wasters and frustration generators.