'badblocks'에 의한 전체 읽기 / 쓰기 표면 스캔은 내장 된 SMART Extended 자체 테스트와 어떻게 다릅니 까?
둘 다 전체 표면 스캔 인 것처럼 보이므로 badblocks -vws
1TB 드라이브를 테스트하는 데 3 일이 걸리는 반면 SMART는 2 시간 30 분 안에 (적어도 smartmon이 제게 추정 한 시간입니다)?
'badblocks'에 의한 전체 읽기 / 쓰기 표면 스캔은 내장 된 SMART Extended 자체 테스트와 어떻게 다릅니 까?
둘 다 전체 표면 스캔 인 것처럼 보이므로 badblocks -vws
1TB 드라이브를 테스트하는 데 3 일이 걸리는 반면 SMART는 2 시간 30 분 안에 (적어도 smartmon이 제게 추정 한 시간입니다)?
답변:
SMART 표면 테스트는 거의 확실하고 비파괴적인 읽기 패스입니다. 지적한 바와 같이 드라이브 내부에도있다. 사소한 제어 데이터를 제외하고 테스트 중에 호스트로 또는 호스트에서 데이터가 전달되지 않습니다.
반면, badblocks -w
하나의 쓰기와 하나의 읽기로 드라이브를 네 번 통과시킵니다. 이것만으로도 테스트에 걸리는 시간의 8 배 차이와 회전 대기 시간이 고려됩니다. 호스트에서 실행되는 소프트웨어이기 때문에 모든 데이터는 디스크 인터페이스를 통해 RAM으로 셔플하고 소프트웨어 (이 경우 배드 블록)가 처리해야합니다.
최악의 경우 회전 지연 시간이 1 배인 경우 (데이터를 다시 읽기 위해 디스크를 쓴 후 디스크가 완전히 회전해야합니다. 이는 불량 블록을 좋아하는 경우 전체를 먼저 채운다는 것을 알 수 있습니다. 디스크를 읽은 후 LBA로 거의 불가능한 시점에 하나의 물리적 트랙을 I / O하지 않고 다시 읽습니다. 필요한 경우 최악의 경우 (1 + 1) × 8 × = 16 ×로 끝납니다. 작업을 완료하십시오. 16 × 2.5h = 40h. 이는 확실히 귀하의 숫자와 일치하지만 여전히 드라이브의 데이터 스토리지 만 처리하고 드라이브가 순차적 I / O를 유지할 수있는 한 빠른 속도로 진행되고 있다고 가정합니다.
SMART 단기 및 장기 테스트는 섹터의 읽기 (현지화) 만 수행합니다. 또한 데이터에 비파괴 적입니다. 읽은 데이터는 호스트 PC가 아닌 온보드 컨트롤러로만 전송됩니다. SATA 인터페이스는 테스트 중에 기본적으로 유휴 상태이며 PC의 HDD 작동 표시등이 켜지지 않아야합니다.
badblocks -vws
쓰기 섹터를 요청한 다음 읽기 및 확인 작업을 수행합니다. 각 쓰기 및 읽기는 작업 당 디스크 혁명과 SATA 인터페이스를 통한 데이터 전송 시간 및 호스트 PC 처리를 추가합니다. HDD 작동 표시등은 대부분 켜져 있어야합니다.
https://wiki.archlinux.org/index.php/badblocks#Comparisons_with_Other_Programs
여기서주의해야 할 점은 일부 제조업체 테스트 프로그램은 전체 테스트 결과를 인쇄하지 않고 특정 수의 불량 섹터가 통과 여부에 대해서만 말하도록 허용한다는 것입니다. 그러나 제조업체 프로그램은 일반적으로 때때로 불량 블록보다 훨씬 빠릅니다.
따라서 가능한 경우 배드 블록의 파괴적인 철저한 테스트를 사용하십시오.
편집 : 파괴적으로 나는 많은 현대식 하드 드라이브가 180TB / y 워크로드를 가지고 있음을 의미했습니다. 즉, 12TB HD에서는 테스트하기 위해 전체 불량 블록 테스트를 실행하면 96TB의 워크로드를 사용하게됩니다. 워크로드에 의해 쓰기만을 의미하는 경우 48TB가 될 수 있습니다.
badblocks
"마지막 블록" "첫 번째 블록"매개 변수 사용을 고려 하고 하루에 조금씩 테스트를 수행 했습니까?