Original URL: https://www.theregister.com/2013/07/08/hyper_v_conversion/

Virtual brownfields: Microsoft's push to woo the VMware masses

Are the tools up to snuff? Our man Trevor Pott investigates

By Trevor Pott and Iain Thomson

Posted in Virtualization, 8th July 2013 10:47 GMT

The virtualisation war is heating up. With Server 2012 Microsoft is at last bringing a viable platform to the table and Server 2012 R2 looks set to eclipse that.

You will get different numbers depending on who you talk to but the general consensus is that Microsoft has managed to grab about one quarter of all new installs.

It is easy to understand why greenfield deployment numbers are keeping VMware execs awake at night, but how difficult is it for Microsoft to crack committed VMware shops?

Peaceful coexistence

The key to breaking into brownfield virtualisation is ease of transition and coexistence. VMware has a powerful grip on the enterprise and the first rule of enterprise IT is that you do not introduce technologies that will disrupt running services.

Downtime is money – almost always far more money than the pricing delta between VMware and Microsoft.

Microsoft has begun to address some of these concerns by giving System Center 2012 the ability to manage multiple hypervisors from a single application. While moving virtual machines between VMware and Hyper-V infrastructures is still something of a pain, a single point of management helps mitigate that.

Running two environments has its upsides. If you embrace heterogeneity you can gain some measure of freedom from vendor lock-in but at the expense of increased complexity, requiring additional staff and training.

The costs can be offset at scale by the bargaining position a heterogeneous environment gives you. If vendors play hardball you can sweat them out without operational impact.

Whether your goal is to operate two environments in tandem or to transition from one to the other, you are going to run across the need to convert virtual machines.

Technically, it is best to reinstall and reconfigure each virtual machine for its new environment. However, that is impractical and unrealistic.

Does Microsoft have what it takes to tackle conversion?

Frequent the library

Microsoft's virtualisation management tool is System Center Virtual Machine Manager (SCVMM). This will deploy hypervisors to bare metal systems. It will also manage hypervisors, virtual machines and virtual networks, and to an increasing extent virtualised storage. It is also the tool that allows you to manage hypervisors from multiple vendors.

Assuming that you have added your VMware environment to SCVMM then converting a virtual machine residing on a VMware server to Hyper-V is reasonably straightforward.

One part of SCVMM's duties includes keeping a library of virtual machines and it is from here that handling virtual machines in bulk really takes place.

If you have a virtual machine that you want to convert, then you can simply copy the virtual machine files over to the SCVMM library server, place them in the appropriate directory and trigger a rescan. The virtual machines will then show up in the library's list and you can choose "convert virtual machine" at your leisure.

Another option for bulk conversions has been recently released: the Microsoft Virtual Machine Converter (MVMC).

This is available as a standalone application or as a plug-in for the VMware vSphere Client. It is completely scriptable and suitable for datacentre-scale work. A PowerShell Automation Toolkit is available for MVMC as well.

Entirely separate from the MVMC is the Virtual Machine Migration Toolkit (VMMT), also a large-scale conversion tool. Hyper-V.nu has a write-up that is worth a peek if you have a project coming up.

Of course you don't need either the MVMC or the VMMT to do scripted conversions if you have SCVMM. Like all modern Microsoft server technologies, SCVMM is entirely addressable via PowerShell. Microsoft has posted some basic examples.

That is three separate applications that you can use to convert virtual machines with Microsoft's blessing. SCVMM is probably the best for one-off virtual machines. The other two are not worth the time unless you want to start doing things in bulk.

Obstacles in the path

Microsoft has certainly provided a few different routes to get your virtual machines into Hyper-V but they all have the same basic limitations that are inherent to Hyper-V conversions.

In an ideal world I would be able to take a copy of a running virtual machine and convert it

One of the most annoying is the requirement to remove the VMware tools before conversion. This limits how useful the process can really be.

In an ideal world I would be able to take a copy of a running virtual machine and convert it from VMware over to Hyper-V. This would allow me to do testing of how that virtual machine survives the transition without taking it down to do so.

Even if I find the time to take the virtual machines down for conversion, the tools removal requirement means that if I am doing the conversion for testing purposes I will have to remove the tools, shut the virtual machine down, convert it, bring it back up, reinstall the tools and then reboot it again. That's a lot of reboots.

It also means that every virtual machine you have converted to Hyper-V will need to have the Hyper-V Integration Services installed after the conversion is complete to work properly on the Hyper-V infrastructure. The whole process is far from being as smooth as it should be.

