
私は、Linux ベースのオペレーティング システムを起動するマザーボードを搭載した機器を持っています。このハード ドライブをクローン化して、故障した場合に機器を動作させ続けるためのバックアップ プランを用意したいと考えています。これまでのところ、ハード ディスクを Linux が稼働している別の PC にマウントし、パーティションからデータを tar で取り出すことができました。ただし、パーティションのうち 2 つ (sdb2 と sdb13) が EXT3 ファイル システムとして表示されないため、どうすればよいかわかりません。sdb2 は 0x05 拡張で、sdb13 は 0x83 ですが、ファイル システムがないと表示され、マウントできません。また、異なるサイズの新しいハード ドライブを使用する場合、GRUB をどのように処理すればよいかまだわかりません。次の情報から十分な情報が得られれば、やりたいことが実際に可能かどうかを確認したいと考えています。
出力からfdisk -l
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00066c45
Device Boot Start End Blocks Id System
/dev/sdb1 63 208844 104391 83 Linux
Partition 1 does not start on physical sector boundary.
/dev/sdb2 208845 31262489 15526822+ 5 Extended
Partition 2 does not start on physical sector boundary.
/dev/sdb5 208908 6650909 3221001 83 Linux
Partition 5 does not start on physical sector boundary.
/dev/sdb6 6650973 7052534 200781 83 Linux
Partition 6 does not start on physical sector boundary.
/dev/sdb7 7052598 7646939 297171 83 Linux
Partition 7 does not start on physical sector boundary.
/dev/sdb8 7647003 7855784 104391 83 Linux
Partition 8 does not start on physical sector boundary.
/dev/sdb9 7855848 15679439 3911796 83 Linux
/dev/sdb10 15679503 23503094 3911796 83 Linux
Partition 10 does not start on physical sector boundary.
/dev/sdb11 23503158 24097499 297171 83 Linux
Partition 11 does not start on physical sector boundary.
/dev/sdb12 24097563 24691904 297171 83 Linux
Partition 12 does not start on physical sector boundary.
/dev/sdb13 24691968 31262489 3285261 83 Linux
出力からsfdisk -d
# partition table of /dev/sdb
unit: sectors
/dev/sdb1 : start= 63, size= 208782, Id=83
/dev/sdb2 : start= 208845, size= 31053645, Id= 5
/dev/sdb3 : start= 0, size= 0, Id= 0
/dev/sdb4 : start= 0, size= 0, Id= 0
/dev/sdb5 : start= 208908, size= 6442002, Id=83
/dev/sdb6 : start= 6650973, size= 401562, Id=83
/dev/sdb7 : start= 7052598, size= 594342, Id=83
/dev/sdb8 : start= 7647003, size= 208782, Id=83
/dev/sdb9 : start= 7855848, size= 7823592, Id=83
/dev/sdb10: start= 15679503, size= 7823592, Id=83
/dev/sdb11: start= 23503158, size= 594342, Id=83
/dev/sdb12: start= 24097563, size= 594342, Id=83
/dev/sdb13: start= 24691968, size= 6570522, Id=83
sdb 1、5、7、8、9、10、11、12 の EXT3 ファイル システムをマウントし、それぞれの内容を sdb1.tar、sdb5.tar などに保存することができました。
また、dd if=/dev/sdb of=./sdb_dd bs=512 count=1
ドライブの MBR を というファイルに保存しましたsdb_dd
。
答え1
したがって、ディスク全体をバックアップしたいだけなら、各パーティションをマウントしてデータを tar で圧縮する手間をかける必要はありません。@Christopher が言ったように、clonezilla のようなものを使用できます。DD を使用してファイルにバックアップしたり、新しいディスクにバイト単位でコピーしたりすることもできます。DD の利点は、標準の GNU ユーティリティであり、ほぼすべての *nix ディストリビューションで使用できることです。
以下では、クローンするディスク上で実行されていないライブ ディスクまたは他の Linux OS を起動していることを前提としています。さらに、バックアップするディスクは /dev/sdb であると想定しています。
バックアップイメージ/ファイルに保存する
バックアップ
dd if=/dev/sdb | gzip -c /location_to_store_backup_image/myserver.img.gz
復元する
gunzip -c /location_to_store_backup_image/myserver.img.gz | dd of=/dev/sdb
他のディスクに直接
バックアップ
dd if=/dev/sdb of=/dev/sdb
復元する
クローンしたディスクをボックスに挿入し、システムを起動します =D