…playing around with virtualization technology…

Main menu:




Categories +/-

Archive +/-

Links +/-

Meta +/-



-->

Hyper-V

Clever solutions: Microsoft Azure and its fabric controller

I’m not the biggest fan of Microsoft Hyper-V which I assume is the hypervisor used in their Azure solution. As illustrated earlier, Hyper-V has its problems, especially with live migration and iSCSI support. But, the Azure have some clever solution on its own. Read more »

Updates

Well, it’s been a quiet month. I’m still writing on my project, and I’m searching for a job. In addition, the planning for The Gathering 2009, where I’m the chief information officier, has begun. Read more »

Microsoft TechNet: Hyper-V release “party”

Okey, so it’s official, Microsoft Hyper-V is out..

To celebrate, Microsoft held a seminar about both Hyper-V and its management applications. As usual, the number of  “we want you to buy this product” words by far exceeded the number of “our technocal solution is cool, but there are a number of improvements we want to include in the next release” sentences. As I am trying to become a good student, I took notes during the whole session (which btw lasted a whole day..).

To recapture some of my previous comments about Hyper-V, please read my previous posts on the subject: 1 & 2.

Comment #1: Just as some news papers already have said; Microsoft are trying to give the impression that they were the one’s who invented virtualization. As I recall, the virtualization techniques and methods first appeared in connection with mainframes in the 70′s and 80′s. The x86 virtualization is mainly a product of VMware after they released their first product and got their first patent in 1998.

Comment #2: “Virtualization should be a service in the operating, it should not try to be the operating system” (quickly translated and somewhat obscurinated by memory loss.). Well, let’s see: We have a virtualization system which is included in the Windows 2008 operating system. When installing Hyper-V, you actually replace the Windows 2008 kernel with a microkernel called HvBoot.sys (the same strategy as Xen is using by the way). Now, how is that different from an operating system as you still have to have the Windows 2008 (which definitively is an operating system) to be able to run virtual systems?
To make matters worse, Microsoft are releasing a Hyper-V server release which is more or less a stripped down version of Windows 2008 with the Hyper-V role and, as I understood it, nothing more. Well, that’s still an operating system in my eyes.

Comment #3: 24/7 is nice, we love systems with more and more 9′s. But how can you make that happen with Hyper-V? VMware have VMotion (live migration without down time) and High-Availability integrated in its virtualization software. Microsoft have something they call quick migration. It transfers your virtual machines to another physical hosts. So far so good. But, the move doesn’t happen live. You have to take your host offline for some 20-30 seconds terminating all the network connections to the hosts. So, how do you enable 24/7 operations with Hyper-V? You take the good old clustering techniques and make some clusters with your virtual machines as members. Yay! Complexity, complexity, complexity!

Comment #4: Now, x86-64 (or x64 as Microsoft says) have been on the marked for quite some time. I might understand why you don’t want to support older 32 bit hosts with your virtualization solution; but please, come up with a good list of reasons for why… There actually might be someone out there who doesn’t require 2Gig RAM for every virtual host.

Comment #5: Microsoft claim that VT (AMD-V and Intel VT) dramatically improves the performance. On the other hand, VMware says that they are better off doing everything in software since the programming APIs are far from good. I’m puzzled.

Comment #6: It feels like a big, nasty crocodile with it’s teeth stuck in my ass: Licensing. Or, L I C E N S I N G. Microsoft have never understood that we want simple terms. We want to spend money on software, hardware and beer, not attorneys. With VMware, you pay for the services you want. Only virtualization? –> ESXi is available for free. Enterprise management? –> Buy Virtual Infrastructure. HA? -> License. DRS? –> License. Backup? –> License. You can’t mess that up.

Now, it’s Microsoft’s turn: You can buy Windows 2008 in three different versions (and probably a lot more, but I don’t bother checking their web page while writing this..): Standard, Enterprise and Datacenter. Standard gives you an opportunity to run 1 virtual machine. Enterprise gives you 4. Datacenter? Unlimited. So far, so good. Now, here’s the fun part: You can’t transfer your license out of the country. Say what? If you have data centers in two or more countries, you have to have licenses for every possible piece of software in every country. So much for disaster recovery or load balancing between countries or continents…

To make things even worse: If you virtualize your standard edition, you can only run software on the virtual machine; not the host OS. Headaches, anyone?

Comment #7: The joy of taking a pretty known word and replace it with something that sounds stupid: Enlightenment. As far as I know, enlightenment is a window manager – or a commonly used english word. But hey, standard are bad things: Enlightenment, in the Microsoft world, is just a fancy way of saying paravirtualization. Paravirtualization is the technique of replacing privileged kernel calls with hypercalls which the hypervisor understands. Paravirtualization is used instead of binary translation and gives you some extra bang for your buck. But enlightenment? Yeye…

