Home Server: server virtualisation, what to choose? [closed]

I'm looking for virtualisation solutions for storage and OS for a home server. A sort of private cloud where I manage the storage space independently of the VM space.

This question focus on VM/server (or compute instance or server hypervisor) management and what would best suit my needs. (I have another question related to the storage management).

My use cases are:

  • One physical server
  • A backup VM server: rsync and other services running.
  • A personal cloud VM server: a kind of owned dropbox system, à la ownCloud. " users foreseen.
  • A media VM server: streaming videos and displaying photos.

Here my environment and wishes:

  • Server: HP Proliant MicroServer with 8 GB RAM (AMD Turion dual core with AMD-V technology)
  • OS types for the VMs: only Linux (perhaps a *BSD VM in the future)
  • Linux distributions do not matter, I'm familiar with RHEL, Fedora, Suse, Ubuntu, but any other recommandation will be fine. I can make the jump to *BSD OS if better suited
  • 2-3 hosted VMs are foreseen: backup server, owncloud server and media server (optional). Those are only servers, so no graphical console needed
  • By VM I mean a virtualised environment like KVM, Xen, etc. or a compute instance like with OpenStack
  • storage should be "virtualised/cloudified" see my other question. Thin provisionning would be awesome
  • VM should be able to be migrated to another server in the future if performance cannot be fullfilled anymore by the current server
  • It does not matter if installation of such setup is complicated as long as management tools allow for relatively easy maintenance
  • I don't have Windows at home, so solution should be Linux friendly and would be nice to be web based. But native apps are OK too.
  • System should be easy to enhance: by adding a new server to migrate some of the VMs to it. So it's really a kind of private cloud on which I could run some Linux OS.

I would prefer free (libre, as in a free speech) and open source tools. But it does not have to be free as in a free beer.

So Xen, KVM, VitualBox or OpenStack? Other solutions? What would you recommend?


For a home server setup using Linux exclusively, I would recommend KVM with virt-manager.

These are already included in most Linux distributions, and KVM is ready to use out-of-the-box. Xen and other hypervisors require additional setup.

Virt-manager is a nice gtk+ GUI app which lets you manage your virtual machines through libvirtd (which is also capable of managing Xen and some other hypervisors). It's also capable of managing remote hypervisors, so you need not go to the server machine at all.

Virt-manager is also capable of configuring and using advanced storage such as SAN/iSCSI within the GUI, though if your storage setup gets really exotic, you may have to go edit some config files.

As for distro for the host OS, I personally am using Fedora 17, though you could also use CentOS 6 (though KVM would be a bit older in this case).

This is what it looks like on my desktop managing local and remote virtual machines: enter image description here


Huygens (great name btw! I have a cat named Titan :)),

I was wondering if the hardware listed (AMD Turion /w 8GB of RAM) was a planned purchase, or is it a system you already have in your possession? The reason I ask is if you are planning on running 2-3 VMs, with the possibility of adding more in the future, the box does sound slightly under powered IMHO.

Keep in mind I have 0 experience with doing any 'cloud' networking so I do not have a good idea of how resource heavy something like this might be.

Also, why have you eliminated VirtualBox as possible solution? You can create, delete, start, stop, virtual machines from the terminal just as easily as you can from the VirtualBox GUI (see http://www.virtualbox.org/manual/ch08.html).

VirtualBox meets many of your listed requirements (easy to enhance, works well on Linux hosts, can run various Linux guests). I have yet to try to add additional storage to VirtualBox VMs via the command line, but it does not seem like it would be too hard to figure out. And I know there is a web interface available for VirtualBox to allow for administration via your favorite web browser (see http://code.google.com/p/phpvirtualbox/)

Or it could just be I am stuck on VirtualBox. :)

Thanks

Richie


I would look at openSUSE and try to build off that. Among the many useful things they have is Mirall for owncloud. Theres also projects like WebYast that will help you admin the server remotely, and other storage projects like mediatomb