Hypervisors: grinding through to bare metal
Getting control of the desktop
Workshop We are generally pretty familiar by now with the concept of virtualisation on the desktop, where a virtualisation application allows a secondary guest operating system (OS) to run within the host OS.
Software and hardware have improved dramatically, to the extent that Microsoft even includes a complete virtual installation of Windows XP with some higher end versions of Windows 7 to aid compatibility issues. This has started to move virtualisation into the mainstream consciousness rather than being limited to the tech savvy community.
The ability to run virtual guest OSs can be very useful, allowing multiple different operating systems to run in parallel on the same hardware rather than requiring separate PCs. In this way, an engineer for example may have a main Windows PC but have some custom applications that run on Linux.
Instead of running two PCs, or dual booting, he can switch seamlessly between Windows and Linux as though they are just separate applications. The guest OSs are typically simple files that can be loaded in the virtual machine application, and it is usually fairly trivial to move the files to another PC with a virtualisation application, which usually has to be the same on both PCs.
This also illustrates a key point in how desktop virtualisation has been implemented so far - the virtualisation capability has been provided by a hypervisor application that is accessible only after the main operating system, which is installed natively on the hardware, has been able to boot. This is commonly termed a Type 2 - or hosted – hypervisor. Because the hypervisor is really just an application, the virtualisation capabilities they enable have not, so far, really changed the way that PCs are fundamentally used and managed.
Recent technology developments are likely to alter things. Type 1 hypervisors - or bare metal hypervisors – do not require a host operating system to function. They work at the lowest level, before any OS has been booted, and have become the main tool of virtualisation for servers. Both Citrix and VMware have developed these low level hypervisors for use on client PCs, be they desktop or notebook, taking advantage of the hardware support built into many modern machines.
By running a sophisticated Type 1 hypervisor, whole new approaches to provisioning, updating, backup & restore, and support can be considered. This is because with the low-level virtualisation capability, the requirement for the main host OS to be natively installed goes away. Freeing the operating system from the hardware can allow, with appropriate licencing and tools, a central virtual image to be loaded and run, rather than having to be installed from scratch. This can greatly reduce the time required to set up new PCs and get them into users hands. It can also get users back up and running quickly should they have a hardware or application failure.
Backup and recovery can be simplified too. Tools can take snapshots of the virtual OSs, and allow them to be recovered should corruption or loss happen. With centrally stored virtual machine snapshot libraries, techniques such as de-duplication can greatly reduce the storage footprint. Restoring the OS can become just as simple, with the image readily available from a separate partition, portable image disk or over the Internet.
With these techniques, it will even be possible to use bare metal virtualisation to enable much greater flexibility in how people can work both with or without their PC. With the OS as a virtual machine, snapshots can be easily taken and whole images or just recent changes uploaded to the network. Should the PC be left behind, users may be able to log onto a different PC and have the image of their OS loaded onto a server and run via a thin client application - giving them their own personal PC served over the Internet. Or, if their PC needs to be replaced for some reason, the stored image could easily be downloaded to the new PC, allowing the employee to continue with their personal system after a very short period of downtime.
These features all offer much promise for reducing the pain that many feel with OS installation, backup and support. As always though, there is no such thing as a free lunch. Moving to a hypervisor based deployment model may require significant investment, even if it offers the opportunity to simplify things. Management tools as well as operational processes will likely require a thorough rethink, and licencing may prove to be a headache as many applications and OSs are today licenced on the basis of running on a single dedicated PC.
As the change will involve a different way to install and manage the OS, tying it to an OS refresh may help the business case, particularly if the refresh also includes new hardware. With Windows 7 gaining traction, it is an opportunity to investigate the potential for rolling out on top of bare metal hypervisors.
If not, it may require bringing forward hardware investment if a sizeable proportion of PCs are not able to support the new hypervisors, a concept that may be unpalatable for many IT managers or CFOs in these cash strapped times. ®
"allows you to view the screens of the hosted VMs and switch between them"
It's part of the design, and it requires some external hardware (so this may be enough for you to argue), but the PowerVM hypervisor on IBM Power systems is architected so it is possible (using the HMC or IVM partition) allows the console screen of all LPARS to be opened from the console.
The same was true for the daddy of all type 1 hypervisors, IBM VM, which also allows a single master terminal to display the consoles of each of the partitions (IIRC, been some years since I worked with it, and most customers used to want physical consoles anyway).
Yes, I know they are text only, but when you have OSs which do not rely on a GUI to run them, why do you need anything other than a text mode console? You have X11 and if you must, virtual consoles using VNC for that.
Where you are getting confused is believing that VMware and Citrix invented the type 1 hypervisor. They did not.
Of course, anyone in the know realises that there is really no such thing as a "Bare Metal" hypervisor, because, as has already been pointed out, VM is an operating system (used to be actually booted from disk!) and PowerVM is actually a locked down (an not even particularly cut down) Linux kernel in flash storage. But hey! It's convenient for the vendors to sell the hypervisor as a firmware "Black Box", that the customer needs to know nothing about, particularly when the security people come snooping.
"Bare Metal" installs
Last I checked, a Type-1 hypervisor ("bare metal") does not have the capability to display the screen of ANY of the VMs running on the system. Therefore, you would be REQUIRED to run a Type-2 hypervisor to be able to have your OS install moved around with you regardless of your machine. Granted, you save time by only requiring the install of the hypervisor, but then you're stuck with 2 full OSes to manage. That's the problem with XP Mode in Windows 7. All the insecurities of XP (albeit, can be severely hobbled to run only the app(s) in question), plus the Win7 host environment to deal with.
Anyone have a lead on a Type-1 hypervisor that actually allows you to view the screens of the hosted VMs and switch between them? With the Type-2 situation, the "host" OS either does nothing and consumes resources, or (more likely) is used as a production OS which needs patches/updates/reboots. Obviously, reboots means having to (at the very least) suspend the hosted VMs and resume them once the reboot is complete. If one of those VMs happens to be a network service (database perhaps?) then the host tends not to be patched or otherwise configured-needing-a-reboot for large spans of time. Always tricky if the host needs to have a program installed that insists on a reboot to "complete."
While most of the concepts in the this are OK, there some major flaws:
- "We're all familar with virtualization", then the author spends several paragraphs describing it (in the most high-level, basic way) that anyone who is familar would already know.
- No OS (as other people pointed out) means no OS. The VM platform is an OS, but I supposed for a non-IT person it doesn't do GUI so it's not.
- Save copies to the network, download to laptop, etc: if this worked, it would be fantastic. Have my work 'PC' on a server, remotely accessible, etc, etc, but be able to 'check it out' to a laptop if I need to be away from a network. The problem is it generally takes hours to make these backup copies and transfers, even with 1gigE. Do you think someone is going to wait at *least* 30 minutes to transfer a VM before leaving the office?
- Performance of the VM is always less than the OS installed on bare metal. Especially with desktop-type VMs, the hypervisor has to abstract the hardware which slows everything down.
"If I want thin client computing (and trust me, I do understand the reasons why some people might), wtf do I need a virtualisation-ready desktop system with a bare metal hypervisor? What does that give me that Citrix or LTSP or whatever doesn't already give me (other than a big bill from VMware, of course)?"
Quite a lot.
Not all applications play nice. Plenty of IT Departments waste hours trying to trick badly designed software to work properly in a multi user environment such as LTSP or Citrix XenApp. Solutions like XenDesktop or streamed applications are one solution, but they are complex beasts to setup and maintain, are bandwidth intensive and costly in terms of licensing and the network infrastructure required to support them. They also don't lend themselves to distributed environments.
Isn't Hyper-V considered a Type 1 hypervisor even though it's installed in a full or core install of Windows Server 2008/R2?