This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Backup a Dataset ====== ABI uses [[https://github.com/oferdale/zelta|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: <code> zelta backup [-V] [-p] <source-dataset> <hoth:destination-dataset> </code> * **<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: <code> zelta backup zbane hoth:zbak1/zbane </code> ==== Backing up NextSeq 2000 runs ==== The sequencing data from the NextSeq 2000 lives at ''genomic/abi/devices/nextseq2000'' on geonosis. To back it up: <code> zelta backup -V -p genomic/abi/devices/nextseq2000 hoth:zbak1/genomic/nextseq2000 </code> ==== Backing up geonosis root ==== To back up geonosis's root filesystem (including its jails and VM datasets): <code> zelta backup -V -p zroot hoth:zbak1/genomic/zroot </code> ===== Notifications with ntfy ===== You can wrap the zelta command with ''ntfy'' to get a push notification (via Pushover) when the backup starts and finishes: <code> ntfy -t "`hostname`" send "zelta starting" && zelta backup zbane hoth:zbak1/zbane && ntfy -t "`hostname`" send "zelta done" </code> 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 ===== * [[infra:servers|Server Inventory]] * [[https://github.com/oferdale/zelta|zelta on GitHub]]