Table of Contents
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.
zbaneorgenomic/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.
