Proxmox is perhaps virtualization's best kept secret and the big boys probably want to keep it that way. If you've gone in search of the ultimate hypervisor but keep coming up short, allow me to introduce you to Proxmox. Why can I make such a bold statement about a product you've never heard of? It's easy, I've used it. Proxmox brings you the best of two very different worlds: KVM full virtualization and container virtualization a la OpenVZ.
Say what? That's right, full virtualization and container virtualization on the same host system. What's better than that? Well, it gets better, so relax and let me tell you all about it.
Proxmox employs kernel virtual machine (KVM) virtualization to support just about any operating system that you can download and install into a fully virtualized collection of hardware. And, yes, this is the same KVM that Red Hat, Inc. owns and uses as its enterprise-level virtualization solution. And, yes, correct again, it is the same KVM that the Open Virtualization Alliance is built around. So, you are familiar with it then?
Proxmox also supports container-style virtualization, which you'll often hear referred to as jails or maybe even zones. The container virtualization bits are owned and supported by OpenVZ, which is owned and supported by Parallels. If you stick around long enough, you'll hear me sing praises about Parallels and their awesome technology.
You might still be saying, "So what?"
But, you wouldn't understand the implications of this technology, if you did.
Here's the scoop: By mixing the two virtualization types, you can install more than twice as many VMs per host as you can using full virtualization alone. Some techs report three or four times the density per host.
Here's how it works.
Full virtualization is your standard, familiar, full virtualization via XenServer, VMware ESX and, of course, KVM. KVM is so powerful, fast and efficient because it uses the SPICE protocol.
Container virtualization works by partitioning about parts of the host's filesystem and isolates in such a way that the containerized virtual machine "thinks" it's a host running on physical hardware. Containers behave exactly like fully virtualized systems do. Each container has its own passwd file, its own IP address, its own everything including a chrooted filesystem. You can reboot a container, you can power down a container and you can install software into a container.
The only limitation is that the container relies on the centrally running Linux kernel for its brain. This means that your containers must be capable of running the Linux kernel. In other words, you can't run Windows in a container. Or, can you?
You can't with Proxmox.
But, you can with Parallel's enterprise product. This is a topic for another post but just let me whet your appetite on this. You can run Windows containerized, just as you would a Linux, BSD or Solaris system.
Exciting, isn't it?
Now that you're panting over that epiphany, let's return to Proxmox. I told there was more to the story than Proxmox being the ultimate hypervisor and there is.
Proxmox is free. No charge. Go ahead, take one and don't pay for it. Use a hundred of them and owe absolutely nothing.
You manage Proxmox with a web browser, instead of some proprietary, "it only works on Windows" application. Web browser.
Plus the Proxmox team has setup Proxmox so that it's easy to download pre-made container images that go from hyperlinks to VMs in minutes.
But, now you've come to the reality that this is another free product that isn't supported by anyone except a bunch of loosely connected developers and community members. Another rogue product that someone cooked up in his basement between Red Bulls and bouts of WoW. Wrong. You can purchase support contracts for it. The Proxmox folks have also created the Proxmox Mail Gateway, a commercially supported product.
So, now you have no excuses. Go download it, install it and experience for yourself, the ultimate hypervisor.
- Is now the time for KVM?
- Creating an OpenVZ Container
- Install OpenVZ on CentOS to create a virtual container