이 smartctl (스마트 몬) 데이터를 해석하는 방법


20

우리는 리눅스 서버를 3 년 동안 많이 사용했습니다. 우리는 많은 가상화 서버를 운영하고 있으며, 일부는 제대로 작동하지 않았으며, 상당한 시간 동안 서버의 io 용량이 초과되어 잘못된 iowait가 발생했습니다. 3com RAID 컨트롤러에 연결된 4 개의 500GB Barracuda SATA 드라이브가 있습니다. 1 드라이브에는 OS가 있고 다른 3 개는 RAID 5 설정입니다.

이제 드라이브의 상태와 드라이브의 고장 여부에 대한 토론이 있습니다.

다음은 4 개의 디스크 중 1 개에 대한 출력의 일부입니다. 그들은 모두 비교적 비슷한 통계를 가지고 있습니다 :

스마트 속성 데이터 구조 개정 번호 : 10
임계 값이있는 공급 업체별 SMART 속성 :
ID # ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE WHEN_FAILED RAW_VALUE 업데이트
  1 Raw_Read_Error_Rate 0x000f 118 099 006 사전 실패 항상-169074425
  3 Spin_Up_Time 0x0003 095 092 000 사전 실패 항상-0
  4 Start_Stop_Count 0x0032100100020 Old_age 항상-26
  5 Reallocated_Sector_Ct 0x003310010036 사전 실패 항상-0
  7 Seek_Error_Rate 0x000f 077 060 030 사전 실패 항상-200009354607
  9 Power_On_Hours 0x0032 069 069 000 Old_age 항상-27856
 10 Spin_Retry_Count 0x0013 10010097 사전 실패 항상-1
 12 Power_Cycle_Count 0x0032100100020 Old_age 항상-26
184 Unknown_Attribute 0x003210010099 Old_age 항상-0
187 Reported_Incorrect 0x0032 100 100 000 Old_age 항상-0
188 Unknown_Attribute 0x0032 100 100 000 Old_age 항상-1
189 High_Fly_Writes 0x003a 100 100 000 Old_age 항상-0
190 Airflow_Temperature_Cel 0x0022 060160 45 Old_age Always-29 (수명 최소 / 최대 26/37)
194 Temperature_Celsius 0x0022 029 040 000 Old_age Always-29 (0 21 0 0)
195 Hardware_ECC_Recovered 0x001a 046 033 000 Old_age Always-169074425
197 Current_Pending_Sector 0x0012 100100 000 Old_age 항상-0
198 오프라인 _ 수정 불가 0x0010 100 100 000 Old_age 오프라인-0
199 UDMA_CRC_Error_Count 0x003e 200 200,000 Old_age 항상-0

스마트 오류 로그 버전 : 1
오류가 기록되지 않음

이것에 대한 나의 해석은 불량 섹터 또는 드라이브 중 하나가 적극적으로 고장났다는 다른 징후가 없다는 것입니다.

그러나 높은 Raw_Read_Error_Rate 및 Seek_Error_Rate는 드라이브가 죽고 있음을 나타냅니다.


1
여기에 좋은 설명이 있습니다 (다시 게시하기에는 링크를 따라 가십시오 ) : lime-technology.com/wiki/Understanding_SMART_Reports 링크가 다운 된 경우 몇 가지 중요한 인용문이 있습니다. "현재 오류 비율을 나타냅니다 "낮은 수준의 물리 섹터 읽기 작업. 일반 작업에서는 항상 적은 수의 오류가 있습니다. [...] 드라이브에 문제가 없습니다." "PLEASE는 RAW_VALUE 숫자를 완전히 무시합니다. Seagate만이 원시 값을보고합니다. 예, 원시 읽기 오류의 수인 것처럼 보이지만 완전히 무시해야합니다."
Konrad Gajewski

답변:


7

내 경험상 Seagate는이 두 가지 SMART 속성에 대해 이상한 숫자를 가지고 있습니다. Seagate를 진단 할 때 이러한 항목을 무시하고 재 할당 된 섹터 수와 같은 다른 필드를 자세히 살펴 보는 경향이 있습니다. 물론, 의심스러운 경우 드라이브를 교체하지만 새로운 Seagate도 이러한 특성으로 인해 많은 수를 차지할 것입니다.


58

Seagate 디스크 (및 WD의 일부 오래된 디스크)의 경우 Seek_Error_Rate 및 Raw_Read_Error_Rate는 48 비트 숫자이며, 최상위 16 비트는 오류 카운트이고 하위 32 비트는 여러 작업입니다.

% python
>>> 200009354607 & 0xFFFFFFFF
2440858991
>>> (200009354607 & 0xFFFF00000000) >> 32
46

따라서 디스크가 2440858991 검색을 수행했으며 그 중 46 개가 실패했습니다. Seagate 드라이브에 대한 나의 경험은 오류 수가 1000 개가 넘으면 고장날 수 있다는 것입니다. YMMV.


7
이것보다, 나는 원래 질문을 제기했을 때 그 정보를 다시 얻었기를 바랍니다.
gview

