Comment on ZFS: Should I use NAS or Enterprise/Datacenter SSDs?
yote_zip@pawb.social 1 year agoZFS can grow if it has extra space on the disk. The obvious answer is that you should really be using RAIDZ2 instead if you are going with ZFS, but I assume you don’t like the inflexibility of RAIDZ resizing. RAIDZ expansion is fully ready to be implemented into OpenZFS, but it will probably take a year or so to actually land in the next release. RAIDZ2 could still be an option if you aren’t planning on growing before it lands. I don’t have much experience with mdadm, but my guess is that with mdadm+ZFS, features like self-healing won’t work because ZFS isn’t aware of the RAID at a low-level. I would expect it to be slightly janky in a lot of ways compared to RAIDZ, and if you still want to try it you may become the foremost expert on the combination.
lemmyvore@feddit.nl 1 year ago
Right, I’d like to be able to add another disk and then grow the filesystem and be done with it.
Really, I’ll have to look into that then because health checks are my main reason for using ZFS over ext4.
mdadm RAID should be a transparent layer for ZFS, it manages the array and exposes a raw storage device. Not sure why ZFS would not like that but I don’t want to experiment if it’s not a reliable combination. I was under the impression that ZFS as a filesystem can be used without caring about the underlying disk support, but if it’s too opinionated and requires its own disk management then too bad…
yote_zip@pawb.social 1 year ago
The main problem with self-healing is that ZFS needs to have access to two copies of data, usually solved by having 2+ disks. When you expose an mdadm device ZFS will only perceive one disk and one copy of data, so it won’t try to store 2 copies of data anywhere. Underneath, mdadm will be storing the two copies of data, so any healing would need to be handled by mdadm directly instead. ZFS normally auto-heals when it reads data and when it scrubs, but in this setup mdadm would need to start the healing process through whatever measures it has (probably just scrubbing?)
turbo_scanning@feddit.de 1 year ago
Today, growing a pool is possible by adding a vdev, right?
So, instead of RAIDZ2, one could setup their pool with mirrored vdevs.
However, I’m not sure about the self-healing part. Would it still work with mirrored vdevs, especially when my vdevs consist of two physical drives only?
yote_zip@pawb.social 11 months ago
FYI: RAIDZ expansion just got merged: github.com/openzfs/zfs/pull/15022 Estimated timeline about a year from now for OpenZFS 2.3 which will include it.
yote_zip@pawb.social 1 year ago
Mirrored vdevs allow growth by adding a pair at a time, yes. Healing works with mirrors, because each of the two disks in a mirror are supposed to have the same data as each other. When a read or scrub happens, if there’s any checksum failures it will replace the failed block on Disk1 with Disk2’s copy of that block.
Many ZFS’ers swear by mirrored vdevs because they give you the best performance, they’re more flexible, and resilvering from a failed mirror disk is an order of magnitude faster than resilvering from a failed RAIDZ - leaving less time for a second disk failure. The big downside is that they eat 50% of your disk capacity. I personally run mirrored vdevs because it’s more flexible for a small home NAS, and I make up for some of the disk inefficiency by being able to buy any-size disks on sale and throw them in whenever I see a good price.