Backup a Dataset

ABI uses zelta to replicate ZFS datasets from production servers to the backup server hoth via ZFS send/recv. Backups run automatically via cron, but this page covers how to manually trigger a backup.

The Backup Server: hoth

hoth (bak1) is the dedicated backup server. Its main backup pool is zbak1 (183TB). Hoth's own root filesystem lives on a separate pool called zrbak1 (440G), which is not part of the backup target.

Backups from other servers are stored under zbak1, roughly mirroring the source pool names:

Path on hoth Source What
————–——–——
zbak1/zbane bane ('zbane') Full bane pool: rootfs, jails, VMs
zbak1/genomic/nextseq2000 geonosis ('genomic') NextSeq 2000 sequencing runs
zbak1/genomic/zroot geonosis ('zroot') Geonosis root filesystem, jails, VMs
zbak1/genomic/rootfs geonosis ('genomic') bhyve VM rootfs datasets (ssh-01, thin-01, etc.)

Other datasets on zbak1 include user archives (zbak1/antranigv, etc.), ABI project archives (zbak1/abi), and shared storage (zbak1/moving_archive, zbak1/storage3).

The zelta Command

The general form of a manual backup:

zelta backup [-V] [-p] <source-dataset> <hoth:destination-dataset>
  • <source-dataset> — the ZFS dataset or pool on the server you are on (e.g. zbane or genomic/abi/devices/nextseq2000).
  • <hoth:destination-dataset> — the target on hoth, prefixed with hoth: (e.g. hoth:zbak1/zbane).
  • -V — verbose output.
  • -p — use when backing up a parent dataset that should pull its children (pool-level send).

You run zelta from the source server, not from hoth. SSH into the server whose data you want to back up, become root, and run the command.

Examples

Backing up the bane server

This replicates the entire zbane pool (rootfs, all jails, all VMs) to hoth:

zelta backup zbane hoth:zbak1/zbane

Backing up NextSeq 2000 runs

The sequencing data from the NextSeq 2000 lives at genomic/abi/devices/nextseq2000 on geonosis. To back it up:

zelta backup -V -p genomic/abi/devices/nextseq2000 hoth:zbak1/genomic/nextseq2000

Backing up geonosis root

To back up geonosis's root filesystem (including its jails and VM datasets):

zelta backup -V -p zroot hoth:zbak1/genomic/zroot

Notifications with ntfy

You can wrap the zelta command with ntfy to get a push notification (via Pushover) when the backup starts and finishes:

ntfy -t "`hostname`" send "zelta starting" && zelta backup zbane hoth:zbak1/zbane && ntfy -t "`hostname`" send "zelta done"

The -t flag sets the notification title (here, the hostname). This way you know immediately if a backup has completed or if it never started.

See Also