Comment #8: Speaking of paravirtualization: As far as I know, you can’t use paravirtualization on virtual Windows machines since Microsoft doesn’t want to open up their kernel. Using it on Linux works nice. So, Microsoft have enabled their own paravirtualization spec for use on Windows 2008 Hyper-V hosts with Microsoft guests. Well, that’s a bit annoying, but OK. Well, the best thing is that they have made a translator between the Linux paravirtualization support in Suse SLES 10.2 (Xen) to the Windows Hypervisor hypercalls. Why can’t they use the paravirtualization already implemented in VMware or Xen?! Convert hypercalls or use binary translation? Nice call…

Comment #8: Disk space. Just to make a note of it: The actual hypervisor is 100KiB (HvBoot.sys). The service is 260MiB. And, in addition, you have to download the integrated services install for Linux from Microsoft’s web page. Bloated?

Comment #9: This is probably the biggest killer of them all: Every virtual machine has to have it’s own LUN on your SAN. So, every time you need another virtual machine you have to call your storage manager to get another LUN. Or, at least that’s what they said. On the other hand, they also said that you could store virtual machine disk files on SMB shares and all other kinds of disk drives that WIndows recognizes. I’m confused… And I don’t think I’ll spend time testing it…

Comment #10: Disaster recovery: If you have to use Export/Import to move machines from one server to another (or quick migration..), what do you do if your Active Directory, your disk drive, the server or another feature fails and the server/system becomes offline? Will the virtual machines change ID’s, MAC addresses, config files and UUID? At least VMware asks you to confirm that you want to use the same system ID  or generate a new one. Hyper-V asks you to confirm when you try to use the same one,  but hey, they warned us pretty good about just copying the machines from one host to another because of the thight (…) integration with Active Directory.

Comment #11: The integration with every other Microsoft product makes me a bit sick. I just want to virtualize servers, not change my whole system to Windows. Just to mention some of the products they bragged about today: Microsoft Virtual Machine Manager, Microsoft System Operation Manager, Microsoft System Center and Microsoft Configuration Manager. I guess that a lot of these programs are pretty useful if you have a Microsoft friendly environment, but it’s pretty hostile here in my apartment :-)

Comment #12: Hyper-V has one cool feature: Differencing disk type. This is a type of disk which can expand from another disk image. For example, you can install the operating system first, add a new disk and make the installation read only. Then, the cool part: you can write all the changes to the new disk. Nedlesss to say, you can now use your read only installation as a master image for a lot of installations, removing the need for installing the operating system every time you want a new machine.

Generally speaking, the killers for Hyper-V will be the licensing model being used on Microsoft’s products and the SAN storage problem. The licensing issue is pretty much one problem I can’t swallow; it is too darn complicated and put too much restrictions on my use. Even though they promised that there won’t be any technical restrictions, you have to have control over which licenses you have and how many you are using currently to sleep well at night. Why can’t they just say “it’s nice that you bought our product, you can now use it as you like wherever you like” instead of this server farm/country crap? And it doesn’t stop there… For the love of god, make it easier!

When it comes to the SAN problem, I just hope that I’m wrong.

Please make a comment if you have some addition information about what I have just said..

September 12th; Update: Oh, I forgot; another fancy feature which wasn’t ready for the first release: Hot-Add of everything; disks, memory, CPU, usb.. you name it. It is supposed to be delivered at “a later time”. I want it now!

Hyper-V for free

Just as anticipated, Microsoft is, according to Virtualization.info, going to give away Hyper-V for free. In addition, they are releasing a stripped down version which does not require the complete Windows 2008 OS. Even so, my original question still remains: do you have to buy a license for Win2008 to be able to virtualize your machines? And still, will the kernel be built with operating system functions in mind instead of virtualization? You can argue that the memory management and resource sharing algorithms are getting pretty good in mainstream operating systems, but I still believe that a specialized kernel for virtualization will be better than the general one which has to take into account a lot of different use and abuse cases.

Well, anyhow, the world of virtualization just got a little bit more exciting. As we all know, competition usually makes the available products and services better for the end users :-)

My project

So, ok, the new semester started today. As always, I’m a bit lazy on the first day so I took the opportunity to work from home instead of going to school.

It turned out be a rather ok day when I finally got out of bed. I’ve made a quick front page and a suggestion for the content in my project report. As you can read on my “Why”-page, the goal is to virtualize computer labs for students to reduce both cost and administration and at the same time deliver a better service.

After a quick look around, I chose to focus on the following virtualization solutions in the next months:

  • VMware ESX/ESX(i)/Server/VDI
  • Microsoft Hyper-V
  • Xen
  • Sun Virtualbox/xVM/Solaris Containers
  • VirtualIron
  • Virtuozzo
  • QEMU

Are there any other solutions I should look at? I know about the different IBM/HP solutions, but they requires special hardware which are pretty expensive.

Hyper-V: The Administration Package

