(재)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 패치만 수행했습니다.

관련 정보