
새 드라이브 모음이 있는데 친구가 새 드라이브를 사용하기 전에 배드 블록을 실행하라고 권했습니다. 이미징하기 전에 새 드라이브 중 일부에서 배드 블록을 실행했고 badblocks -v -s -w -b 4096 -o ./sda.log /dev/sda
, 배드 블록이 없는 새 드라이브를 상상했던 다른 드라이브도 있었습니다. 추신: 또한 배드블록 드라이브에 대한 운송 스마트 테스트를 실행하여 통과했습니다.
불량 블록을 실행한 드라이브의 경우 이미징 후 읽기 처리량은 dd if=/dev/sda bs=4096 of=/dev/null count=1M
평균 71.1MB/s의 캐시 감소로 매우 낮습니다. 방금 디스크 이미지로 구운 드라이브의 평균 읽기 속도는 195MB/s입니다.
불량 블록을 실행하여 이러한 드라이브를 "손상"시켰습니까? 복구/재설정할 수 있나요?
스마트 쇼
- 불량 블록의 높은 스핀업 시간 ~3000(새 드라이브의 경우 0)
- 모든 드라이브에서 읽기 오류가 없고 섹터 재배치가 없습니다.
- 모든 드라이브에 대한 자체 테스트 통과
- 그 외에는 거의 동일한
smartctl -a
보고서
답변1
부분 답변:
badblock -w
실제로는 블록을 읽는 대신 모든 단일 블록을 작성하므로 일반적인 "비파괴" 테스트 대신 "파괴" 테스트를 수행한 것입니다.
저것~할 수 있었다특히 작성한 이미지가 하드 드라이브의 전체 용량보다 작은 경우에는 차이가 있을 수 있습니다. 이미지만 있는 하드 드라이브에는 더 높은 번호의 블록이 그대로 있고 불량 블록이 있는 하드 드라이브는 더 높은 번호의 블록에 패턴이 있습니다.
그러나 이것이 처리량에 어떤 영향을 미칠 수 있는지는 알 수 없습니다.
불량 블록의 높은 스핀업 시간 ~3000(새 드라이브의 경우 0)
회전 0은 값이 아직 설정되지 않은 것처럼 들립니다. 어떤 하드 드라이브도 즉시 회전할 수 없습니다. 몇 번 전원을 껐다 켜도 값이 0으로 유지됩니까?
질문에 실제 SMART 보고서를 포함하면 도움이 될 수 있습니다.
모든 드라이브에서 읽기 오류가 없고 섹터 재배치가 없습니다.
탐색 오류는 어떻습니까? 실제로 처리량에 영향을 미칠 수 있습니다.
실험하고 싶다면(어두운 상황에서 촬영): 불량 블록이 있는 하드 드라이브 중 하나 또는 두 개를 가져와서 모든 블록에 0을 쓰고 dd
(사용된 패턴을 덮어쓰게 됨 badblk
) 하드 드라이브의 이미지를 다시 작성하여 제대로 작동하는지 확인하세요. 차이.
그렇다면 펌웨어는 "0" 블록을 "데이터"가 있는 블록과 다르게 처리합니다. 이유가 무엇이든지.
또 다른 아이디어는 하드 디스크에 빠른 캐시, 플래시 메모리가 있을 수 있다는 것입니다. 이는 간단한 방법으로 읽기 및 쓰기 속도를 측정하는 테스트에서 하드 디스크를 보기 좋게 만드는 역할을 합니다. 따라서 그들은 실제 운영에서 실제로 달성되지 않는 판매를 늘리기 위해 데이터 시트에 많은 숫자를 기록할 수 있습니다. 그리고 badblk
쓰기 작업을 수행하면 캐시가 "오버플로"되어 펌웨어에서 캐시를 더 이상 사용할 수 없다고 결정합니다.