고장난 드라이브에서 데이터 저장


12

외부 3½ ​​"HDD가 고장날 위험이있는 것 같습니다 . 유휴 상태 일 때 소리가납니다 .

교체 용 드라이브를 구입했으며 모호한 드라이브에서 데이터를 최대한 절약 할 수있는 최상의 방법을 알고 싶습니다.

다른 디렉토리보다 더 중요한 디렉토리가 있습니다. 그러나 디렉토리를 선택하고 선택하면 모든 것을 저장할 가능성이 줄어 듭니다. 또한 디렉토리를 효과적으로 우선 화하려면 파일을 마운트하고 파일 목록을 덤프 한 다음 마운트를 해제해야합니다. 이 작업을 수행하는 데 시간이 많이 걸린다는 사실에 덧붙여, 나는이 접근법에서 멀어지고 있습니다.

방금을 사용하는 것을 고려 dd했지만 데이터의 특정 부분 만 구조하지 못하게하거나 일부 재시 도로 극복 할 수는 있지만 너무 많이 읽지 않는 읽기 오류 또는 기타 문제를 어떻게 처리하는지 잘 모르겠습니다. 드라이브의 다른 부분이 저장되지 않도록합니다. 이상적으로는 가능한 한 많은 것을 얻기 위해 단일 패스를 수행 한 다음 오류로 인해 누락 된 것을 재 시도하는 것이 이상적입니다.

과열 문제를 피하기 위해, 예를 들어 매 x MB / GB의 일시 정지와 같이 복사 속도를 느리게하는 것이 작동을 완전히 기울이는 것보다 낫습니까?

"백업 위치"군중의 경우 : 이것은 실제로 내 백업 드라이브이지만, 백업과 같은 백업이 아닌 음악과 같이 중요하지 않고 부피가 큰 것들도 포함합니다.

드라이브는이 불길한 소리 이외의 명확한 고장 징후를 보이지 않았습니다. 최근에 고아 inode, 잘못된 사용 가능한 블록 / 아이 노드 수, inode 비트 맵 차이, 삭제 된 inode에서 제로 dtime; 모두 약 20 개의 오류가 있습니다.

파티션의 파일 시스템은 ext3입니다.


답변:


9

당신이 사용 ddrescue하거나 dd_rescue또는 myrescue어떤 읽을 부문에 중단하지 않고, 실패한 디스크를 복제 할 수 있습니다. (Myrescue는 구성 할 수 없지만 읽을 수없는 영역을 건너 뛰려고 할 때 기본 전략이 더 좋습니다.) 이렇게하면 공백을 포함한 모든 항목이 복사되므로 우선 순위를 설정할 수 없습니다. 그러나, 낮은 수준의 접근 방식은 파일 시스템 레벨 툴에 비해 장점이있다 : 디렉토리를 읽을 경우, 당신은 여전히 같은 도구를 사용하여 RAW 이미지를 검색하여 포함 된 파일을 복구 할 수있는 foremost, magicrescue, photorec에 포함 TestDisk는


에 대한 링크 magicrescue가 끊어진 것 같습니다. itu.dk/~jobr/magicrescue 을 의미 습니까?
landroni

@landroni 네,이 학생이 졸업했다고 생각합니다.
Gilles 'SO- 악마 그만

"Myrescue [..]에 더 나은 기본 전략이 있습니다" 기본값으로 ddrescue구성된 예제를 게시 하시겠습니까 myrescue? 감사!
landroni

1
들어 ddrescue/ dd_rescue다음 패스 이하로 큰 블록 크기 변화와 첫 번째 패스를 만들어 (예 반감 크기 매번). 물론 로그 파일을 사용해야합니다 (man 페이지 참조).
peterph

혼란스럽게도 데비안 기반 시스템에서이 명령 ddrescue은 package gddrescue; dd_rescue패키지에서 ddrescue; 및 myrescue패키지 myrescue.
landroni

8

드라이브에 어떤 문제가 있는지 정확히 알지 못하면 최상의 옵션을 알 수있는 방법이 없습니다. 기계적 고장 인 경우 가열하지 않는 것이 도움이 될 수 있지만 서보 데이터의 오류로 인해 열이 문제가되지는 않습니다.

로 고유 한 데이터를 새 드라이브에 즉시 복사하기 시작합니다 rsync. rsync모든 데이터를 얻을 때까지 필요에 따라 일시 중지, 재개 및 재시작 할 수 있습니다.

그런 다음 드라이브에서 데이터 스크럽을 실행합니다. ext3파일 시스템에서 Linux를 실행 한다고 가정 하므로 다음을 시도하십시오.

# umount /dev/sdX
# badblocks -n /dev/sdX

(드라이브를 먼저 마운트 해제하는 것이 중요합니다.)

디스크에서 모든 섹터를 읽고 변경하지 않고 다시 씁니다. 그러면 드라이브 펌웨어가 모든 섹터에 오류가 있는지 확인하고 불량 섹터를 다시 매핑해야합니다. 이것은 비싼 SpinRite 프로그램 의 가장 중요한 부분입니다 . badblocks실패 했을 때만 드라이브에서 모든 고유 데이터를 얻지 못한 경우에만 단계를 수행 하십시오. SpinRite가 시도하는 것보다 더 열심히 시도합니다 badblocks.


2

디스크가 죽어 가고 있다면 먼저 가능한 한 잘 복제했는지 확인한 (길레스 답변 참조) 드라이브 로만 진행하십시오. 이렇게하면 문제가 발생하는 경우 (하드웨어 고장으로 종종 발생할 수 있음) 항상 최소한의 데이터를 확보하게됩니다.

당신이 사용하는 경우 ddrescue(또는 dd_rescue, 나는 다른 사람에 대해 확실하지 않다), 당신은 항상 부분적으로 복제 된 데이터의 복사본을 만들 수 있습니다 및 관련 로그 파일을 실행하여 그것을 개선하려고 ddrescue드라이브를 해결하기 위해 가정 된 일을 후에 다시. 잘 복제 된 부품을 건드리지 않고 누락 된 부품을 읽으려고 시도합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.