
ddrescue를 사용하여 실패한 외장 USB HDD Maxtor M3 4TB를 백업하려고 합니다.
처음에는 약 300kB/s를 얻었기 때문에 외부 상자를 뜯어 SATA를 통해 드라이브를 데스크탑에 직접 연결하여 속도가 약 700kB/s로 향상되었습니다. -a(최소 읽기 속도) -b(블록 크기) -c(한 번에 복사할 섹터 수)를 사용한 후 도착했습니다.
-a 20M -b 4096B -c 2048
위에서 언급한 조합은 속도를 약 1800kB/s로 증가시켰습니다. 또한 현재 속도는 몇 바이트/초에서 115MB/초까지 변동하며 전체 평균은 언급된 1800kB/s 정도를 유지합니다. 마치 정상적인 '정상 드라이브' 속도로 1초 동안 읽은 다음 잠시 시간이 초과될 때까지 기다렸다가 감소된 속도로 계속되는 것처럼 느껴집니다.
비율을 향상시키는 데 도움이 되는 다른 매개변수에 대한 경험이 있습니까? 전체 4TB 드라이브는 현재 속도로 약 한 달이 걸리기 때문에 어떤 개선이라도 높이 평가됩니다.
편집 - 전체 명령
전체 명령은
sudo ddrescue -a 20M -b 4096 -c 2048 -f -n -vv /dev/sdi /dev/sdh video_drive.log
편집 2 - 아 그래서 너무 느리네요
SMART 지원이 때때로 비활성화되는 방식으로 드라이브가 실패하지만 작동하는 동안 Read Error Rate
및 Hardware ECC Recovered
필드의 값이 높아지고 증가하는 것을 발견했습니다. 나는 ECC 복구가 오류가 표시되지 않는 이유이자 속도가 너무 낮은 이유라고 가정합니다.
답변1
디스크를 읽을 때 ddrescue
모든 블록을 읽어야 합니다. 어떤 블록이 불량인지 미리 알 수 없습니다. 따라서 필연적으로 불량 블록을 읽으려고 시도합니다. 디스크는 포기하고 오류를 반환하기 전에 이 블록을 올바르게 읽으려고 매우 열심히 노력할 것입니다. 소비자급 하드 드라이브에서는 이 동작을 비활성화하거나 제어할 수 없습니다.
따라서 ddrescue
재시도하지 않더라도 불량 블록으로 인해 프로세스 속도가 많이 느려집니다. 계속 나아가는 것 외에는 할 수 있는 일이 없습니다.