GoFlex Home NAS의 2TB Seagate Barracuda 드라이브가 고장났습니다. 문제의 첫 번째 징후는 Windows(마운트된 공유를 통해)가 여전히 예상 디스크 사용량을 표시했지만 드라이브에 모든 루트 폴더와 하위 디렉터리가 비어 있는 것으로 표시되었을 때 나타났습니다. 이는 완전히 사용 가능한 1.8TB의 약 1.2TB입니다.
온라인으로 조사한 후 먼저 디스크 복사본을 만들고 그로부터 데이터를 복구해 볼 것을 제안하는 가이드를 찾았습니다.이 기사ddrescue가 권장되었기 때문에 복제할 PartedMagic과 두 번째 2TB Seagate Barracuda 드라이브를 구입했습니다.
새 드라이브와 고장난 드라이브는 모두 SATA 케이블을 통해 USB 스틱에서 PartedMagic을 실행하는 PC에 직접 연결되었습니다. 과열로 인해 문제가 발생할 것으로 예상했기 때문에 BIOS에서 SMART를 끄고 고장난 드라이브 바로 위에 팬을 장착했습니다(이제 기존 드라이브는 GoFlex NAS 섀시에서 분리되었습니다).
실패한 드라이브를 켰을 때 부팅이 약간 느려졌지만(BIOS에서 USB를 첫 번째 부팅 장치로 설정했음에도 불구하고) 결국 PartedMagic은 정상적으로 로드되었습니다. 파일 관리자(위치)에서 새 드라이브와 고장난 GoFlex 드라이브를 볼 수 있습니다. 시스템에 연결된 블록 장치의 이름을 확인하기 위해 다음 명령을 실행했습니다.
lsblk -o name,label,size,fstype,model
그러면 장치가 예상대로 표시됩니다(결함이 있는 드라이브도 BIOS에 표시됨).
그런 다음 ddrescue를 시도했습니다. 처음에는 다음을 사용했습니다.
ddrescue -d -f /dev/sda /dev/sdb /media/sdd1/rescue.logfile
(여기서 sdd1은 로그 파일을 저장하기 위해 시스템에 연결된 또 다른 USB 스틱입니다)
하지만 나는 처음부터0B 복제, 현재 속도는 0B/s로 유지되며 실행 시간과 읽기 성공 시간(시간)은 동일하게 유지됩니다. 다시 말해서,내가 아는 한 ddrescue는 실제로 실패한 디스크에서 단일 바이트를 읽지 않습니다.:
터미널에 Finished 프롬프트가 나타날 때까지 약 이틀 동안 실행했습니다. 0B가 복사되었습니다.
그래서 그런 다음 새 드라이브의 파티션을 나누고(단일 ntfs 파티션을 사용하여 실패한 드라이브와 일치) 프로세스를 반복했지만 이번에는 파티션만 복제했습니다.
ddrescue -d -n -f /dev/sda1 /dev/sdb1 /media/sdd1/rescue2.logfile
동일한 결과:
이번에는 불필요하게 드라이브를 더 손상시키는 대신 Ctrl-C를 사용하여 한 시간 후에 프로세스를 중지했습니다.
디스크 이미지 복사도 시도했습니다.
ddrescue -d -n /dev/sda1 /dev/sdb1/drive.img /media/sdd1/rescue3.logfile
마찬가지로 Finished 프롬프트 이후의 Drive.img 파일은 0B입니다.
끝까지 읽어보세요“앞서 말씀드린 질문에 대한 마지막 댓글이 큰 도움이 되었습니다.”그런 다음 --force를 사용하여 직접 액세스 유무에 관계없이 뒤로 읽고 다양한 ddrescue 옵션을 시도했습니다. 매번 ddrescue에 의해 갑자기 읽기 시작하기를 바라면서 드라이브 전원을 여러 번 켜고 끄었습니다(울컥!).... 불운.
파티션 이름이 "GoFlex Home"인 "장소"에 계속 표시되므로 의도한 것이 아니라는 것을 알더라도누군가 드라이버 설치를 제안했습니다.. 비슷한 0B 문제가 있었고 드라이브를 읽기 전용 모드로 마운트하면 문제가 해결되었음을 발견했습니다. 시도해 보았지만 I/O 오류가 있었고 드라이브에 하드웨어 오류가 있어서 마운트할 수 없다는 오류 메시지가 나타났습니다. (정확한 메시지 사본을 받지 못해 죄송합니다)
그래서...제가 지나치게 낙관적인 것일 수도 있지만, 심하게 손상된 드라이브가 어떻게 파티션 이름이 그대로 유지된 채로 파일 관리자에 나타날 수 있는지 이해할 수 없습니다. ddrescue가 단일 바이트 스캔을 앞으로 또는 뒤로 구출할 수 없는 이유는 무엇입니까? 확신할 수 없습니다. 제가 뭔가 잘못하고 있는 것이 분명합니다. 하지만 무엇을 더 시도해야 할지 모르겠고 필요 이상으로 디스크를 손상시키고 싶지 않습니다.
누구든지 제안이 있나요? 다른 비상업적 소프트웨어를 사용해 봐야 합니까? 문제를 진단하는 데 사용할 수 있는 다른 기술이 있습니까?
아니면 최후의 노력으로 새 Seagate Barracuda의 로직 보드를 기존 Barracuda로 교체하는 것을 고려해 봐야 할까요?
고쳐 쓰다:
@스티븐 지터dmesg를 실행했고(grep을 사용하여 문제의 하드 드라이브 표시) 다음과 같은 결과를 얻었습니다. 이게 말이 되나요? 마더보드의 SATA 포트에 연결했을 때 "Attached SCSI Disk"를 보고 놀랐습니다. 당신의 도움을 주셔서 감사합니다