Re: Backup/restore recipe

From: Matthias Petermann <mp_at_petermann-it.de>
Date: Wed, 12 Nov 2025 18:50:38 UTC
Hello,

Am 12.11.25 um 17:00 schrieb Eugene R:
> Hello,
> 
> Does anyone have any howtos/recipes for optimal backup and restore 
> strategies for a FreeBSD-based server? In particular, a "modern" ZFS 
> installation (pretty complex dataset tree) on a remote cloud system 
> accessible via SSH or console, with some external storage via smbfs or S3.
> 
> I suppose we will need
> - partition layout
> - ZFS layout
> - /boot directory
> - /etc directory (including passwd, fstab, etc)
> - filesystem contents (using tar.gz or whatever) and/or
> - ZFS data that can be restored directly
> 
> I imagine three potential scenarios:
> - selective restore of specific files or subtrees to a working FreeBSD 
> system (this one is reasonably obvious)
> - (essentially) exact duplicate of the original system state on the same 
> or different machine (ideally binary exact if hardware allows)
> - functionally equivalent duplicate (i.e., the same filesystem content 
> over the potentially different low-level layouts)
> In cases 2 and 3, we likely will have to start from a clean machine, 
> possibly with dummy Linux or FreeBSD installation.
> 

I’ve had very good experiences using restic for backups on FreeBSD (and 
other platforms). It’s not tied to ZFS, but for me it’s the best overall 
compromise between platform independence, snapshot-based versioning, 
integrity, and security by default.

Backups can be stored locally or across different cloud backends - 
restic supports all major targets via rclone, so you can use S3, Google 
Cloud, SMB shares, and more, all with the same workflow.

Restores are fast and flexible - from single files up to full directory 
trees - and it integrates easily into automated setups (cron jobs, 
systemd timers, or shell scripts).

A bare-metal restore isn’t supported directly, but with good 
documentation of your system layout (partitions, ZFS datasets, boot 
config, etc.) or some deployment automation, that’s easy to work around. 
I typically treat the system setup as code and use restic for all the 
actual data.


Best regards
Matthias



-- 
Für alle, die digitale Systeme verstehen und gestalten wollen:
jede Woche neue Beiträge zu Architektur, Souveränität und Systemdesign.
👉 https://www.petermann-digital.de/blog