I recently added a mirror to a very simple zfs pool and decided to document it here for posterity. This worked flawlessly in a FreeNAS 10 system with two 4 TB drives.
ZFS should have been great, but I kind of hate it: ZFS seems to be trapped in the past, before it was sidelined it as the cool storage project of choice; it’s inflexible; it lacks modern flash integration; and it’s not directly supported by most operating systems. But I put all my valuable data on ZFS because it simply offers the best level of data protection in a small office/home office (SOHO) environment. Here’s why.
Hard disk drives encounter errors from time to time, so it’s a good thing that most have the ability to recover data anyway. But RAID systems usually have their own error recovery capabilities and can be thrown off when a hard disk pauses I/O. So it’s a good idea to use hard disk drives that allow you to disable or limit error recovery in RAID systems.
I’ve dabbled with FreeNAS in the past and had such a great experience with pfSense (a similar FreeBSD-based project) that I jumped in with both feet on my home office server build. But my initial impressions were, frankly, terrible. I’ve got the system running and stable now, but I’m finding it difficult to recommend FreeNAS at this point.
I like ZFS Send and Receive, but I’m not totally sold on it. I’ve used rsync for decades, so I’m not giving it up anytime soon. Even so, I can see the value of ZFS Send and Receive for local migration and data management tasks as well as the backup and replication tasks that are typically talked about.