Hi PracticalZFS,
Glad to see this community continuing post-Reddit!
The TL;DR is that I’m moving country soon, which will involve shipping my NAS, and I will be without it for a few months, but I want to maintain access to my data, probably on a single disk attached via USB.
The NAS is a simple affair - a zpool with a single vdev which is a 2x18TB mirror. It’s backed up to backblaze, but that’s not practical for daily access. The main client device is an M1 Macbook Pro, and the NAS is running Ubuntu 22.04. As the USB drive would be highly portable, encryption would be very nice to have, but is not a hard requirement. I won’t need network access for the duration of the move.
Bearing in mind that I’m experienced with Linux and IT generally but a newbie to ZFS, I can see a few options. The common thread amongst all of then is buying a single large USB drive and working from that:
- The traditional most-compatible approach would be to format the USB drive as exFAT and use rsync. This would be simple, albeit potentially error-prone, although I’m fairly comfortable that all data before the move would be recoverable (despite the possibility of rsync’ing bad data over it), thanks to snapshots. But it would be preferable to have the integrity-checking built in, and only having to copy a delta back ala zfs send/receive.
- A ZFS-centric approach would be to send a snapshot to the USB drive and work from a clone, then do the same in reverse when I unpack the NAS - promoting the received snapshot. However working with ZFS on Mac looks iffy. openzfsonosx seems to be a thing, but I have no idea how reliable it is - and the documentation appears quite outdated, which doesn’t inspire confidence in it as a project.
- Use ZFS as above, but instead of openzfsonosx set up a raspberry pi, duct-tape it to the USB drive, and create a “mini-NAS”. I’ve seen people do neat things with the PCIE interface of the Pi CM4 and sata breakout boards, but the price for all the pieces would be getting up there, and availability isn’t great (I’m in the UK).
So, how would you go about this? Honestly, I’m currently leaning towards the rsync approach. The pool is using 11.0TB, has 5.5TB free, and of that I really only care about my own photos and videos which is under 4TB.
But is there something I’ve missed? Would a Pi4 with a USB disk be unbearably slow or could it get close to maxing out a single disk? Perhaps openzfsonosx is awesome and I should definitely use it? It feels like the odds are stacked against it, but if you’ve had any experience with any of these solutions, or have a better one, I’d love to hear it!