My NAS currently has 4x 4TB HDDs in mdadm RAID10 with ext4 filesystem. This does, as far as I know, not prevent bit rot in any way. Switching to ZFS would, but everywhere I look, ZFS is said to have very high RAM demand and is best used with ECC RAM at that. I don’t have that, NAS only has 32GB RAM in total with 12G being reserved for virtual machines. Ubuntu itself is installed on an nvme ssd. My HDDs are currently individually encrypted, would ZFS allow for similar security measures? Is the amount of memory my NAS has enough for ZFS? Will the absence of error correction mechanisms be an issue? Does ZFS handle daily system suspends well? Would reformatting the RAID as btrfs be a better solution?
Thanks for reading these questions.
@ichbinjasokreativ welcome to our community.
ZFS does offer encryption capabilities that can provide similar security measures to individually encrypted HDDs. You can encrypt a ZFS file system using various encryption algorithms such as aes-128-ccm, aes-192-ccm, and aes-256-ccm.
ZFS encryption can be managed either locally or remotely, and you can use different encryption keys for different file systems within the same storage pool.
However, it’s important to note that there are known issues with using ZFS native encryption along with snapshot send/receive operations, which can lead to data corruption or unscheduled reboots and scrubs. Experienced ZFS users and developers generally advise against using ZFS native encryption in production, especially when combined with snapshotting and zfs send/recv.
Keep in mind ZFS is still deemed Experimental (Back-ups are needed)
If you are considering using ZFS encryption with snapshot send/receive in a production environment, it is recommended to thoroughly test your configuration with your specific workload before deployment. Alternatively, you might explore other options for data encryption until the known issues are resolved.
BTRFS is another good option, or LVM2/ext4.
FTR I run ZFS systems on 16Gigs of ram. But only 2 Pools at a time.
ZFS can handle daily system suspends, but there are some issues that may arise. For example, when a system resumes from suspend, ZFS might trigger a resume after importing a pool, which could cause the system to reboot instead of resuming normally.
I didn’t know LVM had the –raidintegrity switch for integrity checks on top of LVM raids. Will convert my NAS to LVM raid10 with integrity, thanks for the answer!
@ichbinjasokreativ
I have a NFS using ZFS and LVM’s without ECC Ram, it is running fine. Which yes I did max the ram out… really helps with write and reads. Could I run with less yes, but it will affect read writes.
On my backup server which is a supermicro board with Xeon running ZFS is using ECC memory again runs fine.
@1fallen has provided several solutions, my reason for posting was to just provide a sort of backup ( a +1 so to speak) to his post.