The conversion process does not support VMware virtual machines with virtual hard disks connected to a virtual IDE bus. You must ensure that all disks in the virtual machine are SCSI before converting.

In reality this probably does not affect too many of us as VMware defaults to using SCSI disks for everything. Still, it is one more thing to check before attempting that conversion.

Out with the old OS

Operating system support is the real bugbear of conversion. Let's put Microsoft's official list of supported operating systems to one side and talk a bit about the cold hard realities of working with virtualisation in general and Hyper-V in particular.

The first thing to bear in mind is that it is entirely possible for an operating system to know it has been virtualised. Older operating systems did not but most modern ones are perfectly aware of when they live in a virtual machine. The newer the operating system the better it handles virtual conversions.

It is technically possible to convert any operating system that will run on both platforms. I have converted Windows NT, straight through to Windows 8 and dozens of varieties of Linux. I cannot say, however, that this has been without problems.

Be prepared for a fight in the Windows world if you are older than Windows 7/Server 2008 R2. Uniprocessor to dual processor is one example of a conversion issue that can get you. I have also seen bizarre sysprep errors and issues with network cards making the jump.

In general I find that if you run into an issue with a pre-Windows 7 virtual machine, pull out as much virtual hardware as you can before the conversion and add it back in afterwards. That will usually work.

Linux is another beast altogether. Microsoft's Linux support has lagged VMware's for years. Microsoft has now mostly caught up but there have been some side effects.

Microsoft's approach to making Linux work properly in Hyper-V has been to get Hyper-V support added to the Linux kernel. This works brilliantly but is found only in the very latest distros.

V2V migrations on Linux virtual machines that don't have the Hyper-V integration services baked into the kernel don't work out well. Networking is almost always a problem, with CPU count being another serious issue.

I have quite often found that on several older versions of Linux you simply can't do conversions if the CPU count is greater than one, limiting usefulness severely.

With newer Linux distros conversions work just fine if you pull the VMware tools out first. The Hyper-V drivers in the kernel make migrating from VMware to Hyper-V easier than going the other way. If you can upgrade your Linux virtual machine’s kernel before migrating, I strongly recommend you do so.

Outside help

For all Microsoft's many offerings there are still niches left unfilled. For starters, not everyone runs SCVMM. Server 2012 does such a good job of virtualisation on its own that many SMEs just don't see the point. In other cases the conversion tools don't do a good job with older or unsupported operating systems.

Among the best of the third-party tools is 5nine's free V2V EasyConverter. It supports Windows and Linux and has done yeoman's work for me over the years.

Backup software providers such as Veeam and Vision Solutions (via its Doubletake offering) often have the ability to perform conversions as well.

In some cases – usually older Linux virtual machines – a sector-by-sector copy of one virtual machine type to another is called for. No conversion magic, no special sauce: this simply takes the virtual hard drive from one hypervisor and writes it out in the format of the target hypervisor.

There is usually a fair amount of work involved in getting the drivers and whatnot cleaned up post-conversion, but this method of last resort usually works.

For these image-based conversions I use Starwind Converter, but I have heard good things about Winimage as well. If you are using this method on a Windows OS I strongly recommend you look up how to run "Detect HAL" for your version of Windows.

As the option of absolute last resort there are the P2V/V2V forums on TechNet. If none of the technologies I have discussed here can get your virtual machines converted, someone there will probably be able to help you figure it out.

Are we nearly there?

The question remains: is this good enough for Microsoft to make a dent in deployed VMware environments? My answer is a heavily qualified "yes".

The conversion process is far from idiot-proof. Microsoft just doesn't have a simple tool that can go up against VMware converter and win.

That is kind of sad, since Converter has stagnated of late and has not brought in many of the features I would like to see it gain. Microsoft's conversion process has not had an ease-of-use upgrade that would bring this to the masses.

I'd like to see Microsoft offer a VMware Converter-class tool that targets SMEs. In fact, considering that there isn't much evolution going in to Converter, I'd like to see Microsoft turn its considerable might towards the business of conversion and show VMware a thing or two about how this ease-of-use thing is done.

That said, what is on the table is more than good enough for the enterprise datacentre. If you are doing this at scale then pre-testing everything, adding a few layers of process and learning to love scripting is not going to bother you.

Enterprises are where VMware is most deeply entrenched so it makes good sense for Microsoft's offerings to focus on this area.

Microsoft has good tech on the table. It has conversion software that works. If VMware doesn't knock it out of the park at VMworld in August then I expect Microsoft to start making significant inroads into VMware's installed base and those VMware executives to lose quite a lot more sleep. ®