mmmmmmm, ZFS.
First, the background info… We have a family wide NAS which houses hundreds of movies, tens of thousands of songs, hundreds of documents and all manner of other important digital content like vacation photos.
Recently, I was listening to some old music (~5yrs) and noticed some degradation (very audible pops and clicks), which is unacceptable. The NAS was running Debian and a software RAID5 (4 disks, 3 live, 1 hot spare), and had been in that form for a few years. Now, the corrupt audio could easily have preceded this particular incarnation of the NAS (which has been around in various forms for ~12yrs), but it was concerning nonetheless.
I’ve read and seen lots of phenomenal press regarding ZFS and decided this was the time to give it a go. So, I ordered some external drives from Newegg to use as a staging area, copied all the existing data onto them, loaded the NAS server up with Solaris, and created a mirrored ZFS pool from all 4 disks (I’m more concerned about integrity than overall size at this point).
Solaris supports the two primary protocols the heterogeneous NAS clients connect from, CIFS and NFS, and I have a weekly ZFS scrub running in cron. To top it off, data I/O is noticeably faster on Solaris than it was Debian.
All in all, I’m thrilled. Solaris could be less painful, but ZFS is an amazing file system that lends me confidence regarding data integrity of my many irreplaceable files.
If you haven’t played with ZFS yet, you’re missing out. Grab OpenSolaris, and explore.
You can even create ZFS file systems on top of files (instead of disks) if you want to try additional things out, but lack additional disks! Try that with a MD software RAID…