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 one.

This question focus on storage management. (I have another question related to the VM/compute instance management).

Here my environement and wishes.

  • Server: HP Proliant MicroServer with 8 GB RAM (AMD Turion dual core with AMD-V technology) with 1 250GB system disk and up to 4 HDD (2 TB) for "data"
  • OS types: 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
  • The 4 HDD is going to be a software RAID array, probably RAID 5.
  • storage should be "virtualised/cloudified":
    • easy to extend: if I add a NAS on the network, I can include the NAS space capacity within this storage space as one virtual disk. This can be a NAS, an external HDD or another server.
    • cluster FS or S3 style space or OpenStack block storage? Whatever is easier to manage/maintain and easy to integrate/plug to VM/compute instance.

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

Note: the VMs I intend to run on top of this server are one dedicated to backup, one for a "owncloud/dropbox"-like service and perhaps one for media server (hosting video and photos). I'm not sure if traditional VMs or compute instance are the most suitable for this.

EDIT 1, re-focusing the question

As understood and after some own research, storage virtualisation and storage hypervisor are rather new technologies with few providers of software stack appart for Entreprise-grade solutions, which won't fit my budget and needs for 1-man personal time availability.

So I will go for more down to earth solutions, but here is the new question: what storage technologies (device mapper, logical volume manager, cluster FS, iSCSI, etc.) to choose for a home server with 4 disk bays, than could be expended with a NAS or another such server in the future?

  • Software RAID using MD + LVM + iSCSI? (not sure if that is even feasible)
  • Software RAID using MD + iSCSI?
  • Software RAID using FS supporting it such as ZFS or BTRFS?
  • GFS2 or OCFS2 cluster filesystem? On top of MD RAID?
  • etc. (you suggest/advise)

EDIT 2, thin provisioning

It seems that my answer would revolved around MD and LVM2 as core technologies. Both supports (experimental) thin provisionning so I could use this feature once it is stable.
I would need to be advised for good user space tools to monitor such technologies and perhaps if there are some tools (web based) to configure remotely the LVM (other than ssh).

Is the lvm "virtualsize" part of the thin provisioning experimental feature, or is it something I could start with while the other technology mature?

Note 1: I can set-up the MD and LVM volumes in the command line, but it would be cool that "maintenance" could be done via GUIs remotely.

Note 2: The storage would be used for backup, so I cannot use experimental or even just stabilised technologies (like btrfs), I want proven solutions. Though, if I can upgrade to this newer technologies when they are mature, that would be nice!

EDIT 3, Linux LIO

I know nothing really about iSCSI or Linux LIO. I've seen that Synology, QNAP and other NAS vendors have implemented the latter in their NAS solutions. How can this help my goal? Is there some administration tools that take advantage of frameworks/libraries like libStorageManagement or Targetd? Is there other alternatives?

  • Take a look at ProxMox and/or FreeNAS. – jmreicha Jul 9 '12 at 18:06
  • ProxMox could apply to my other linked question. I was not aware of the thin-provisioning of FreeNAS, I have to check this feature out. – Huygens Jul 9 '12 at 18:56
  • While downloading FreeNAS, I was advised by SourceForge to look at NAS4Free, OpenMediaVault and Openfiler. All promising related projects. Itś going to take me awhile to verify all these products... – Huygens Jul 9 '12 at 19:02
  • Yeah there are a ton of options out there, you're right you will likely just need to experiment with them to determine which best suits your needs. – jmreicha Jul 9 '12 at 19:37

So you want to use your HP Microserver as a virtualized storage solution to host your VM guests. I recently asked a similar question on serverfault but more towards virtualization storage within the same box. In a way, I think you're heading down this path (or at least looking down the road).

In terms of OS/Hypervisor, I'd recommend that you'd look at VMWare ESXi 5.0. You can install it on a USB stick which saves disk storage for your VMs. It may not be proper free, but it's free enough for your needs. You could also forgo the virtualizing of your file server and just go straight with an OS as virtualization in and of itself isn't the feature you want but rather storage virtualization/thin provisioning is what you're asking for.

For your storage, in my (biased) opinion, I say use ZFS. Nexenta, OpenIndiana or FreeBSD but ZFS is the way to go. With 4x2TB disks and 8GB of RAM, ZFS would be a nice fit. If you use a USB stick for ESXi, you could replace the 250GB system disk with an SSD for ZIL and L2ARC to speed up ZFS even further (if necessary). There are command line tools that can help determine if ZFS even needs ZIL or L2ARC but that discussion is for another post.

