I have been a long time user of VMWare and have used the product extensively to run Windows on Linux or vice-versa. In addition, I have used it to virtualize many of the services I use at home. For instance, my Samba and FTP server is a virtual machine running Ubuntu 10.04 on an Ubuntu 12.04 host. This has saved my ass in the past when I’ve had hardware issues and had to migrate from one computer to another. Since the Samba and FTP server was a virtual machine I merely had to move it from the computer it was on and host it on a temporary computer while I repaired the hardware on the main computer. Once the hardware was repaired I simply moved the virtual machine back. I recently added Owncloud to my virtual server collection. This has been very effective and I have been very happy with the decision to virtualize the server since moving it will now be very easy and making backups is as simple as stopping the guest, making a copy of the file and then restarting it.
The virtualized servers have been running on my fileserver which is mostly responsible for storing the 2 TB of data in a raid 1 configuration and making it available to the household users. This has all been working quite well, but in the words of Tim Allen, I wanted to give it “More power!!!!”. It was a simple enough decision to split the virtual server part off of the fileserver, let the fileserver continue to host its 2 TB of data and let a new computer do all the virtualization…. Enter Proxmox VE. Proxmox VE is similar to VMWare ESXi in that it is installed on bare metal and runs virtual machines that you have to remotely access. Proxmox supports fully virtualized KVM and OpenVZ or containers. This was ideal for me since most of my home based virtual machines run Linux and containers are known to be much more efficient than KVM, but can not run Windows.
With the platform selected the next step was to purchase the hardware. I selected the AMD FX-8350 processor with its 8 cores feeling that this would be perfect for CPU hungry virtual machines. I snapped this into an MSI 990FXA-GD65 which would unleash its power giving it 6GB SATA III ports. I then added a Seagate Barracuda 1TB HD, but this failed after a week and I replaced it with a Western Digital Red 2TB for nearly twice the price. Last I put in two 4GB sticks to take advantage of the dual channel memory, but planned to upgrade later. As for video and case, these things are merely fluff on a headless PC, so any old one was fine. In the end it came to about $630, a little more than I wanted to spend, but a lot less than if I had purchased something prefab.
Installing Proxmox was a breeze as everything is open source and you just download the ISO image, burn it to a CD/DVD and boot the computer with it. The installation took about 15 minutes and then everything else is done via the web-based interface. The hardest part was moving the vmware machines to the Proxmox server. I found several forums that discussed the process and all of them seemed a little complicated or cumbersome. In the end, I rationalized, since the VMWare vmdk file type is supported as a valid image for Proxmox KVMs, I would just create a new KVM on Proxmox with a vmdk of the same size as the one I was copying and then before launching the new KVM, I would replace the vmdk. For Linux this worked like a charm. For Windows….not so much. So for Windows the key is to install the IDE registry file that is mentioned on all the forums when migrating a Windows 7 or XP PC. DO THIS! However, DON’T uninstall VMWare Tools. It turns out the VMWare Tools software fixes mouse tracking issues when accessing the KVM via the default VNC Console. You just have to disable some of the VMWare services that startup since they will fail.
Now that everything has been up and running and all my VMs are running nice and neatly from a single centrally located server, I can say it has been very reliably and the new hardware is very snappy. Now when my kids ask me to setup a Minecraft server, I just spin up a virtual machine (or most times, an OpenVZ container), install everything and away it goes. I have even been able to abandon my old KVM based Owncloud server for an OpenVZ version with hardly any downtime. With virtualization there is no need to stop the old server until the new one is up and running. Then it’s a simple change to the router to forward the traffic to the new server and DONE!
For anyone curious about Proxmox and virtualization, I say, “Give it a try, you won’t be sorry.” It is NOT just for the big companies and besides…..it’s a LOT of fun.