Very good actually!
It isn’t often I get enthusiastic about Microsoft products these days but hyper-v 2012 R2 (free) is a Really Useful Engine.
We are an SME, we have a virtualised environment and we use free virtualisation products as in our space I can’t justify spending $ to virtualise a server. Besides I’m an IT guy and I always try the free stuff first.
Between 2007 and 2009 we virtualised our office running remote XP PCs and an SBS 2003 Server under VMWare Sever 1.0 then 2.0 on Ubuntu 8.04 LTS servers on inexpensive low end Dell tower servers. It was 100% reliable, performed reasonably well and didn’t take much effort to manage. Once a month I’d plug in a USB drive into an Ubuntu server and run a script that snapshotted each VM, copied the vmdk files to USB, then removed the snapshots. At the same time I’d apply any outstanding Windows updates to the SBS server (with ensuing painfully long installation and reboot) and the much faster Ubuntu updates that didn’t require a reboot. Once every six months or so I’d shut everything down and restart it – it seemed to need this as performance slowly dropped off over time.
A couple of years ago I looked at changing from VMWare 2.0 server to ESXi version 5.0. The ESXi install was easy and it worked fine in my test environment but I found the free version without Virtual Centre quite lacking, specifically backing up VMs, importing and exporting VMs and accessing USB drives from the service console. All these things I could do easily on VMWare 2.0 but looked hard on ESXi free (although GhettoVCB looked like a good option for backups). In the end I put it all in the too hard basket and moved onto other things.
This year I decided to get on with it as I was worried that VMWare 2.0 server was getting very old and would bite me soon. ESXi 5.5 was out and hyper-v 2012 R2 had recently been released, and there was a free version of it. On paper the free hyper-v looked to have all the functionality of the paid version apart from the GUI. What really appealed was the hyper-v server would allow me to map drives, mount USBs disks and export or backup VMs easily from the command line and via scheduled tasks – all those things that were easy with VMWare Server 2.0 but not with ESXi.
So I decided it was worth a test drive. I wasn’t really looking forward to installing a Windows server but hyper-v couldn’t have been easier, download the ISO, burn to DVD, boot, answer a few questions and five minutes later I had my hyper-v 2012 R2 (very free) server running. The only problem was no GUI management tools. While powershell lets you do everything from the command line being new to the hyper-v world I really wanted to start with a GUI tool and then graduate to the command line after I know it all worked.
To manage it with the native GUI tools I needed a Windows 8.1 PC to run the RSAT tools or install a free GUI tool on the hyper-v server. I tried out a few free tools, the most promising one was ProHVM free for personal use. With it I was able create, start and connect to VMs, however when I tried more complicated tasks such as importing VMs in place it had problems. So reluctantly I decided to upgrade my Windows 7 PC to 8.1 (it came with an upgrade license included).
Hyper-v installs in 5 minutes, not so Windows 8.1. First it was upgrade to Windows 8 as my license was for Windows 8 not 8.1, then run the free 8.1 upgrade from the app store. I got there in the end, it wasn’t a pleasant experience, but I learnt a lot and one day I may write it up.
Next challenge was connect to the workgroup hyper-v server from my domain PC. I really wanted to keep the hyper-v server standalone and not dependant on a domain controller that would (all things going well) be a guest VM on that server. Well it is doable, and I got it working using the instructions here but in the end it was still a bit hard and whenever something didn’t work as expected I was unsure if it was caused by the lack of domain membership. So I joined the server to the domain and this made it much easier.
I used StarWind V2V converter to turn my VMWare VMDK file for a Windows XP PC test VM into a vhd file then created a VM in hyper-v for it and attached the disk. After a couple of reboots, an install of the hyper-v client integration tools, and a reactivation of XP the VM was working perfectly – performance excellent.
Next up Ubuntu 12.04 VM, no problems it just worked. Once booted I enabled the inbuilt support for hyper-v. The only thing I didn’t like was very little info was being output to the console on boot for the linux VM. After a bit of searching and trial and error I found editing /etc/default/grub to uncomment GRUB_TERMINAL=console then running update-grub resulted in a much more informative boot process.
The last VM to come across to my test system was the SBS 2003 server, all 120GB of it using the same process I used for the XP VM. It worked fine.
Time for some fun – I built a second hyper-v server so I could test some of the more interesting features such as live share nothing migrations, replication, and import from another server (interestingly the i3 PCs we use won’t run hyper-v VMs under Windows 8.1 as they lack SLAT but if you install hyper-v 2012 R2 free they will).
Imports/exports/share nothing migrations/replicas – it all just worked and was really easy. As I get older I appreciate easy stuff. I moved the XP VM between hyper-v servers while logged onto it via RDP and I didn’t notice it, the connection stayed up while the 120GB vhdx and running state of the VM was moved. Very impressive, and all this for free.
That was enough for me – the next weekend I rebuilt our VMWare 2.0 servers as hyper-v 2012 R2 servers and converted the VMs. The only hitch in the entire process was I couldn’t connect to the VMware servers using the VI Client any longer (probably because I was using Windows 8.1, too new for the old VI Client I had) so I had to use a mix of the web interface and command line tools to start and stop the VMware VMs.
Having the domain controller as a guest on the hyper-v server doesn’t seem to be a problem, it caches credentials so I can log on and do stuff even if the DC is down.
Backups – we have a belt and braces approach. We backup our file share within the SBS VM to idrive and also sync it to google drive using insync. At a VM level the VM exports are so fast and non intrusive that I run a powershell scheduled task each night to export all VMs to disk, then copy to a USB drive. We keep a weeks worth on USB and rotate USB drives.
All up a good result, very easy to manage, performance excellent (better than under the old VMWare, not sure how it would compare to ESXi), and easy to backup.
Next up – do something with the SBS 2003 server VM, it is end of life. Much as I would like to replace it with a Samba 4 server the sensible choice looks to be Server 2012 R2 Essentials as a VM.
Update: I did it. SBS now replaced with 2012 R2 Essentials.