(再)Debian 8の既存のパーティションでGPTを作成する

(再)Debian 8の既存のパーティションでGPTを作成する

Debian 8サーバーでHDD /dev/sdaがクラッシュしました。mdadmメールでお知らせし、ディスクを交換しました。

サーバーをバックアップした後、.GPTを使用してコピーしましたsgdisk -R /dev/sdb /dev/sda。キーボードの「Enter」キーを押したとき、私は間違いを認識しました。

今、両方のディスクに空のGPTがあります。

/dev/sdb私の質問は、間違ったGPTをコピーした後に再起動しなかったため、サーバーの実行中にGPTを再生成できるかどうかです。

sfdisk -d /dev/sdb > sdb.partition.table故障したハードドライブを交換する前にバックアップを作成しました。ところがバックアップをしなかったのでsgdiskバックアップは全く役に立たないですね。

また、この出力があります。fdisk -lGPTをコピーする前に始めてください。

Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 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
Disklabel type: gpt
Disk identifier: 454774BD-960F-45C6-8C82-AE5C156444E0

Device        Start        End    Sectors  Size Type
/dev/sdb1      4096   33558527   33554432   16G Linux RAID
/dev/sdb2  33558528   34607103    1048576  512M Linux RAID
/dev/sdb3  34607104 5860533134 5825926031  2.7T Linux RAID
/dev/sdb4      2048       4095       2048    1M BIOS boot

Partition table entries are not in disk order.
Disk /dev/md0: 16 GiB, 17171349504 bytes, 33537792 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 /dev/md1: 511.7 MiB, 536543232 bytes, 1047936 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 /dev/md2: 2.7 TiB, 2982739705856 bytes, 5825663488 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

ベストアンサー1

次の研究と努力の終わりにテストディスク、元のGPTを復元するための確実な方法が見つかりませんでした。/dev/sdb

だから試してみました。CGディスク元の「セクタレイアウト」がまだ記録されているために機能しました/dev/sdb

Disk identifier: 9F95A04D-3ECB-144D-B2A0-55CDD986072B

Device        Start        End    Sectors  Size Type
/dev/sdb1      4096   33558527   33554432   16G Linux RAID
/dev/sdb2  33558528   34607103    1048576  512M Linux RAID
/dev/sdb3  34607104 5860533134 5825926031  2.7T Linux RAID
/dev/sdb4      2048       4095       2048    1M BIOS boot

この情報に基づいて、上記と同じ開始セクタ、同じ数のセクタ、および同じファイルシステムタイプを持つパーティションを作成しました。

GPTに書いた後、上記と/dev/sdb同じfdisk -l /dev/sdb結果を得ました。

sgdisk -R /dev/sda /dev/sdbfdisk -l /dev/sda次に(今回は正しい順序で)GPTをコピーしましたが、次のような「セクタレイアウト」が表示されました。/dev/sda/dev/sdb

Disk identifier: 4CB38488-8B72-44AA-8449-4E4692165893

Device        Start        End    Sectors  Size Type
/dev/sdb1      4096   33558527   33554432   16G Linux RAID
/dev/sdb2  33558528   34607103    1048576  512M Linux RAID
/dev/sdb3  34607104 5860533134 5825926031  2.7T Linux RAID
/dev/sdb4      2048       4095       2048    1M BIOS boot


今残っているのは、次のコマンドを使用してRAIDボリュームを再同期することです。ミダデムgrub2を再インストールしてください。

前述のように再同期が完了したら、grub2を再インストールし(確かに確認するために/dev/sdagrub2も再インストールしました)、新しいデバイスマップを作成しました。/dev/sdb(しかし、grub2コアイメージの警告を避けるためにHDDバッファをフラッシュする必要がありました。)

サーバーを再起動しましたが、再び正常に実行されました。

重要:私はサーバーの完全バックアップがあり、これがうまくいくかどうか100%確信できず、パーティションが破損する可能性があるため、このGPTパッチのみを実行しました。

おすすめ記事