S.M.A.R.T 데이터 해석 부탁드립니다
2010.12.08 00:04
안녕하세요?
서버를 하나 운영하고 있는데, 항시 신경이 쓰이는 것이 HDD의 상태네요.
S.M.A.R.T 정보를 가지고 HDD의 health monitoring이 가능한 것으로 알고 있어서, smartmontools를 설치는 해 두었는데...
문제는...
제가 S.M.A.R.T 데이터를 봐도 도무지 해석이 안된다는겁니다;;;
현재 smartctl -A /dev/sda 명령으로 조회한 결과가 아래와 같은데, 어떨게 해석하면 좋을까요??
==================================================================================================================
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 119 099 006 Pre-fail Always - 219931342
3 Spin_Up_Time 0x0003 098 098 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 14
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 069 060 030 Pre-fail Always - 7578724
9 Power_On_Hours 0x0032 092 092 000 Old_age Always - 7520
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 7
183 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
184 Unknown_Attribute 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Unknown_Attribute 0x0032 100 098 000 Old_age Always - 40
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 063 062 045 Old_age Always - 37 (Lifetime Min/Max 25/38)
194 Temperature_Celsius 0x0022 037 040 000 Old_age Always - 37 (0 22 0 0)
195 Hardware_ECC_Recovered 0x001a 027 026 000 Old_age Always - 219931342
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 64025077489007
241 Unknown_Attribute 0x0000 100 253 000 Old_age Offline - 468649171
242 Unknown_Attribute 0x0000 100 253 000 Old_age Offline - 100936476
==================================================================================================================
가르침을 부탁드립니다.
코멘트 3
-
답변 감사드립니다~ ^_^
dmesg는 자주 보는데, 에러가 발생해야만 I/O error 메시지를 찍으니까 미리 사전에 징후롤 포착할 수 있는 방법을 물색하는 중이랍니다.
-
저도 엄청나게 고민했던 부분인데........
서버의 대수와 서버 머신당 디스크 개수가 몇 개인지 모르겠지만....
그 건 Manufacturer의 몫입니다. 하드디스크 여러 개 놓고... 콘트롤러도 놓고... 하는 데...
--> 물론 HP나 IBM이나. 하는 곳도 이 레벨로 업무 진행한 지 3년이 안 되었습니다... (SATA와 SAS 쪽에서는요.. 당연한 건가. ㅎㅎ)
혹시 그런 류의 SW를 개발하시는 분이시라면 차라리 모든 업체의 관련 Message API를 다 받아들이실 수 있도록 하시는 게 나을 겁니다.
참고로 OpenPegasus에서 제가 위에 언급한 내용이 꽤 많이 진행되어 있습니다.
SMART 의 RAW데이터를 보는 거네요... 저런 툴도 있었는 줄 몰랐습니다. ㅎㅎ 음...
일단 드릴 수 있는 말씀은... 업계 표준의 규정치라는 게 없습니다.
제조자 의 기준이 존재하구요.....
보통은 임계치 (주로 빈도로 프로그래밍 합니다. 일정 시간마다 리셋합니다.)로 잡습니다.
관련 내용은 콘트롤러 드라이버까지 봐야 합니다. 결국 거기서 해석하니깐요.
물리적 동작이 있는 곳에서 에러가 아예 없을 수는 없습니다.
이를 얼마나 허용할 것인지는 여러가지 요소가 있겠네요....
저것만 가지고는 해석이 불 가능할 겁니다. 적어도 하드디스크 스펙, 현재 디스크 구성, 콘트롤러..
그리고 펌웨어들까지 모두 나와야 합니다... ;; 제대로 분석하려면 패스쓰루 한 형태의 분석기도 ;;;
일반 사용자는 펌웨어&드라이버에서 찍어주는 dmesg만 보셔도 되어요. 실제 서버 운영하는 사람도 그렇게 하구요. ^^