ZFS 파티션에서 UUID / PARTUUID가 손실 됨


0

2 개의 파티션이있는 4TB HDD (하나의 스왑 및 다른 ZFS)가있는 NAS가 있습니다. 두 번째 파티션이 NAS에서 사라졌으며 blkid 또는 / dev / *에 나열되지 않았습니다. gparted는 파티션을 / dev / sdb2로 인식하지만 UUID가 없으므로 zpool에서 가져올 수 없습니다.

HDD 시작을 더 작은 것으로 복제하려고 시도했습니다 (처음 40GB를 복사하려면 dd, 파티션 테이블을 복사하려면 sgdisk). 두 번째 파티션은 이제 / dev / sdc2에 나타나고 UUID (예상 파티션)는 있지만 PARTUUID는 없습니다. zpool 가져 오기는 이제이 두 번째 복제 된 드라이브를 인식 할 수 있지만 가져 오려고하면 I / O 오류가 발생합니다.

zdb -l / dev / sdc2는 파티션 PARTUUID 여야하는 'path : / dev / gptid / db7d4921-d920-1le4-9dd6-00138f6f9938'을 표시하지만 blkid는 / dev / sdc2에 PARTUUID를 표시하지 않습니다.

첫 번째 드라이브의 파티션 UUID / PARTUUID를 예상 한 것으로 설정할 수있는 방법이 있습니까?

답변:


1

당신과 GUID를 (많은 리눅스 도구 "PARTUUIDs"를 부르는 것)을보고 조작 할 수 있습니다 gdisksgdisk. 예를 들어 :

$ sudo sgdisk -i 1 /dev/sde
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)
Partition unique GUID: C697EE49-9430-46C5-B090-0423DA7A6FFF
First sector: 40 (at 20.0 KiB)
Last sector: 409639 (at 200.0 MiB)
Partition size: 409600 sectors (200.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'EFI System Partition'

이 예는 파티션의 GUID ( Partition unique GUID)를 C697EE49-9430-46C5-B090-0423DA7A6FFF로 표시합니다. 의 i옵션 gdisk은 동일한 정보 를 보여줍니다. 다음과 같이 sgdisk-u옵션 을 사용하여 특정 값으로 설정할 수 있습니다 .

$ sudo sgdisk -u 1:BB193EE0-3544-449A-935A-41B215819992 /dev/sde

1:선도 GUID 파티션 번호입니다. 전문가 메뉴 gdiskc옵션을 사용하여 동일한 작업을 수행 할 수 있습니다 .


고마워, / dev / sdc2에 대한 트릭을했다. 그래도 풀을 가져올 수 없으므로 문제가 다른 곳에 있어야합니다. 이 디스크를 복제하고 더 파괴적인 테스트를 수행 할 수 있도록 다른 4TB 디스크를 얻으려고합니다. 내가 발견하면 업데이트됩니다.
José Rebelo

다른 파티션 및 / 또는 전체 디스크에 대한 GUID를 조정해야 할 수도 있습니다. 당신과 GUID 전체 디스크 설정할 수 sgdisk-U옵션을; 또는 옵션을 사용하여 모든 디스크 GUID를 무작위화할 수 있습니다 -G. sgdisk자세한 내용 은 매뉴얼 페이지를 확인 하십시오.
로드 스미스

0
  1. import -a를 시도하십시오. 실패하면 캐시 파일을 확인하십시오.

  2. zpool.cache 파일이 있으면이를 확인하십시오. 해당 파일에 대한 정보가 있는지 확인하기 위해 텍스트를 작성할 수 있습니다. 여기에 희망을 빌려주십시오.

  3. 이제 각 드라이브에 대한 장치 정보가 있는지 확인하면 드라이브를 찾는 데 도움이 될 수 있습니다.

  4. 파티션 테이블을 확인하여 테이블이 양호하고 사용 fdisk -l및 또는 인지 확인하십시오 gdisk.

제대로 마운트하지 않으면 예 /dev/sda를 들어 재부팅 할 때 간단한 전환 스위치가있을 수 있습니다 /dev/sdb. (이러한 이유로 풀을 만들지 마십시오.) 특히 풀 상태가 나쁜 경우 백업 (테이블)합니다. testdisk를 사용하거나 gdisk가 올바른 것으로 생각하는 것을 선택하여 파티션을 복구하도록 허용 할 수 있습니다.
zpool.cache는 파티션 테이블을 복원하여 어레이를 다시 인식 한 다음 다시 다시 가져올 수 있습니다. 파티션 테이블 업데이트를 재부팅 한 후 올바른 방법을 가져옵니다.zpool import <poolname>

제안 1 :( 향후 출근 자들을 위해) 데이터 세트가있는 경우 데이터가 위험하다고 가정하지 마십시오. zfs는 매우 강력하고 강력한 시스템입니다. 더 나쁜 경우, zfs의 dev 모드를 사용하고 가져 오기 검사를 비활성화하여 풀을 가져옵니다.

제안 2 :( 향후에 오는 사람들을 위해) 풀을 만들 때 마운트 할 때 디스크별로 사용하십시오. /dev/disk-by-id/xxx

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.