2014. 9. 5. 10:07ㆍServer/Ubuntu
멀쩡하게 잘 쓰고 있던 운영 서버에서 갑자기 아래와 같은 에러 메시지를 밷어내며.. read-only 상태로 변하였다.
end_request i/o error dev sda sector
하드 쪽이 의심이 가지만, 열씸히 구글 도움을 요청해서 smartctl이란 util을 발견하였다.
만약 smartctl 명령이 먹히지 않는다면 apt-get으로 설치!!
root@> apt-get install smartmontools
설치가 완료되었으면, 아래와 같은 명령으로 하드디스크 점검 시작!
root@> smartctl -a /dev/sda
해당 명령을 치면 하드디스크 관련 메시지가 쫙 나오고.. 아래 요약한 부분이 하드 점검 결과라고 한다.
빨간색으로 표시한 곳은 RAW_VALUE 수치가 높을수록 안좋은 거임..
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 098 092 006 Pre-fail Always - 108163683
3 Spin_Up_Time 0x0003 097 097 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 51
5 Reallocated_Sector_Ct 0x0033 093 093 036 Pre-fail Always - 10200
7 Seek_Error_Rate 0x000f 082 060 030 Pre-fail Always - 195279266
9 Power_On_Hours 0x0032 086 086 000 Old_age Always - 12523
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 51
183 Runtime_Bad_Block 0x0032 089 089 000 Old_age Always - 11
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 001 001 000 Old_age Always - 121
188 Command_Timeout 0x0032 100 092 000 Old_age Always - 446683414632
189 High_Fly_Writes 0x003a 092 092 000 Old_age Always - 8
190 Airflow_Temperature_Cel 0x0022 053 037 045 Old_age Always In_the_past 47 (13 78 47 47)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 36
193 Load_Cycle_Count 0x0032 075 075 000 Old_age Always - 51022
194 Temperature_Celsius 0x0022 047 063 000 Old_age Always - 47 (0 20 0 0)
197 Current_Pending_Sector 0x0012 084 070 000 Old_age Always - 2776
198 Offline_Uncorrectable 0x0010 084 070 000 Old_age Offline - 2776
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 166318313581678
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 167781538036
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 6941350865
Raw_Read_Error_Rate : 데이터를 읽는 도중에 발생한 에러 (이건 왜이렇게 수치가 높지 -_-;;)
Spin_Up_Time : 하드가 제로 rpm에서 최대 rpm까지 도달하는데 걸리는 시간이 정상인지 여부
Start_Stop_Count : 하드가 회전하고 정지한 수
Reallocated_Sector_Ct : 섹터에 문제가 생겨 재할당된 섹터 수
Seek_Error_Rate : 탐색 에러율 (이것도 수치가 높다 ㅜ_ㅜ)
Power_On_Hours : 하드에 전원이 인가된 시간
Spin_Retry_Count : 최대 rpm에 도달하기 위해 시도한 횟수 (이건 정상)
Power_Cycle_Count : 전원 on/off 횟수
Runtime_Bad_Block : 일반적인 동작 상황에서 발생하는 에러의 개수
End-to-End_Error : 종단 interal card의 데이터 경로에서 발생하는 에러
Reported_Uncorrect : 정정불가능한 에러의 수
Command_Timeout : 명령어가 수행되는데 걸리는 시간
Power-Off_Retract_Count : 하드의 헤드(데이터를 읽기 위한)가 플레터(데이터가 저장되는 곳, 동그란 원판)를 벗어난 횟수
Load_Cycle_Count : 하드의 헤드가 플레터로 진입한 횟수
Temperature_Celsius : 하드디스크 온도
Current_Pending_Sector : 준 배드섹터
Offline_Uncorrectable : 배드섹터
UDMA_CRC_Error_Count : CRC 에러 횟수
문제가 되는 부분만 확인하고 싶을 때는 아래와 같은 명령어를 입력한다.
root@> smartctl -q errorsonly -H -l selftest -l error /dev/sda