![SMART를 지원하지 않는 디스크의 오류를 테스트하는 방법은 무엇입니까?](https://linux55.com/image/13039/SMART%EB%A5%BC%20%EC%A7%80%EC%9B%90%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EB%94%94%EC%8A%A4%ED%81%AC%EC%9D%98%20%EC%98%A4%EB%A5%98%EB%A5%BC%20%ED%85%8C%EC%8A%A4%ED%8A%B8%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
microSD 카드에서 부팅된 Raspberry Pi(Raspbian 실행)가 있습니다. 홈 서버 역할을 하기 때문에 자연스럽게 microSD 카드의 오류를 모니터링하고 싶었습니다. 하지만 안타깝게도 microSD 카드는 제가 가지고 있는 다른 디스크처럼 SMART를 지원하지 않기 때문에 디스크 오류를 모니터링하는 방법을 잘 모르겠습니다.
비SMART 지원 디스크가 아직 사용 중이거나 파티션이 마운트되어 있는 경우 오류를 모니터링/확인하는 방법은 무엇입니까?
답변1
smartctl -t long
자가 테스트를 (매개변수 없음)로 대체 할 수 있습니다 badblocks
. 간단한 읽기 전용 테스트를 수행합니다. 파일 시스템을 마운트하는 동안 실행할 수 있습니다. (소위 비파괴 쓰기 테스트를 사용하지 마십시오).
# badblocks -v /dev/loop0
Checking blocks 0 to 1048575
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)
아직 불량 섹터가 의심되지 않는 경우에만 이 옵션을 사용해야 합니다. 불량 섹터가 될 것이라는 것을 이미 알고 있는 경우에는 대신 사용하십시오 ddrescue
. ( badblocks
읽은 모든 데이터를 버리고 ddrescue
나중에 유용할 수 있는 복사본을 만듭니다.)
그 외에도 SMART가 할 수 없는 작업을 수행할 수 있습니다. 체크섬 파일 시스템, dm 무결성 레이어 또는 백업 및 비교를 사용하여 실제로 콘텐츠를 확인합니다. 이것이 누락된 경우 일반 파일 시스템 검사를 실행하십시오.
MicroSD 카드에는 감지하기 어려운 오류 모드도 있습니다. 일부 카드는 결국 쓰기를 포기하고 읽을 때 이전 데이터를 계속 반환할 수 있습니다. 여기서는 단순한 체크섬만으로는 충분하지 않을 수 있습니다. 카드가 우연히 이전 데이터와 이전 체크섬을 반환하는 경우 데이터가 잘못되더라도 여전히 일치할 수 있습니다.
너무 많이 기록하면 데이터가 손실되는 일부 가짜 용량 카드도 있습니다. 둘 다 읽기 또는 쓰기 오류를 반환하지 않으며 파괴적인 쓰기 모드에서도 감지할 수 없습니다 badblocks
(쓰기 패턴이 반복적이기 때문).
이를 위해서는 그 위에 암호화 레이어를 놓는 것과 같이 반복되지 않는 패턴으로 테스트해야 합니다(LUKS에 기록된 불량 블록은 가짜 용량 카드에서 감지되지만 원시 장치에 기록된 불량 블록은 감지되지 않습니다). .