TrueNAS Backup NAS with ZFS

Build a resilient backup target with sane datasets, shares, and snapshot policies.

Pool + Dataset Design

Create a ZFS pool sized for backups (mirror for small labs or RAIDZ2 for 4–6 disks). Keep SLOG/L2ARC off unless you know you need them.

  • Datasets per tenant: /backups/proxmox, /backups/files, /backups/media.
  • Compression: lz4; recordsize: 1M for large files, 128K for VMs.
  • ACL: POSIX on Linux shares; SMB preset for Windows fleets.

Network Plan

  • Static IP on management VLAN; optional storage VLAN.
  • Enable LLDP to keep track of switch ports.
  • Jumbo frames only if end-to-end verified.

Snapshots + Replication

Local snapshots

Daily for 7–14 days on VM datasets; hourly for working files if you have space.

Hold last: 24h + 2w

Replication target

Pull from Proxmox backup storage or rsync modules. Keep a dedicated user/key.

Channel: SSH + compression

Integrity

Scrub monthly; SMART short weekly, long monthly. Email alerts on failure.

`zpool scrub backups`

SMB/NFS Shares

  • SMB for Windows/macOS clients; enable recycle bin on user shares, not on backups.
  • NFS for Proxmox backup target; map to a dedicated dataset with reserved space.
  • Lock permissions to a service account; avoid guest access.

Backup Recipes

  • Proxmox: VZDump to NFS target nightly, prune with keep-last and keep-weekly.
  • Files: restic or rsync from Linux hosts; Veeam/Time Machine for desktops.
  • Offsite: rclone to object storage for critical datasets only.