Researching common ZFS pitfalls

Hello everyone,

I am looking at getting into ZFS and having data redundancy (and eventually backups), not only for personal use but maybe even with my career. I have some basic knowledge of how TrueNAS is set up but want to avoid common pitfalls and areas commonly forgotten about when implementing myself. I started researching and realized that I could aggregate all of this data into a scoping review paper. I’m going to try and do as much research as I can defining basic topics and concepts and essentially make an open-ended paper. I’ll explain that this is made by someone not very knowledgeable but looking to get feedback on my finding of other’s issues and what I should further my research into.

To note, my use case isn’t anything extraordinary, but I think this could be a fun project to get into. Does anyone have any places I could look into for info on this? I’ve been looking at forums and YouTube videos, mainly ones that have been solved so I can write down what their solution was.

Thanks!

  • Using RAIDZ for VMs. Gross overgeneralization, but IMHO true for newcomers.

  • Not understanding how padding an pool geometry works for space efficiency.
    opinions_about_tech_stuff/ZFS/The problem with RAIDZ.md at main · jameskimmel/opinions_about_tech_stuff · GitHub

  • changing volblocksize to 64k without understanding the read write amplifications implications

  • Not understanding that volblocksize or block size is a static value, while record size is a max value

  • Disable compression because you think that your data is not compressible, without understanding that your 1.1MB file in a 1MB record size dataset, will be two 1MB records, where the second records zeros can be compressed to, well 0 :slight_smile:

  • thinking you need “cache”, when in reality, many use cases don’t.

  • I know that ZFS itself uses the term “cache” for L2ARC. I still think it is best to avoid the word “cache” when talking about ZFS.

  • thinking adding a slog will make your asyc writes faster.

  • thinking PLP is about security, when it is about sync performance.

  • thinking you need ECC more than for any other FS.

  • thinking ECC memory on TrueNAS will prevent your none ECC protected workstations to not write bad data onto the fileserver.

  • tinkering with defaults without fully understanding what they are doing.

  • not following hardware requirements.

  • not setting up scrubs and notification alerts.

3 Likes