
btrfs raid1 어레이에 3TB 디스크 쌍이 있습니다.
이 디스크 중 하나가 고장나기 시작했고(smartd에 불량 섹터가 표시됨) 어레이의 두 디스크를 모두 교체하기 위해 새 8TB 드라이브 한 쌍을 구입했습니다.
둘 다 로 바꾸고 나중에 btrfs replace
a를 실행했습니다 btrfs balance
. 이는 다음 메시지에서 실패합니다.
[ 5063.136378] BTRFS error (device sdc): parent transid verify failed on 5153170751488 wanted 1433374 found 1417912
[ 5063.140428] BTRFS error (device sdc): parent transid verify failed on 5153170751488 wanted 1433374 found 1417912
이제 나는 이 메시지들을 정확하게 보았습니다.~ 전에디스크를 교체했지만 이제 두 디스크가 모두 교체되었으므로 btrfs
.
내 데이터는 완전히 백업되었습니다파일 시스템이 온라인이고 제대로 작동하고 있습니다., 그런데 이 오류로 인해 잔액을 실행할 수 없습니다. 스크럽을 실행하면 디스크를 교체하기 전과 마찬가지로 수정 불가능한 작은 오류가 발생합니다.
나는 어떻게 할 수 있는지 궁금했습니다.
- 어떤 파일이 손상되었는지 확인하고 백업에서 복원하세요.
- 오류를 제거하려면 파일 시스템에서 트랜잭션을 재설정하세요.
- 균형을 맞추는 동안 오류를 무시하세요.
...또는 기타 합리적인 솔루션.
감사해요!
답변1
나는 이 문제를 해결하기 위해 몇 가지 추가 시도를 했고 결국 깨끗한 파일 시스템을 다시 포맷해야만 문제가 해결되었습니다.
디스크에서 데이터를 전송한 후 두 가지 위험한 명령을 시도했습니다. btrfs check --init-csum-tree
둘 btrfs check --repair
중 어느 것도 해를 끼치지는 않았지만 문제를 해결하지는 못했습니다.
다시 포맷한 후 데이터를 다시 파일 시스템으로 전송하고 a btrfs filesystem balance
및 a를 실행했는데 btrfs filesystem scrub
이제 모든 것이 다시 작동합니다.
건배!