Microsoft has done remarkable things with virtualization — unbelievable, some say.
One outstanding achievement is the way the Hyper-V architects managed to completely collapse the guest operating system layer directly into the hypervisor. Take a look at this diagram from a Microsoft Virtualization competitive brochure:
[Yes, it's that same brochure again.]
There are several key differences between Microsoft and VMware hypervisor architectures. While the hardware and applications layers are pretty straightforward, applications don’t run directly on hardware. As you are about to see, these two platforms take very different approaches when it comes to virtualizing workloads.
The VMware vSphere solution is to use a thin, high-performance virtualization layer that enables a single physical system to simultaneously host multiple virtual machines. Each of these virtual machines executes isolated instances of traditional guest operating systems — Windows, Linux, Solaris, Netware, etc.
Due to apparent technological advancements in Hyper-V, it is now possible to run applications of all kinds directly on that integrated Windows OS/hypervisor layer without the need for a guest operating system at all. This allows Microsoft to omit an entire layer from their virtualization architecture.
I’m sure you have seen various announcements about the exceptional support that Hyper-V has for Linux workloads. Without a guest operating system layer, one must logically conclude that Linux applications are actually running on the Windows/Hyper-V hypervisor integration directly. Spectacular!
I thought I’d test this technological breakthrough in the lab myself by running Postfix, a very popular Linux SMTP mail server, on Windows Server 2008 R2 with Hyper-V. According to the diagram above, Postfix is classified as an application — the third layer.
Now, in order to install Postfix, I have to interact with the second layer in the stack, which is the “Microsoft Operating System w/Virtualization.” Since I’m an RHCE, I decided to use a Red Hat Enterprise Linux package of Postfix, but we can all agree that SUSE Linux Enterprise Server 11 would work equally well. However, I would not recommend using Ubuntu packages since that distribution is not supported by Hyper-V. Another side benefit to this technique is the fact that Windows has great mouse support.
Just as one would do on a legacy Linux system, I opened a trusty command shell and installed the package like so:
This is the first step to getting Postfix installed and running. I do have to admit that it took a few additional troubleshooting steps in my case — most certainly unique to my environment, so I will spare the details.
In order to complete the Postfix implementation, you’ll need to edit several configuration files. Do not use Notepad for this, as it does not understand the peculiar format of these text files:
One would think that the virtualization layer could also dynamically accommodate for UNIX line formatting, but that evidently was not part of the design. Fortunately, this is a very minor issue since WordPad can be used without problem:
Once you have the basic configuration in place, restart the service and validate — telnet to port 25 and send a test email.
There you have it, amazing Hyper-V virtualization — same capabilities as VMware vSphere with 25 percent fewer layers!