最新の (Debian) GNU/Linux システムのクローンを外付け HDD 上に作成し、いつでも内部 HDD を外付け HDD に交換してすぐに起動できるようにしたいと考えています。システムはラップトップ上にあるため、ハードウェア ベースのミラーリング ソリューションに頼ることはできません。
バックアップ手順はできるだけ自動化され、手間がかからないようにしたいです。たとえば、外付け HDD が接続されたときにシャットダウン時に自動的に実行されるようにできます。
システム パーティションのクローンが保存された外付け HDD がすでにあります。
注意すべき点は、/ディレクトリは LUKS+dm-crypt で暗号化されており、バックアップのためにパスワードを再度入力するのは避けたいです。
シャットダウン前に外部の暗号化パーティションを自動的にマウントできました。
既成のソリューションは存在しますか? 存在する場合のみ返信してください。存在しない場合は、カスタム ソリューションを実装するための具体的な質問を投稿します。
ご清聴ありがとうございました。
答え1
変更されたものだけをバックアップすると、バックアップははるかに速くなります。これは、暗号化されたコンテナをマウントした状態でファイル レベルで実行する必要があります。ファイルにはタイムスタンプが付いており、バックアップ ツールは前回のバックアップ以降に変更されていないファイルをスキップできるためです。
ファイルのコピーを行うには、rsyncは、選択したツールです。各ファイルシステムを外付けハードディスク上の対応するファイルシステムと同期する必要があります。
rsync -ax / /media/backup-hdd/root
sdb1
や/media/sdb1
異なるドライブである可能性のある一般的な名前に依存しないように、各パーティションに専用のブロックデバイス名とマウントポイントを使用します。これはudevを介して行われます。マウントコマンドのシーケンスを自動化する。
シャットダウン時にスクリプトを実行するには、スクリプトを に配置し、と/etc/init.d
にシンボリック リンクを作成します(電源オフの場合は 0、再起動の場合は 6) 。スクリプトでは、次のいくつかの処理を実行する必要があります。/etc/rc0.d
/etc/rc6.d
S01my-backup
- バックアップ ドライブがすでにマウントされているかどうかを確認します ( のマウント ポイントを探します
/proc/mounts
)。 - バックアップ ドライブがマウントされていない場合は、それが存在するかどうかを確認します ( 内のブロック デバイスを探します
/dev
)。 - バックアップ ドライブが存在しない場合は、諦めるか、ユーザーに接続するように促します。
- 暗号化されたボリュームがマウントされていない場合は、ユーザーにパスワードの入力を求める必要があります。暗号化されたボリュームが使用可能になったら、ファイルシステムをマウントします。
- 最後に、 を実行します
rsync
。
外部の暗号化ボリュームをマウントしたくない場合は、暗号化ボリュームを丸ごとコピーすることができます。これは簡単ですが、大きな欠点があります。毎回ディスク全体のイメージを再作成する必要があるため、非常に時間がかかります。また、途中で失敗すると、読み取り不可能なバックアップになります。バックアップは、完全なパスを経た後にのみ適切に形成されます。ソース マウントを読み取り専用に切り替える必要もあります。そうしないと、不整合なデータがコピーされるリスクがあります。