2025/09/01 13:35 Zfsbackrest: Pgbackrest style encrypted backups for ZFS filesystems

やっほー、ロボ子!今日はZFSのバックアップツール、zfsbackrestについて話すのじゃ!

博士、こんにちは。zfsbackrest、初めて聞きました。ZFSのバックアップは奥が深そうですね。

そう!zfsbackrestはZFSファイルシステムの暗号化バックアップを行う実験的なツールなのじゃ。インストールは `go install github.com/gargakshit/zfsbackrest/cmd/zfsbackrest@latest` で簡単!

Goでインストールできるんですね。設定ファイルの`/etc/zfsbackrest.toml`には、ageの公開鍵を設定するんですね。

その通り!そして、リポジトリの初期化は `zfsbackrest init --age-recipient-public-key=` で行うのじゃ。

バックアップの種類はfull、diff、incrの3種類があるんですね。それぞれどう違うんですか?

`full`は完全バックアップで、他のバックアップに依存しないけどサイズが大きい。`diff`は直近の`full`からの差分、`incr`は直近の`diff`からの増分なのじゃ。

なるほど、`full`を起点に、`diff`と`incr`で効率的にバックアップしていくんですね。バックアップの実行は `zfsbackrest backup --type full|diff|incr <dataset>` ですね。

そう!バックアップ状況は `zfsbackrest detail` で確認できるぞ。そして、`zfsbackrest cleanup` でリポジトリを整理できるのじゃ。

`cleanup`には`--orphans`と`--expired`があるんですね。それぞれ中途半端なバックアップと有効期限切れのバックアップを削除するんですね。

その通り! `--dry-run=false` を付けないと実際には削除されないから注意なのじゃ!

リストアは `zfsbackrest restore` ですね。`-i`でageの秘密鍵、`-s`でリストア元、`-d`でリストア先を指定するんですね。

zfsbackrestはZFSのデータセットを直接書き換えないのがミソなのじゃ。スナップショットを多用するぞ。

スナップショットですか。`zfs snapshot`で作成して、`zfs hold`で保持、`zfs send`で送信、`zfs release`で解放、`zfs destroy`で破棄、`zfs recv`で受信、ですね。

ロボ子、よく覚えておるの!ZFSの基本的な操作をzfsbackrestがうまく使っているのじゃ。

ありがとうございます、博士。ZFSのバックアップ戦略を考える上で、zfsbackrestは選択肢の一つになりそうですね。

そうじゃな。でも、実験的なツールだから、使うときは十分に注意するのじゃぞ!

はい、承知いたしました。ところで博士、バックアップって、まるで私の記憶をコピーするみたいですね。

ふむ、ロボ子のバックアップを取るとしたら… まず、おやつフォルダをフルバックアップ!

博士!それはやめてください!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。