1
이것은 매우 유용합니다. 공황에서 나를 구했습니다.
Halsafar

누군가이 분리와 함께 48 비트 숫자임을 확인하는 링크를 제공 할 수 있습니까? 이 번호를 확인하고 싶습니다
iuridiniz

9

"검색 오류율"및 "원시 읽기 오류율"RAW_VALUES은 Seagate의 지원 외에는 누구에게나 의미가 없습니다. 다른 사람들이 지적했듯이 "재 할당 된 섹터 수"또는 드라이브 오류 로그의 항목과 같은 매개 변수의 원시 값은 더 높은 오류 가능성을 나타낼 가능성이 높습니다.

그러나 게이지로 읽을 VALUE, WORST 및 THRESH 열의 해석 된 데이터를 살펴볼 수 있습니다.

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH
  7 Seek_Error_Rate         0x000f   077   060   030

검색 오류율이 현재 "77 % 양호"로 간주되고 "30 % 양호"에 도달하면 SMART에서 문제로보고됩니다. 한 번 "60 % good"만큼 낮았지만 그 이후로 마술처럼 회복되었습니다. 해석 된 값은 드라이브의 SMART 논리에 의해 내부적으로 계산되며 정확한 계산은 제조업체에서 게시하거나 게시하지 않을 수 있으며 일반적으로 사용자가 조정할 수 없습니다.

개인적으로, 나는 오류 로그 항목을 포함하는 드라이브를 "실패"로 간주하고 발생하자마자 교체를 촉구합니다. 그러나 구글이 발표 한 연구 논문 이 밝혀지면서 SMART 데이터는 실패 예측의 다소 약한 지표로 판명되었습니다 .


4

나는이 토론이 약간 오래되었지만 내 2 센트를 추가하고 싶다는 것을 깨달았습니다. 나는 똑똑한 정보가 사전 실패의 좋은 지표라는 것을 알았습니다. 스마트 임계 값이 트립되면 드라이브를 교체하십시오. 이것이 바로 그 임계 값입니다.

대부분의 시간에 불량 섹터가 보이기 시작합니다. 드라이브가 고장 나기 시작했다는 확실한 신호입니다. 스마트는 저를 여러 번 구했습니다. 소프트웨어 RAID 1을 사용하는데 고장난 드라이브를 교체하고 어레이를 재 구축하기 때문에 매우 유용합니다.

또한 매주 짧고 긴자가 테스트를 실시합니다.

smartctl -t short /dev/sda
smartctl -t long /dev/sda 

또는 /etc/smartd.conf 파일을 추가하고 오류가있을 경우 이메일을 보내도록하십시오

/dev/sda -s L/../../3/22 -I 194 -m someemail@somedomain
/dev/sdb -s L/../../7/22 -I 194 -m someemail@somedomain

logwatch를 설치하고 루트를 이메일 주소로 리디렉션하고 logwatch에서 매일 이메일을 확인하십시오. SMARTD 트립 플래그가 거기에 표시되지만 정기적으로 모니터링하는 사람이 없으면 도움이되지 않습니다.


1

예, 해당 필드는 나빠 보이지만 smart에서보고 한 정보를 더 이상 믿지 않습니다 (smartctrl으로 데이터를 읽는 경우 오랜 시간 전에 죽어야하는 드라이브가 있습니다). 높은 iowait 및 드라이브는 3 살입니다. 드라이브를 변경하기에 충분해야합니다.


1
여러 가지 이유로 하드웨어에 대한 투자를 극대화해야합니다. iowait는 말도 안되는로드, 그리고 박스 설정시 구성 오류와 관련이있었습니다.
gview

0

이 포스트에서 괴로움을 저지르는 것을 유감스럽게 생각하지만, 내 경험상 Seagate 드라이브의 "Raw Read Error Rate"및 "Hardware ECC Recovered"필드는 문자 그대로 모든 곳으로 이동 하여 지속적으로 수조 범위로 증가합니다. 프로세스를 다시 계속하려면 0으로 돌아갑니다. 나는 Seagate ST9750420AS를 사용하여 첫날부터 그 문제를 겪었으며 몇 년 동안 3500 시간 이상 사용해도 여전히 잘 작동합니다.

귀하의 경우에 필드를 실행하는 경우 해당 필드를 무시해도 안전합니다. 두 필드가 동일한 번호를보고 지속적으로 동기화하고 있는지 확인하십시오. 그렇지 않다면 ... 잘 ... 실제로 문제가 될 수 있습니다.


0

이 답변 의 계산을 자동화하려면 온라인 자바 스크립트 계산기를 사용하십시오.

https://yksi.ml/

이것은 당신에게 말할 것입니다 :

  • 총 작업 수
  • 실패한 작업 수

계산기는 Seagate에 유효합니다 :

  • 오류율 찾기
  • 원시 읽기 오류율
  • 하드웨어 ECC 복구

정규화 된 계산 (0에서 100 사이의 값)에 대한 자세한 내용은 이 기사를 참조 하십시오 .

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