fsck
NAS의 ext4 파일 시스템에서 작업 중이 었는데 하드 오류가 발생하여 종료되었습니다(불행히도 오류 메시지가 손실되었습니다). 볼륨이 손상되었는지 확인하기 위해 즉시 볼륨을 다시 마운트했을 때(물론 읽기 전용) 드라이브의 거의 모든 데이터가 손실된 것을 발견했습니다(물론 백업이 없는 거의 8TB). 알아요). 루트 외부 디렉터리가 존재하지만(모든 내용을 포함하는 것으로 나타남) 루트의 다른 디렉터리는 더 이상 존재하지 않습니다. 에 일부 파일이 있지만 /lost+found
이는 디스크에 있는 파일 중 극히 일부일 뿐입니다.
저는 디스크에서 다양한 데이터 복구 도구를 사용해 본 결과 fls
SleuthKit에서 이 프로그램을 발견했습니다(이 프로그램을 사용하는 데 유용한 몇 가지 스크립트와 함께). 루트를 "찾는" 것처럼 보이지만 삭제된 것으로 표시됩니다.
d/- * 0: home
d/- * 0: photos
d/- * 0: music
d/- * 0: games
d/- * 0: books
d/- * 0: docker-registry
d/- * 0: cache
( *
삭제됨을 의미하며 0
0으로 처리된 것으로 보이는 inode 번호입니다 fsck
.)
불행하게도 해당 맨페이지에 따르면 이 -r
옵션은 fls
삭제된 디렉터리 트리로 재귀될 수 없습니다. 어떻게든 이러한 디렉토리 항목을 "삭제 취소"할 수 있는 방법이 있습니까? 디렉터리 항목의 메타데이터가 여전히 존재하고 fsck
루트 항목을 가리키는 모든 항목을 난독화하고 제거하고 어떻게든 복원할 수 있다면 fls
이전 콘텐츠를 모두 재귀적으로 찾을 수 있기를 바랍니다.
내가 시도한 다른 것들
ext4magic
및 같은 다른 도구를 사용해 보았지만 extundelete
로그에서 최근에 삭제된 항목만 찾는 것 같고 아무 것도 찾을 수 없습니다( fsck
파일 시스템을 수정할 때 로그를 우회한다고 가정합니다).
디스크에서 실행 중이지만 photorec
(이제는 사진 복구 이상의 기능을 수행할 수 있음) 전체 디스크를 확인하는 데 2000시간(11주 이상)이 걸릴 것으로 예상됩니다. 약 8시간 동안 실행한 후 65,000개의 파일에서 약 45GB의 데이터를 찾았지만 물론 쓸모 없거나 거의 쓸모 없는 이름이 있었고 지금까지 발견된 상대적으로 적은 수의 파일을 선별하는 데 몇 달이 걸릴 수 있습니다.
제공된 명령 목록도 읽어봤는데 debugfs
실제로 유용한 내용은 보이지 않습니다. 하지만 일부 기능을 오해하고 있는 것일 수도 있습니다.
시도해 보았지만 foremost
드라이브를 보기 시작한 지 약 1분 만에 세그폴트가 발생했고 사전에 유용한 출력이 없었습니다. scalpel
를 기반으로 하는 foremost
는 시작 메시지를 인쇄한 다음 무엇이 잘못되었는지 알려주지 않고 즉시 상태 1로 종료됩니다.
복잡
볼륨 크기는 약 12TB이며 LVM2를 통해 함께 연결된 두 개의 RAID5 어레이의 일부입니다. 안타깝게도 파일 시스템의 이미지를 만들 수 있는 여유 공간이 없습니다. 지금까지는 읽기 전용 복구 도구를 사용해왔지만 루트 항목을 복구할 수 있는 방법이 있다면 실제 디스크를 수정해야 할 수도 있습니다.
내 복구 스크래치 공간은 내가 찾은 6TB 볼륨입니다. photorec
잃어버린 모든 것을 찾으면 완료되기 전에 공간이 부족해집니다.
요약하자면...
fls
그래서 맨 아래에 제 질문을 요약해 보겠습니다. 재귀적 내용이 유효하고 사용 가능하기를 바라면서 루트에서 발견된 디렉토리 항목을 "삭제 취소"하는 방법이 있습니까 ?