btrfsルートファイルシステムをバックアップするための最良の戦略は何ですか?

btrfsルートファイルシステムをバックアップするための最良の戦略は何ですか?

@ルートサブボリュームとサブボリュームを持つbtrfsルートパーティションがあり@home、更新中に自動スナップショットを実行し、タイムシフトスケジュールスナップショットを実行します。どちらも同じドライブに保存されます。これは素晴らしいですが、ドライブエラーが発生した場合に備えて追加の冗長性を持ちたいです。

Debianの最後の設定では、ext4ファイルシステムを使用し、外部ドライブにタイムシフトrsyncバックアップを配置しました。

ルートデバイスからスナップショットを撮りながら外部ドライブにバックアップするなど、同様の操作をどのように実行できますか?

システムデバイス(btrfsでフォーマットされた1TB SSD)に加えて、Windowsをデュアルブートするため、現在2つのNTFSパーティションでフォーマットされている2TB HDDもあります。これで、そのドライブのLinuxファイルシステムに完全に移行しようとしていますが、ルートドライブのバックアップをどのようにするのかわかりません。 HDDにディスクイメージを作成することを検討しましたが、dd それを行うと(a)それが正しく機能する方法を理解すると、追加のテラバイトの記憶領域が失われ、dd(b)これでイメージから回復する方法がわかりません。 。理想的には、ルートデバイスのバックアップのために2番目のドライブにbtrfsパーティションを置き、オーバーフローデータを保存するために2番目の(ext4またはntfsなど)パーティションを持ちたいと思います。

本質的に私の質問は次のとおりです。すでに「スナップショット」ルートパーティションをどのように簡単にバックアップできますか? (またここから復元する方法もわかりますか?)

編集:私のソリューション

私が思いついた解決策は次のとおりです。btrbk、スナップショットを管理し、自動的に別のドライブに送信する単一のPerlスクリプト。私のgithubアカウントに設定を文書化しました。ここ

btrbk単一プロファイル実行を使用して、スナップショットとバックアップの場所と保存ポリシーを指定します。私はcrontabを使ってバックアッププロセスをスケジュールします。初心者には多くの設定がありますが、単にスナッパーやタイムシフトを使用するよりも学習プロセスの方が価値があります。

答え1

これらのニーズについて私が思いついた解決策は次のとおりです。https://github.com/ceremcem/smith-sync

ターゲットにバックアップする独自のスクリプトを準備しました。https://github.com/ceremcem/smith-sync-new-target

私が使用しているフルバックアップシステムは次のとおりです。https://github.com/ceremcem/erik-sync

このプロセスは非常に複雑で、深い知識が必要です。要するに、このスクリプト以下を行います。

  • バックアッププロセスが中断されないように、自動サスペンドジョブを延期します。
  • すべてのスナップショットをターゲットに送信します。
  • 最新のスナップショットを使用して、ターゲット内に新しいrootfsを作成します。
  • $target/rootfs/etc/fstab、.../etc/crypttabなど、必要なファイルを適切に修正してください。
  • ブートパーティションをマウントし、最新のブートファイルをコピーします。
  • chrootご使用の環境でGRUBブートローダーを更新してください。

ターゲットディスク(バックアップディスク)は、コマンドを使用せずに現在のシステムの正確なコピーですdd。必要に応じて、ターゲットディスクに別のパーティションを作成することができます。これにより、このバックアッププロセスは中断されません。

関連情報