smartctl, hdparm 디스크 점검하기

| 2018년 2월 23일 | 0 Comments

<smartctl>

 smartctl 명령어는 SMART(Self-Monitoring, Analysis, and Reporting Technology) 기능이 탑재된 하드디스크를 점검하는 도구 입니다.

하드디스크 ROM 에 기록되는 형태로서 , I/O 에러 발생으로 write 가 잠겨 /var/log/messages 상에 남지 않는 I/O 에러를 검출하는 목적으로 사용할 수 있습니다 .

 

1) 설치하기

# yum install smartmontools

2) 명령어 사용법

# smartctl [옵션] [장치명]

# 기본적으로 모든 정보를 확인 할 때는 -a(–all) 옵션을 많이 사용합니다.

(ex. smartctl -a /dev/sda)

# 간단한 하드디스크의 상태를 확인 할 때는 -H(–health) 옵션을 사용합니다.

(ex. smartctl -H /dev/sda)

# 간단한 하드디스크의 정보를 확인 할 때는 -i(–info) 옵션을 사용합니다.

(ex. smartctl -i /dev/sda)

# 명령어 사용 중 smart 기능이 잠겨있을 때에는 -s on(–smart=VALUE) 옵션을 사용합니다.

(ex. smartctl -s on /dev/sda)

3) 주요 속성 값

Raw_Read_Error_Rate

디스크 표면으로 부터 데이터를 읽는 과정에 문제가 있는 경우 (정상적인 경우 0)

보통 외부에서 물리적인 충격이 가해지면 수치가 상승

– Sping_up_Time

플레터 회전에 제로 rpm 에서 최대 rpm에 도달하는 평균 시간

– Start_Stop_Count

플레터가 회전하고 정지한 횟수

Reallocated_Sector_Ct

섹터에 문제가 생겨서 스페어영역의 대체 스페어영역으로 섹터 이동 (정상적인 경우 0)

Seek_Error_Rate

탐색 오류율 (정상적인 경우 0)

– Power_On_Hours

하드디스크에 전원이 인가된 시간

Spin_Retry_Count

최대 rpm에 도달하기 위해서 회전을 시도하는 횟수 (정상적인 경우 0)

– Power_Cycle_Count

전원 on/off 횟수

– Power-Off_retract_Count

헤드가 플레터(디스크)에서 벗어나는 횟수

– Load_Cycle_Count

헤드가 플레터 위로 진입한 횟수

– Temperature_Celsius

하드디스크 온도

– Reallocated_Event_Count

스페어 영역으로 대체된 섹터로 부터 데이터를 읽어간 횟수

– Hardware ecc recovered

ECC 오류검출로 인하여 복구된 횟수

Current_Pending_Sector

불안전한 섹터로 스페어영역 섹터로 remap을 준비중이거나 읽는 과정에 문제가 생긴 섹터

(=준 배드섹터,정상적인 경우 0)

Offline_Uncorrectable

읽기/쓰기 에 문제가 생긴 섹터, 즉 디스크 표면이 손상됨(=배드섹터, 정상적인 경우 0)

UDMA_CRC_Error_Count

하드디스크 인터페이스를 통해 데이터 전송과정에 발생한 CRC 체크섬 오류 횟수

(정상적인 경우 0)

– Multi_Zone_Error_Rate

섹터에 쓰기과정에 발생한 에러가 검출된 횟수

* 굵은글씨에 속성값은 정상적인 디스크라면 값이 0 이여야 합니다.

 

<hdparm>

hdparm 명령어는 하드디스크의 설정 값을 확인 할 때 사용하는 명령어 입니다.

보통은 하드디스크의 속도를 체크할 때 많이 사용합니다.

1) 설치

# yum install hdparm

# 명령어 위치 : /sbin/hdparm

2) 명령어 사용법

# hdparm [옵션] [장치명]

# 기본적으로 디스크의 속도를 체크 할때 -tT 옵션을 많이 사용합니다.

(ex. hdparm -tT /dev/sda)

-t옵션은 버퍼되어 있지 않은 데이터를 읽는 속도를 체크하고

-T옵션은 버퍼된 데이터를 읽는 속도를 체크합니다.

두 옵션을 함께 사용하며 현재 속도차이가 얼마인지 알 수 있습니다.

명령어 사용 시 아래와 같은 결과 값을 볼 수 있습니다.

/dev/sda:

Timing cached reads: 8806 MB in 2.00 seconds = 4406.90 MB/sec

Timing buffered disk reads: 574 MB in 3.01 seconds = 191.01 MB/sec

# 그 외 나머지 옵션

-a : 파일 시스템의 readahead에 대한 파라미터 값을 확인 및 설정

* readahead는 하드디스크에 접근할 때 미리 읽는 섹터개수를 알려줌

-A : 드라이브의 read-lookahead flag (0/1)를 설정

-b : BUS상태 값(0 == off, 1 == on, 2 == tristate)을 확인 및 설정

-B : APM(Advanced Power Management)(범위:1~255)설정

-c : IDE32-bit IO설정에 대한 확인 및 설정

-C : IDE장치의 파워모드상태 점검

-d : using_dma 플래그 설정 및 확인

-E : CD-ROM 드라이브 속도 설정

-f : 지정한 장치에 대한 버퍼캐쉬 동기화 그리고 빠져나감

-g : 드라이브 geometry값을 표시

-i : 드라이브 identification값 표시, HDD의 모델명 참조

-k : keep_settings_over_reset 플래그값(0/1)의 설정 및 확인

-K : 드라이브 keep_features_over_reset 플래그 값(0/1)의 설정 및 확인

-L : 드라이브 doorlock(0/1)설정

-m : multiple sector count 값 확인 및 점검

-n : ignore-write-errors (0/1) 설정 및 확인

-P : 드라이브 prefetch cont 값 설정

-t : 디스크 드라이브의 읽는 속도를 체크함, 버퍼링 없이 실제 읽는 속도 측정

-T : 디스크 드라이브에 대한 캐시데이터 읽는 속도를 체크함, 버퍼링 데이터 읽는 속도 측정

-u : unmaskirq 플래그 값 (0/1) 설정 및 확인

-y : IDE 드라이브를 준비상태로 둠

-Y : IDE 드라이브를 휴지 (sleep) 상태로 둠

-z : 파티션의 테이블정보를 다시 읽어 들임

-Z : Seagate 장치에 대한 auto-powersaving 모드를 비활성화 함

Category: LINUX

한 영섭

About the Author ()