I need to get all our home content off individual machines and onto a central server. What I'd like to have is the metaphorical "server under the stairs".
Stuff we need:
- expandable storage. I want to be able to add extra disc as we go along, with minimal maintenance required. Currently we've got about 3Tb of files we need to host, and that's likely to grow by another Tb every 6-12 months based on recent history. I need to be able to add additional disc with minimal pain
- needs to store all the media (i.e. photos, video, music) we have, and run services to serve the various devices we have in the house to playback (e.g. DAAP so we can play stuff through iTunes, ccxstream so we can play stuff over XBMC). DAAP and ccxstream are needed now, but we also need to support new standards as they emerge (so a closed-box solution isn't going to work)
- RAID 5, or something broadly equivalent (e.g. RAID-Z)
- BitTorrent client
- ssh, NFS, Samba access
- snapshot capability (as in ZFS), so we can snapshot individual file systems regularly and rollback when my kids delete their school assignments the day before they're due...
- ability to recover quickly from power outages (it's not unusual for us to have power outages that last longer than our UPS' batteries)
- FOSS software
- a modern distributed version control system running on the box, such as Mercurial
Stuff I'd like to have on the server, but can live without:
- PVR capability, so I could record TV to the box
- Web server. We currently run a small Web server on a very old box, and I'd ideally like to turn the old box off and move the content to the new server just to save some electricity
- Nagios + mrtg
I've been looking at using a EEE Box as the server, primarily because I can get them cheap and they don't consume much power. The choice of OS and file system is more difficult, from what I've found:
- I've got most experience with various Linux distros, but am happy to use another Unix
- FreeBSD and OpenSolaris seem to be the best choices for hosting ZFS
- OpenSolaris' hardware support is nowhere near as good as e.g. Ubuntu
- btrfs, while looking very good, doesn't seem ready for prime-time yet
- ZFS doesn't let you (easily?) add new discs to a RAID5 or RAID-Z
- reading around, it seems that ZFS is a bit short of tools for recovering lost data
At the moment, I'm leaning towards running FreeNAS+ZFS, but I'm concerned about the requirement to be able to add new disc on a fairly regular basis to an existing RAID-Z.
Can anyone provide some recommendations, or share experiences?
Thanks in advance