You also asked for the ability to append or rather as you put extend storage. I don't know if ZFS is capable of that, but in terms of storage, ZFS is storage is upgradable and maybe that's the better (read: easier) way to go. Maybe someone else can speak to this or maybe there is another file system better suited for this feature but I'm not knowledgeable in this aspect. One thought that comes to mind is to extend disks directly onto the HP Microserver with an external enclosure like this one from Newegg. You can easily create new zpools within ZFS and add the disks to that pool or create new vdevs within the old pool to extend that pool more.

I'm not sure about cloud-esque accessibility other than the use of some custom firewall rules. Maybe other users have better or more detailed answers for you in that regard.

You can setup ZFS volumes as iSCSI targets. Here's a blog post from Oracle for Solaris, but the idea is the same. iSCSI is probably the most common and affordable (aka free) way of virtualizing storage for VMs.

I'd also recommend that in terms of RAID, RAID5/6 may gain you a little more storage space at the sacrifice of speed and simplicity. I've been converted from the ways of traditional hardware RAID (5 and 6) and I'm all about the mirrors. It may be inefficient use of storage but it's a lot simpler to fix and the speed makes up for the difference. This article basically sold me on mirrors rather than RAID 5 or 6 within ZFS and probably outside of ZFS as well.

The cool thing about ZFS is vdevs and striping. For every vdev you create in a zpool, they stripe altogether. So, if you were to go the ZFS route, you'd create two mirrored disks (disk 0 and 1) as a vdev, then the other two disks (disk 2 and 3) as another vdev, then ZFS would stripe both vdevs so you can think of it as RAID 10 (or 1+0). Really fast and really simple. You could suffer from a 2 disk failure (as long as each disk is not in the same vdev) and you'd be okay.

I hope this answers some of your questions. You've given some partial examples of your use cases but what exactly do you intend to do with this file server? Maybe with a little more information, others can offer better directed answers.

  • Wow! Long answer, thank you. I will carefully read it and the question you pointed on serverfault! – Huygens Jul 20 '12 at 12:08
  • Just to keep you posted. I've quickly tested last week FreeBSD in a VM and I'm now making the jump. So I'll try FreeBSD and VMware vSphere for real now. I don't put yet your answer as the accepted one. I'm still hoping to get other quality answers. But after my tests and if I settle for this solution, I will accept it :) Thank you anyway for this detailed answer. – Huygens Jul 28 '12 at 17:33
  • x-( damn VMware! it reported 1.87 GiB for the available memory (I haven't bought yet the 8 GiB I want) and it requires a minimum of 1.97 GiB!!! And it is considered a system error and won't install... I guess I'm going to try FreeBSD on metal then! – Huygens Jul 28 '12 at 18:09
  • Keep in mind some memory is reserved for the hypervisor. All hypervisors need some resources. Are you testing 2GB and it only reports 1.87GB? – osij2is Jul 29 '12 at 4:57
  • The MicroServer comes with 2 GiB but the video card consumes a part of this memory... hence, the 1.87GiB... I plan on ordering 8 GiB but not before Sept/Oct... With KVM 2GiB would have been more than enough for a host and 1 guest for backup services, though I understood that ZFS might need more... – Huygens Jul 29 '12 at 8:56

While downloading FreeNAS, I was advised by SourceForge to look at NAS4Free, OpenMediaVault and Openfiler. All promising related projects. Itś going to take me awhile to verify all these products... – Huygens Jul 9 at 19:02
Yeah there are a ton of options out there, you're right you will likely just need to experiment with them to determine which best suits your needs. – jmreicha Jul 9 at 19:37

Just check the others for features. If they don't offer ZFS as a filesystem choice then move on. It's that simple.

FreeNAS is now also allowing what they call "Plugins" which are effectively VM's running on the box so you could potentially add in a CUPS Print Server for example to your storage array.


I did made the switch to NAS4Free after testing it for some time.

On NAS4Free I get higher speeds than I could get on FreeNAS 8.3. Also does it contains some nice features like encryption than FreeNAS 8 lacks. And, a big bonus, NAS4Free now supports Highly Available Storage (HAST)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.