Linux/ディスクイメージ取得
itefuの廃止時に、ディスク全体のイメージを取った。
mountで構成を表示してメモしておく。
例:
/dev/hda1 /
/dev/hda6 /var
/dev/hda7 /usr
/dev/hda8 /home
正しくイメージが取れるよう、リードオンリーマウント
mount -o ro,remount /var
mount -o ro,remount /usr
mount -o ro,remount /home
mount -o ro,remount /
mountで確認すると、/がrwのままだが、これは表示が間違っているだけ。
/etc/mtabに書き込めなくなるので、情報が更新できないためらしい。
例えば touch /hoge で、roになっているのが確認できる。
イメージを取得。
dd if=/dev/hda1 bs=16M | ssh 192.168.0.4 "dd of=/path/to/backup/root.dd-image"
dd if=/dev/hda6 bs=16M | ssh 192.168.0.4 "dd of=/path/to/backup/var.dd-image"
dd if=/dev/hda7 bs=16M | ssh 192.168.0.4 "dd of=/path/to/backup/usr.dd-image"
dd if=/dev/hda8 bs=16M | ssh 192.168.0.4 "dd of=/path/to/backup/home.dd-image"
マウントしてファイルが読めることを確認
mount -o loop,ro /path/to/backup/root.dd-image /mnt/root
CPUネック対策
古いPCからのddだと、sshの暗号化(圧縮も?)がCPUネックになる。
ncを使うと改善できそう(圧縮アルゴリズムも選べる)
## 送信
# dd if=/dev/vda | lz4 -c | nc 192.168.0.2 4444
## 受信(192.168.0.2)
# nc -l 4444 | lz4 -cd | dd of=/dev/vdb
lz4はデフォルトで入ってないので、環境によってはgzipでも
## 受信側 (先に実行, @ 192.168.139.4)
$ nc -l 4444 | gzip -cd | dd of=whole_drive.dd-img
## 送信側
$ sudo dd if=/dev/disk/by-id/ata-NGFF_2280_256GB_SSD_2022061302250 | gzip -c | nc 192.168.139.4 4444
圧縮したまま保存したいなら、受け側のgzip -cdを外せばたぶんいける