I had this exact setup as a VM running on my ESXi box and it's been great, only update is running 10x3TB for 30TB array.No one mentioned mdadm on a Linux flavor? Bare stripped Debian is my choice. Ubuntu is all kiddy pretty, and the scripts tailored around Ubuntu made some mdadm services not work right on boot.
Make an array, make a filesystem, share it via nfs/samba/ftp/http/vpn/ipsec/whatever you need, done.
Expansion? Add drive(s) to array, grow array, resize filesystem, done.
I'm running a 20tb array on a box with 512mb.
If you don't need stupid amounts of cache, the no worries. I can easily saturate 600Mbyte /sec with $30 sata cards.
I Budget build, I hate spending money.
A few caveats for folks looking at this route:
- RAM size - while running the array/system takes very little resource, depending on filesystem on the array if you need to do check/repair you may need more RAM. I run XFS and 512MB was fine until I had to do xfs_check which made me bump it up to 4GB. This was easy for a VM in ESXi host but something to keep in mind if standalone.
- OS 32bits vs. 64bits - my original build of 10x2TB was bumping up against file system limit on 32bit Linux, after I've performed all the 3TB swaps and array rebuild and tried to grow_array and grow_fs, the system won't let me. Researching turns out I needed 64bit Linux and again, deploying new VM and copying settings made this easy but definitely something to keep in mind.
- MDADM version - make sure you update to latest build first before setting up array etc. Some versions had a nasty bug that made RAID6 arrays lose their Superblocks which is no fun trying to fix. I'm sure there are others but just keep in mind a lot of Linux distros doesn't come with latest MDADM