clonezilla
ディスクが暗号化されていると、ツールは空きブロックを省略できないことを知りました。これは大きな問題です。バックアップドライブには常に空きブロックが必要なためです。少なくともソース ドライブと同じサイズ - 後者にほとんど空き領域がある場合でも! これは非現実的であり、バックアップはこのように動作すべきではありません。
次のようなパーティション構造を持つ標準的なLinuxインストールを想定してみましょう。これ(暗号化、LVM 上の LUKS) 起動可能なファイルベースのバックアップを作成するにはどうすればよいですか?
アイデア:cp -a
ソースからバックアップ ドライブにすべてのファイルをコピーするために使用します。
=>ターミナルからパーティション構造を再現するにはどうすればよいでしょうか? この作業を行うための Linux 組み込みツールはありますか? また、cp
現在開いている/使用中のファイルをコピーしますか (ホット転送)?
明らかに、このアイデアは、理想的には実行中のソース システムから直接実行できる、スリムで洗練された Bash スクリプトを作成することです。
- Creating backup -
1.) Mount empty USB flash drive to running source system
2.) Run Bash script (hot transfer of all files and partition structure)
3.) Bootable, file-based backup is created
- Restoring backup -
1.) Mount backup USB flash drive to empty host machine
2.) Boot the backup system
3.) Run Bash script (partitioning of host drive, hot-transfer of all files)
...finished! Reboot, remove backup USB flash drive, enjoy restored system.
注: 私の推測が正しければ、結果として得られるバックアップはない暗号化する必要があります。ただし、ロック解除されたシステム内から使用し、これらの巨大なビット単位のイメージ/クローンの作成を回避するためには、これは必要なトレードオフであると思わcp
れます。さらに、暗号化は後からいつでも追加できます。
答え1
結局、rsync
最適なツールです。完了そして熱い実行中のシステム内からファイルシステム全体を転送する:
rsync -avxHAX / /dev/[backup_drive]/
暗号化/復号化の問題は解決済み事前に暗号化されたディスクのロックを解除することにより:
cryptsetup luksOpen /dev/[source_drive] && rsync -avxHAX / /dev/[backup_drive]/
残された課題は、すべてを再現することだ外の範囲rsync
、すなわちファイルシステム外、つまりブートローダとパーティションテーブルを含むブートセクター(ドライブの最初の 512 バイト)を意味します。これには、dd
またはをddrescue
使用できます。
cryptsetup luksOpen /dev/[source_drive] && rsync -avxHAX / /dev/[backup_disk]/ && dd if=/dev/[source_drive] of=/dev/[backup_drive] bs=446 count=1
ここでは、バックアップドライブとパーティションのサイズが異なることを前提として、bs=446
代わりにが使用されています。bs=512
省略するパーティション テーブルと署名バイト。
これにより、完了、熱転写(実行中のシステムから)、起動可能、まばらな(ファイルベース)Linux ディスクバックアップターミナルから実行されます。
やること: バックアップを暗号化します。