Does OpenStack make sense for a home server? [closed]

I currently have a home server (HP N40L) running FreeNAS to provide my home with a few basic things like a file server, media streaming, and a few virtualized apps + a windows XP virtual desktop.

It works well enough, but the software is always lagging behind what's available on Linux based systems. I've tried OpenMediaVault and a few others and they all seem nice, but I really like OpenStack's ability to just set up and tear down services on a whim (plus, the web admin console is very nice). I could just go with a straight up Docker solution, which I will do if it turns out that OpenStack is too butch for my setup.

So, does it make sense to run OpenStack for a home server given that:

  • I have only one machine to run everything from (and don't intend to buy more)
  • I'd be doing common home-server kinds of things, but would like to be able to test new software without polluting my host OS (and probably deploy some basic web apps for my personal use).

In particular, I'm worried about redundant storage. I currently use ZFS in a mirrored array. OpenStack uses a different storage scheme. Would my data be safe from hard drive failures and bitrot if I use OpenStack's storage on a single machine?


Solution 1:

No, openstack is way too much of an overkill for your needs. For one, you will have to waste a decent amount of VMs just setting up for openstack elements.

You also seem to have some of your understanding muddled up a wee bit. Openstack is not a virtualization platform on its own, but runs atop other virtualization platforms like vmware, KVM, xen, etc. So, openstack is a cloud platform that puts a cohesive face atop large volume of virtualized resources, and especially introduces easy provisioning and AAA into the mix.

For your setup, I think your best opensource options are:

  • KVM (with libvirt or oVirt) ..
  • or Virtualbox.
  • You could also look at proxmox-ve (which supports both KVM as well as the ability to also create OpenVZ containers (similar to docker lightweight containers) .. and is also built atop a standard Debian distro)

Again, since you have just the one box, there is no use tying up the hardware with a storage management distro like FreeNAS, or some others ..

I would recommend as follows:

  • install a bog standard Debian/Ubuntu, RHEL/Centos based distro ..
  • install virtualbox or KVM ..
  • deploy your NAS solution within a contained VM (you can use PCI/USB pass through to present physical storage hardware seen by the host to contained VM)

For storage redundancy on the physical host itself that hosts VMs, you have several options ..

  • Use the BIOS to create mirrors of individual disks (I own the N40L and know it ships with a SATA controller that allows hardware mirroring)
  • And/OR Use software raid within the OS (perhaps even based off LVM volumes)
  • And/Or (if you love ZFS, like I do) deploy ZFS on the linux OS .. ZFS on linux is a mature project now and linux distros commonly have zfs packages in standard repos these days

A final alternative to all the above, is to install ZFSguru, which provides you a FreeBSD based NAS solution .. that also allows you full install/use of X desktop (gnome, I think), as well as KVM virtualization and tons of other stuff that you can enable. ZFSguru is awesome, but is a one-man project, so you may be better sticking it in a VM than have it run your entire platform.