ZFS 복구 미러-0 UNAVAIL 누락된 장치

ZFS 복구 미러-0 UNAVAIL 누락된 장치

저는 ZFS를 처음 접했고 일을 크게 망쳤습니다. 동일한 풀 아래에 별도의 미러가 있을 수 있다는 것을 몰랐기 때문에 여러 개의 ZFS 풀이 있었습니다. 아직 어레이를 재구축하는 중이어서 미러 중 하나가 비어 있습니다. 나는 그것을 파괴하고 메인 풀에 추가했는데 모든 것이 잘되었습니다.

그런 다음 해당 미러의 읽기 속성을 읽기 전용으로 설정했지만 실패했습니다. 그런 다음 해당 거울만 제거하려고 했지만 불가능했습니다. 마지막으로 풀 내보내기를 시도했고 (데이터가 없는) 두 번째 미러에 덮어쓴 후 메인 풀 가져오기를 시도했습니다. 그 거울이 없거나 성능이 저하되었지만 첫 번째 거울은 괜찮을 것이라고 생각하지만 운이 좋지는 않습니다. 이제 미러-0이 올바르게 작동하더라도 zpool을 전혀 가져올 수 없습니다.

이 문제를 해킹할 수 있는 방법이 있는지 궁금합니다. 가져오기 위해 추가 미러의 UUID/PARTUUID를 수동으로 설정하려고 생각했지만 물론 온라인의 모든 것은 ext4에 관한 것이므로 ZFS용 UUID를 조작할 방법을 찾지 못했습니다.

두 번째 미러에 대한 zpools 기대치를 가져오거나 제거하여 첫 번째 미러를 마운트하도록 강제할 수 있는 방법이 있습니까? 아니면 마지막으로 데이터를 파괴하지 않고 미러-0을 자체 zpool로 이동하시겠습니까?

길을 잃은 기분...

다음은 일부 데이터입니다.

zpool 이름bigdataa

mirror-0 should have a functionion set of data

 pool: bigdataa
     id: 8521961398473378259
  state: UNAVAIL
 status: One or more devices contains corrupted data.
 action: The pool cannot be imported due to damaged devices or data.
   see: http://zfsonlinux.org/msg/ZFS-8000-5E
 config:

    bigdataa                                  UNAVAIL  insufficient replicas
      mirror-0                                ONLINE
        12d9fdf5-9912-4b47-a67c-73376cabe161  ONLINE
        0f8cbe38-fce7-ba4d-85fb-f0b624ef4c70  ONLINE
      615ac488-0519-4a31-88ea-ddc81595c9b7    ONLINE
      mirror-2                                UNAVAIL  insufficient replicas
        aef43ae1-2bff-4eac-8c91-7818b1ec37fd  FAULTED  corrupted data
        8d1e0a1e-9736-4a28-a968-555fe65e9d17  FAULTED  corrupted data

답변1

나는 광범위한 연구를 했지만 수영장을 장착할 방법을 찾을 수 없었습니다. 문제가 없을 때 개별 미러의 속성을 조작하고 단일 미러를 마운트할 수 있도록 별도의 풀을 계속 유지할 것이며(작동 방식이 인상적이지 않음...) MergeFS를 사용하여 최종 단일 풀을 제공할 것입니다.

나는 UFS Explorer RAID Recovery를 시도했습니다. (나에게 필요한 것은 $70CAD인 UFS Explorer Recovery뿐이었습니다. 훨씬 쉽게 삼킬 수 있었고 이제 툴킷에 훌륭한 소프트웨어가 생겼습니다.) 어젯밤 이후에 스캔이 완료되었고 내 파일을 모두 찾은 것 같아요. $200CAD 가격표를 받고 최종 결과를 업데이트할 예정이지만 상황은 좋아 보입니다!

업데이트: 현재 모든 파일을 저장하고 있습니다. 모든 것이 좋아 보입니다. 아이러니하게도 파티션/파일 구조가 변경되지 않았기 때문에 "손실된 파일을 검색"할 필요조차 없다는 것을 깨달았습니다. 어떻게든 이 소프트웨어는 풀을 "가져오거나" 가져오지 않고도 미러에서 개별 디스크를 볼 수 있는 것 같습니다. 다른 디스크를 사용할 수 있습니다. (스캔하지 않고 다른 미러 디스크의 "파일 보기"로 바로 이동하여 이를 확인했습니다.)

이 사람들은 자기들이 무슨 말을 하는지 전혀 모르는 것 같아요... 저는 부정적인/쓸데없는 피드백만 가지고 트롤링하는 사람들을 싫어합니다...

https://www.ixsystems.com/community/threads/recovery-tool-for-zfs.23008/post-138885

여기에 이미지 설명을 입력하세요

답변2

여기에서 구성한 방식은 데이터가 미러-0, 미러-2 및 다른 디스크에 스트라이프(RAID-0)되어 있음을 보여줍니다. 따라서 미러-2를 덮어썼을 때 ZFS는 데이터의 절반이 손실되었다고 생각했기 때문에 풀을 전혀 가져올 수 없었습니다. 이는 3개의 디스크 RAID-0 어레이를 설정한 다음 디스크 중 하나를 지운 것과 같습니다. 스트라이핑이 작동하는 방식이므로 모든 데이터에 액세스할 수 없게 됩니다.

이는 미러-2에서도 읽기 전용 속성을 설정할 수 없는 이유를 설명합니다. 이는 RAID-0 배열의 디스크 하나를 읽기 전용으로 표시하려는 것과 비슷합니다. 쓰기는 RAID-0 배열의 모든 디스크에 걸쳐 스트라이프되어야 하기 때문에 수행할 수 없습니다. 저장 장치의 세 번째 블록을 모두 읽기 전용으로 표시할 수는 없습니다!

아직 미러-2에 데이터가 없는 것 같지만 ZFS가 이를 알지 못한 것 같으므로 디스크를 덮어쓴 후 어레이 가져오기를 거부한 것입니다.

풀의 모든 장치/vdev가 서로 미러라고 가정하고 있을 수도 있지만 실제로 ZFS는 풀의 각 vdev에 데이터를 스트라이프합니다. 이것이 데이터를 스트라이프가 아닌 미러링하려는 경우 특수 미러 vdev를 생성해야 하는 이유입니다.

관련 정보