The Microsoft equivalent to VirtualCenter is named Microsoft System Center Virtual Machines Manager. The 2007 version is out while the 2008 is in beta. t should provide live migration capabilities and simplify management of large Hyper-V farms. So, it should be included in every installation of Hyper-V. But no, Microsoft, doing the same as VMware, is selling the package separately from the Windows 2008 server OS. Nice way to increase your income, not so nice for us that are on a budget…

Well, over to the snarfu:

  1. The installation package is a massive 2.7GiB. VMware VirtualCenter, including MS SQL 2005, is 577MiB.
  2. The system is depended upon a Active Directory Domain. Nice, another application package to administrate. I can see why you want a domain to handle user management, access control and so on, but it isn’t the most user friendly interface. And, it is extremely overkill if you only want to run virtual machines and not your entire organization on the same server farm. The virtual machine manager should be able to manage user management and access control lists on itself given an administrator account on the hosts that it should manage.
    It looks like you can add any host after installing the SCVMM on a domain host. Why you need the Active Directory is still a puzzle…
  3. The SCVMM 2008 beta seems a bit unstable, to say the least. The Virtual Machine Manager keeps crashing every time I try to do something in the administration client.
  4. You can actually manage VMware VirtualCenter hosts from SCVMM. I doesn’t work the other way around.

The crashing made it impossible to continue with Hyper-V. The impression I have of Hyper-V is that it is unfinished and needs a lot of polishing before it is ready for prime time. It might be an alternative for those of you who doesn’t have a virtualization solution already and depend upon the WIndows 2008 server OS for other tasks, but if you are serious about virtualization, go for VMware.

The Hyper-V experience…

Today I installed Windows 2008 Server Enterprise for x64. The reason for doing it was that I’m curious about Hyper-V which requires the Windows 2008 Server. It also requires a 64bit CPU with virtualization technology. The Dell PE R200 satisfies both demands and the install went well. Here are some quick thoughts:

  1. Installation: It takes forever. The installation isn’t only limited to the virtualization technology. The installation is either the full version or the core version. The full version installs almost everything (you have to activate the services you want later) while the core version only installs the core services and no GUI. But, as the full server OS is quite large, the installation takes forever. The ESXi installation is done quickly, the ESX installation takes a bit more time, but the Windows 2008 takes forever. There are probably some ways of installing the Win2008 remotely and unattended, but installation is a dreadful task even if it’s automated.
  2. Patching: As the server OS consists of a huge amount of services and applications, the patching also takes forever. Even though they have moved away from the Windows Update web page to a simple client, it still takes time to patch the server. You might be able to do this automaticly too, but it still takes a considerable amount of time. VMware have the VirtualCenter to do all the patching, and it does it well. And, since the footprint is really small in ESXi’ case, there aren’t really many patches to be applied.
  3. Adding or modifying a network to Hyper-V could disconnect the machine from the network for a short period of time….
  4. No mouse in remote desktop sessions before I install integrated services?! I have to be locally connected to install operating systems?
  5. The installation of Windows 2003 Enterprise seems a bit slower than with ESX(i) even though I’m installing on a local disk drive from a local image.
  6. No network card drivers installed automatically when Win2003 R2 is installed. This in addition to the mouse problem makes it hard to get Win2003 to work. The Integrated services setup requires “a newer version of Windows”…. To install Win2003 you have to manually add the “legacy network adapter” to get a network connection without the “integrated services”.
  7. Really bad unix support, at least the fully supported ones. I’ll try Ubuntu and OpenSolaris later on to see if it works or not.
  8. The Microsoft System Center Virtual Machines Manager 2007 download is nearly 1.7 Gigabytes. And i thought VirtualCenter was huge… Even better, the 2008 beta is close to 2.7GiB, I’m impressed :-)

To sum up my first impressions on Hyper-V: Why should I select Hyper-V instead of ESX(i) + VirtualCenter or Xen? The list of annoying things are already quite large and I expect it to be even larger when I try some of the more advanced benefits of virtualization, namly HA and live migration. In these first attempts, I haven’t found a single feature which is a real killer for the other virtualization solutions. The close connection to the Windows 2008 operating system makes it more of a competitor for VMWare Server, not ESX. And, the VMWare server is, as we already know, supported on both WIndows and Linux. And, it comes for free.

Another problem with a generalized OS as the resource manager is that it is tuned to give a good performance to all the tasks running. It might prioritize an internal operating system process before the virtual machines, giving the virtual machines less CPU time or memory even though these machines might be more critical than the host. This isn’t just a problem with Hyper-V, but with all the virtualization solutions that are available at the time. I don’t know how much this affects the virtual machines, and I guess that Microsoft have tuned Win2008 to give Hyper-V some sort of priority when it runs, but this might become an issue. Here, VMware ESX(i) have a huge advantage – the hypervisor controls all the resources.

Well, that my initial thoughts. Let’s see if it sticks after I’ve done some more tests :-)