SMART 테스트는 무엇을하고 어떻게 작동합니까?


27

man smartctl 상태 (간결성을 위해 생략 됨) :

"온라인"테스트라고 하는 첫 번째 범주 입니다. 두 번째 범주 의 테스트를 "오프라인"테스트라고합니다. 일반적으로 디스크 액세스가 진행되는 동안 디스크는 오프라인 테스트를 일시 중단 한 다음 디스크가 유휴 상태 일 때 자동으로 디스크를 다시 시작합니다. 테스트 의 세 번째 범주 ( '테스트'라는 단어가 실제로 적합한 유일한 범주)는 "자체"테스트입니다.

SMART 자동 오프라인 테스트를 활성화 또는 비활성화하여 4 시간마다 드라이브에 디스크 결함이 있는지 검사합니다. 이 명령은 정상적인 시스템 작동 중에 제공 될 수 있습니다.

누가 테스트-드라이브 펌웨어를 실행합니까? 펌웨어는 어떤 종류의 테스트입니까-펌웨어는 디스크에 읽기 / 쓰기를 수행합니까? BIOS (OS) 프롬프트에서 OS를 재부팅 할 때 ( '오프라인 테스트') OS (linux)에서 테스트를 호출하는 것이 안전합니까? 아니면 나중에 테스트를 예약 할 수 있습니까? SMART 로그의 결과는 어디에 표시됩니까?

답변:


38
  1. 드라이브 펌웨어가 테스트를 실행합니다.

  2. 테스트에 대한 자세한 내용은 www.t13.org/Documents/UploadedDocuments/technical/e01137r0.pdf에서 읽을 수 있습니다. 여기에는 단기 및 장기 테스트의 요소가 요약되어 있습니다.

    1. 드라이브가 자체 전자 장치를 테스트하는 전기 세그먼트. 이 세그먼트의 특정 테스트는 공급 업체에 따라 다르지만 예를 들어 버퍼 RAM 테스트, 읽기 / 쓰기 회로 테스트 및 / 또는 읽기 / 쓰기 헤드 요소 테스트와 같은 테스트가 포함될 수 있습니다.

    2. 드라이브가 데이터 트랙을 찾고 서보하는 능력을 테스트하는 시크 / 서보 세그먼트. 이 테스트에 사용 된 특정 방법론도 공급 업체별로 다릅니다.

    3. 드라이브가 디스크 표면의 일부의 판독 스캐닝을 수행하는 판독 / 검증 스캔 세그먼트. 스캔 된 표면의 양과 위치는 완료 시간 제약 조건에 따라 다르며 공급 업체별로 다릅니다.

    4. 확장 자체 테스트의 기준은 다음 두 가지 예외를 제외하고 짧은 자체 테스트와 동일합니다. 확장 자체 테스트의 세그먼트 (3)은 모든 사용자 데이터 영역의 읽기 / 확인 스캔이어야하며, 드라이브가 테스트를 수행 할 수있는 최대 시간 제한.

  3. 약간의 성능 영향이있을 수 있지만 OS가 실행되는 동안 비파괴 테스트를 수행하는 것이 안전합니다. 는 AS smartctl맨 페이지가 모두라고 -t short하고 -t long,

이 명령은 일반 시스템 작동에서 제공 될 수 있습니다 (캡 티브 모드로 실행하지 않는 한).

당신이 포로 모드를 호출하면 -C, smartctl드라이브가 작동 중지 아웃 할 수 불가능에 가정합니다. OS가 사용중인 드라이브에서는 수행 하면 안됩니다 .

매뉴얼 페이지에서 알 수 있듯이 오프라인 테스트 (단순한 백그라운드 테스트를 의미 함)는 신뢰할 수 없으며 공식적으로 ATA 사양의 일부가되지 않았습니다. 대신 cron에서 내 것을 실행합니다. 그런 식으로 언제 발생해야하는지 알고 필요할 경우 중단 할 수 있습니다.

  1. 결과는 결과에서 볼 수 있습니다 smartctl. 테스트 실행 중 하나는 다음과 같습니다.
[root @ risby 이미지] # smartctl -a / dev / sdb
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.1.6-201.fc22.x86_64] (로컬 빌드)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
[...]
SMART 자체 테스트 로그 구조 개정 번호 1
Num Test_Description 상태 남은 수명 (시간) LBA_of_first_error
# 1 오프라인 확장 오류 00 % 20567없이 완료 됨-
# 2 오프라인으로 확장 됨 오류없이 완료 됨 00 % 486-

SMART 선택적 자체 테스트 로그 데이터 구조 개정 번호 0
참고 : 1이 아닌 개정 번호는 선택적 자체 테스트가 실행되지 않았 음을 나타냅니다.
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
   1 0 0 Self_test_in_progress [90 % 왼쪽] (0-65535)
   2 0 0 Not_testing
   3 0 0 Not_testing
   4 0 0 비 시험
   5 0 0 Not_testing

이전에 완료된 2 개의 테스트 (각각 486 및 20567 시간의 전원 켜기)와 현재 실행중인 테스트 (10 % 완료)에 유의하십시오.


1
또한 smartmontools를 사용하는 경우 smartd 데몬은 cronjob없이 정기적 인 테스트를 처리 할 수 ​​있습니다. 또한 사전 모니터링이 선호 될 수 있지만 드라이브 문제보고도 처리합니다.
GnP

8

SMART 구현은 제조업체에 따라 다르며 때로는 smart -a명령을 통해 상당히 광범위한 로그를 사용할 수 있습니다 . Hitachi의 자체 암호화 드라이브 중 하나에 다음과 같은 내용이 있습니다 .

SMART Error Log Version: 1
ATA Error Count: 3

Error 3 occurred at disk power-on lifetime: 2543 hours (105 days + 23 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 08 00 08 00 00  Error: IDNF at LBA = 0x00000800 = 2048

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
-- -- -- -- -- -- -- --  ----------------  --------------------
60 08 68 00 08 00 40 00      00:00:06.139  READ FPDMA QUEUED
27 00 00 00 00 00 e0 00      00:00:06.126  READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00      00:00:06.125  IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00      00:00:06.125  SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00      00:00:06.125  READ NATIVE MAX ADDRESS EXT
...

이 백서 에는 로그에 나타나는 오류 코드에 대한 설명이 들어 있습니다. 일반적인 오류 약어는 다음과 같습니다.

  • AMNF-주소 표시를 찾을 수 없습니다
  • TONF-트랙 0을 찾을 수 없습니다
  • ABRT-명령이 중단되었습니다
  • IDNF-섹터 ID를 찾을 수 없습니다
  • UNC-수정할 수없는 데이터
  • BBK-불량 블록 마크

필자의 경우, USB-SATA 어댑터를 통해 드라이브를 꽂았거나 전원이 부족하여 IDNF 오류 (ID를 찾을 수 없음)를 다시 추적하여 제대로 검색하지 못했습니다.

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