I've run my own Home NAS on ZFS for 4 years or so. In the end I ended up with majority NVMe setup with long-term archival storage on HDDs. This made my NAS much more useful / ergonomic since I can search, move files at 10Gbps speeds. I really hated the pause when opening up directories, etc. Details here: https://benhouston3d.com/blog/home-network-lessons
FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
41–50 of 54 posts
Re: FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
#42Earlier quoted context omitted.
I never found a good non-tutorial introduction into ZFS concepts. Do you know any? By non-tutorial, I mean something that doesn’t focus on teaching you the command-line tooling. Like you can explain to someone how Git works conceptually in detail, without having to mention any Git commands and having them exercise some Git workflow hands-on.
Did you read the fine manual? https://openzfs.github.io/openzfs-docs/man/master/7/zpoolcon... https://openzfs.github.io/openzfs-docs/man/master/8/zpool.8.... https://openzfs.github.io/openzfs-docs/man/master/8/zfs.8.ht...
Re: FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
#43Earlier quoted context omitted.
Did you read the fine manual? https://openzfs.github.io/openzfs-docs/man/master/7/zpoolcon... https://openzfs.github.io/openzfs-docs/man/master/8/zpool.8.... https://openzfs.github.io/openzfs-docs/man/master/8/zfs.8.ht...
I have seen those, yes. These are reference materials, not an introductory presentation that explains the concepts and their relations, design rationale and use cases in context.
Part 1: https://www.youtube.com/watch?v=NRoUC9P1PmA
Part 2: https://www.youtube.com/watch?v=TwCXVp_u86o
ZFS In the trenches: https://www.youtube.com/watch?v=YGJ9cYecdCc
Some good stuff here: https://www.youtube.com/c/Deirdr%C3%A9Straughan/search?query...
Re: FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
#44Earlier quoted context omitted.
The difference is zfs does a lot of work and makes a lot of promises that it proved the data is good at every step of the way while it's being handled, that other filesystems do not do. So: "I copied the data and didn't really look at it much." and it ended up being corrupt, is different from: "I promise I proved this is solid with math and logic." and it ended up being corrupt, complete with valid checksum that "pro…
ZFS says "once I've committed to disk, if the data changes, I'll let you know". This works, regardless of if you have ram errors or not. I will say that the reported error rate of 5 bit errors per 8 GB per hour in 8% of installed RAM seems incredibly high compared to my experience running on a fleet of about one to three thousand machines with 64-768 GB of ECC RAM. Based on that rate, assuming a thousand machines wit…
The way I explain ECC RAM and file systems is "Since data is present in RAM before it is given to a file system driver to store and after data is retrieved by the file system driver, the data is only as good as what the RAM can assure." ZFS handles everything once the data is in its purview. It provides various features to ensure redundancies and recoverability in case the underlying hardware fails for any reason.
Re: FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
#45Earlier quoted context omitted.
IMHO, there's not much hassle anymore, unless you seek it out. The FreeBSD installer will install to zfs just as well as ufs. This article seems to not take the least hassle path. Backups using zfs snapshots are pretty nice; you can pretty easily do incremental updates. zfs scrub is great to have. FreeBSD UFS also has snapshots, but doesn't have a mechanism to check data integrity: fsck checks for well formed metadat…
The difference is zfs does a lot of work and makes a lot of promises that it proved the data is good at every step of the way while it's being handled, that other filesystems do not do. So: "I copied the data and didn't really look at it much." and it ended up being corrupt, is different from: "I promise I proved this is solid with math and logic." and it ended up being corrupt, complete with valid checksum that "pro…
> However, if your RAM is not ECC RAM, then you do not have the guarantee that your file is not corrupt when stored to disk. If the file was corrupted in RAM, due to a frozen bit in RAM, then when stored to ZFS, it will get checksummed with this bad bit, as ZFS will assume the data it is receiving is good. As such, you’ll have corrupted data in your ZFS dataset, and it will be checksummed corrupted, with no way to fix the error internally.
This is more or less true, but the same is true of... anything? If a file is corrupted in RAM, literally any filesystem will just save the corrupted data; that's how it works. The only way I can see for ZFS to somehow be worse than anything else is if a scrub moves things around, in which case yes I suppose you technically are exposed to an extra case of the data being in RAM to risk corruption, but any other time you're way ahead with ZFS regardless.
Re: FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
#46For anyone reading in the future: ZFS is better for multi-disk setups. Btrfs for e.g laptop etc.
Fedora and Arch use btrfs by default now if I remember correctly.
Re: FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
#47When setting up root-on-ZFS on FreeBSD, it's worth knowing about boot environments (a concept originally from Solaris): * https://klarasystems.com/articles/managing-boot-environments... * https://wiki.freebsd.org/BootEnvironments * https://man.freebsd.org/cgi/man.cgi?query=bectl * https://dan.langille.org/category/open-source/freebsd/bectl/ * https://vermaden.wordpress.com/2022/03/14/zfs-boot-environme... It lets you…
I use ZFSBootMenu with Linux and in that setup, the entire root dataset is in the snapshot, so it’s a ”complete” restore.
Re: FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
#48Is zfs really worth the hassle, for someone who does not have time to play "home sysadmin" more than once or twice a year? I've just rebuilt my little home server (mostly for samba, plus a little bit of docker for kids to play with). It has a hardware raid1 enclosure, with 2TB formatted as ext4, and the really important stuff is sent to the cloud every night. Should I honestly bother learning zfs...? I see it popping…
It depends on whether you’re interested in it or not. There are multiple benefits with ZFS over your current setup, such as snapshotting, compression and the fact that it’s a virtual volume manager similar to LVM, ie more control over the things I just mentioned on a subset of the storage.
I also avoid hardware raid controllers like the plague for the simple reason that you are then ”vendor locked”, which you wouldn’t be with ZFS, you could easily move the disk(s) to another chassi.
Re: FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
#49TrueNAS is Linux Debian nowdays
Re: FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)
#50Is zfs really worth the hassle, for someone who does not have time to play "home sysadmin" more than once or twice a year? I've just rebuilt my little home server (mostly for samba, plus a little bit of docker for kids to play with). It has a hardware raid1 enclosure, with 2TB formatted as ext4, and the really important stuff is sent to the cloud every night. Should I honestly bother learning zfs...? I see it popping…
I use SnapRAID for replication personally, because I like the flexibility it gives in terms of drives that make up the array, I like that it does not work the drives too hard, I like that I can drop drives in over time (to try and lessen coinciding failures) and I like that it works on top of a normal file/folder hierarchy on normal partitions (so I can access the files without SnapRAID should I need to). The cost is that I can lose up to the last day's worth of files (because the parity file is only updated nightly).