저는 ZFS를 처음 접했고 일을 망쳤습니다. 동일한 풀 아래에 별도의 미러가 있을 수 있다는 것을 몰랐기 때문에 여러 개의 ZFS 풀이 있습니다. 아직 어레이를 재구축하는 중이어서 미러 중 하나가 비어 있습니다. 나는 그것을 파괴하고 메인 풀에 추가했는데 모든 것이 괜찮았습니다.
그런 다음 해당 이미지의 읽기 속성을 읽기 전용으로 설정하려고 했지만 설정할 수 없습니다. 그런 다음 해당 미러만 제거하려고 시도했지만 실패했습니다. 마지막으로 풀 내보내기를 시도하고 두 번째 이미지(데이터 없음)를 덮어쓴 다음 기본 풀 가져오기를 시도했습니다. 내 생각에는 미러가 손실되거나 성능이 저하되면 다시 나타나겠지만 첫 번째 미러는 괜찮을 것이지만 그다지 운이 좋지는 않을 것입니다. 미러-0이 제대로 실행되고 있음에도 불구하고 지금은 zpool을 전혀 가져올 수 없습니다.
이 문제를 해결할 수 있는 방법이 있는지 알고 싶습니다. 가져오기 위해 추가 이미지의 UUID/PARTUUID를 수동으로 설정하려고 생각했지만 물론 온라인의 모든 것은 ext4에 관한 것이므로 ZFS의 UUID를 조작할 방법을 찾지 못했습니다.
두 번째 미러에 대한 zpools의 기대치를 강제로 가져오거나 제거하여 첫 번째 미러를 설치하는 방법을 생각할 수 있습니까? 아니면 마지막으로 데이터를 파괴하지 않고 미러-0을 자체 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를 시도했습니다(결국 필요한 것은 $70 CAD의 가격이 더 저렴한 UFS Explorer Recovery였으며 이제 툴킷에 훌륭한 소프트웨어가 있습니다). 어젯밤 이후에 스캔이 완료되었고 찾은 것 같습니다. 내 모든 파일. $200 CAD 가격표를 사용하여 최종 결과를 업데이트하겠습니다. 하지만 상황은 좋아 보입니다!
업데이트: 현재 모든 파일을 저장하고 있으며 지금까지 모든 것이 좋아 보입니다. 아이러니하게도 파티션/파일 구조가 변경되지 않았기 때문에 "손실된 파일을 검색"할 필요조차 없다는 것을 깨달았습니다. 소프트웨어는 풀을 "가져오거나" 할 필요 없이 어떻게든 이미지의 개별 디스크를 볼 수 있는 것 같습니다. 다른 디스크를 사용할 수 있습니다. (스캔은 하지 않았지만 이를 확인하기 위해 다른 이미지 드라이브에서 직접 "파일 보기"를 수행했습니다)
이 사람들은 자기가 무슨 말을 하는지 모르는 것 같아요...부정적이고 쓸데없는 피드백만 가지고 트롤링하는 사람들이 싫습니다...
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를 만들어야 합니다.