ZFS in JBOD mode – coping with single drive failure

zfs

I want to run ZFS on my small office server. The server is on a tight budget and I have to make do with the hardware (drives) I got, meaning they are all of different size and model. What I want is basically a simple JBOD setup with a single storage pool, but I read that losing a single drive means losing the entire pool.

This confuses me, since I understood it that metadata is spread out on different drives.

To be clear: I am not looking for redundancy here. Losing a drive means partial data loss. I am fine with that. What I am not OK with is losing a single drive means losing the entire pool.

Have I understood it correct that this is the case? If so, how do I best solve this? I have considered creating multiple pools, but the problem is the storage requirements will be highly dynamic, meaning I would have to shuffle around files and mountpoints way too often for that to work.

The reason for choosing ZFS is that is reasonably straightforward to use, has snapshotting and CoW support and seems reasonably stable, but I could switch to another filesystem (btrfs?) if it better solves the above.

Best Answer

ZFS stripes data across top-level devices (vdevs or block targets).

If you expect to be able to tolerate the loss of a top-level devices (in your case a single block target), then ZFS does not meet your needs.