システムを初めてバックアップするときにイメージバックアップを作成したいと思います。最初から、rsync
増分バックアップを実行しました。
私の一般的なイメージのバックアップは次のとおりです。
空のスペースをインストールしてゼロにします。
dd if=/dev/zero of=temp.dd bs=1M rm temp.dd
dd
ドライブのマウント解除と圧縮dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c > /mnt/sda1/hda.ddimg.gz
システムを再び正常に戻すには、通常、次の手順を実行します。
gzip -dc /mnt/sda1/hda.img.gz | dd of=/dev/hda conv=sync,noerror bs=64K
これは非常に簡単で、「フルドライブ」を保存できますが、実際には使用されているスペースだけを節約するだけです。
それが問題だ。上記の作業を行いましたが、きれいなシステムでは実行せず、rsync
バックアップ速度が十分に高速ではなく、アクセスしたいイメージにファイルがあるとします。実際にdd
画像を解凍してドライブに保存するための記憶領域はありませんが、画像をマウントして個々のファイルをインポートしたいとします...これは可能ですか?
通常、人々は画像を圧縮しませんdd
。これにより、次のようにイメージをインストールできます...-o loop
しかし、私の場合はそうではありません...
インスタントで圧縮されたimgをインストールするための提案はありますか?
使用するAVFSgzファイルを「インストール」してから内部dd.imgをインストールすると動作します(そうではないと思いますが…確認が必要です…)?
ベストアンサー1
ディスクイメージが完全なディスクイメージであるか、それとも単純なパーティションかによって異なります。
パーティションのクリーニング
ディスクが正常に動作している場合、ディスクの空き領域をゼロにクリーンアップすると圧縮性能が向上します。ディスクに障害が発生した場合は、この手順をスキップしてください。
ディスク全体をイメージングする場合は、ディスク上のすべてのパーティションをクリーンアップする必要があります。
警告する:気をつけて、君もof
そうしたい文書マウントされたパーティションではパーティション自体ではありません!
mkdir image_source
sudo mount /dev/sda1 image_source
dd if=/dev/zero of=image_source/wash.tmp bs=4M
rm image_source/wash.tmp
sudo umount image_source
パーティションイメージの作成
mkdir image
sudo dd if=/dev/sda1 of=image/sda1_backup.img bs=4M
はsda
デバイス名、および1
パーティション番号です。他のデバイスやパーティションをミラーリングするには、システムに合わせて調整してください。
フルディスクイメージの作成
mkdir image
sudo dd if=/dev/sda of=image/sda_backup.img bs=4M
sda
デバイス名はどこにありますか?他のデバイスを画像化するには、システムに合わせて調整します。
圧縮
圧縮されていない完全な画像を含む「squashfs」画像を作成します。
sudo apt-get install squashfs-tools
mksquashfs image squash.img
ストリーミングメディア圧縮
ディスク全体のサイズを占める別の一時ファイルを作成したくない場合は、イメージにストリーミングできますsquashfs
。
mkdir empty-dir
mksquashfs empty-dir squash.img -p 'sda_backup.img f 444 root root dd if=/dev/sda bs=4M'
圧縮パーティションイメージのマウント
- まず
squashfs
、イメージをマウントしてから、マウントされたイメージに保存されているパーティションイメージをマウントしますsquashfs
。mkdir squash_mount sudo mount squash.img squash_mount
- これで、圧縮された画像をマウントしたので、画像自体(つまり
squashfs
画像の内側)をマウントします。mkdir compressed_image sudo mount squash_mount/sda1_backup.img compressed_image
- これで画像がにインストールされました
compressed_image
。
編集:この時点でディスクdd
イメージをパーティションに復元するには(コンテンツを参照または読み取るためにマウントする代わりに)。squash_mount/sda1_backup.img
mount
圧縮されたフルディスクイメージのマウント
これには、というパッケージを使用する必要がありますkpartx
。kpartx
ディスクイメージ全体に個々のパーティションをマウントできます。
sudo apt-get install kpartx
まず、ディスクイメージ全体を含む圧縮パーティションをマウントします。
mkdir compressed_image sudo mount squash.img compressed_image
これで、ディスクイメージ全体の各パーティションのデバイスを作成する必要があります。
sudo kpartx -a compressed_image/sda_backup.img
これにより、ディスクイメージ全体にパーティション用のデバイスが作成されます。
/dev/mapper/loopNpP
N
ループバックデバイスに割り当てられた番号。P
はパーティション番号です(例:/dev/mapper/loop0p1
この番号を見つけることができます。N
出力からlosetup --list
。最後に生成されたループバックデバイスは最大値を持つ必要があります。N
数字。これで、ディスクイメージ全体に個々のパーティションをマウントできます。
mkdir fulldisk_part1 sudo mount /dev/mapper/loop0p1 fulldisk_part1