Linux OS/관리

Linux HDD,SSD 읽기, 쓰기 테스트

서버엔지니어 2023. 3. 26.
728x90

dd 명령어를 이용 
if 읽기 /  of,if=/dev/zero  쓰기 테스트

쓰기 테스트
[root@localhost ~]# time dd if=/dev/zero of=/var/test bs=8k count=1000000 

1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB) copied, 8.92194 s, 918 MB/s
real    0m8.924s
user    0m0.151s
sys     0m8.763s

 

읽기 테스트

[root@localhost ~]#  time dd if=/var/test of=/dev/null bs=8k count=1000000 
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB) copied, 9.4147 s, 870 MB/s
real    0m9.420s
user    0m0.153s
sys     0m6.676s

 

읽기.쓰기 테스트 

[root@localhost ~]# time dd if=/var/test of=/tmp/test bs=8k count=1000000 
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB) copied, 17.7223 s, 462 MB/s
real    0m17.727s
user    0m0.209s
sys     0m14.241s

 

smartctl 

 

smartctl 명령어는 하드디스크 롬에 기록되는 형태이다. 때문에 I/O 에러 발생때문에 write가 잠겨
/var/log/messages 상에 찍히지 않는 I/O에러를 검출하는 목적으로 사용할 수 있다.

CentOS 5/6 은 이미 탑재되어 있는 명령어 이지만 CentOS 7의 경우 아래와 같이 명령어 추가를 한다.

명령어는 작동시간, 부팅횟수, 헤더, 온도, 배드카운터, CRC 에러등등 하드디스크의 모든 종합 정보를 볼수 있다.
클라우드 - 가상디스크는 지원하지 않는다.
일반디스크인데 정보 표기다 되지 않을경우 아래 명령어서 on  시켜줘야 할 수 있다.

 

yum install -y  smartmontools

 

# smartctl -a /dev/sdb
 
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-2.6.32-573.el6.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, 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   080   006    Pre-fail  Always       -       230021096
  3 Spin_Up_Time            0x0003   097   097   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       26
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       72
  7 Seek_Error_Rate         0x000f   085   060   030    Pre-fail  Always       -       354638784
  9 Power_On_Hours          0x0032   081   081   000    Old_age   Always       -       17511
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       26
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   001   001   000    Old_age   Always       -       13496
188 Command_Timeout         0x0032   100   098   000    Old_age   Always       -       4347069211
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   070   063   045    Old_age   Always       -       30 (Min/Max 26/33)
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       -       18
193 Load_Cycle_Count        0x0032   070   070   000    Old_age   Always       -       61781
194 Temperature_Celsius     0x0022   030   040   000    Old_age   Always       -       30 (0 16 0 0 0)
197 Current_Pending_Sector  0x0012   093   086   000    Old_age   Always       -       1184
198 Offline_Uncorrectable   0x0010   093   086   000    Old_age   Offline      -       1184
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       267091131252729
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       6696573732
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       10010897282

 

Raw_Read_Error_Rate
- 디스크 표면으로부터 데이터를 읽는 과정에서 문제가 발생한 경우 (주로 물리적인 충격에서 유발됨) / 정상값은 0
-> 씨게이트 디스크와 WD 구형 디스크는 다르게 해석됨, 48비트 중 상위 16비트가 실재 Raw_Read_Error_Rate 를 나타내며 하위 32비트는 Raw read operation 횟수를 나타냅니다.
하드 디스크가 씨게이트인 경우에는 값이 4,294,967,295 까지는 정상입니다. (WD 구형 디스크 일부 모델도 적용)

Spin_Up_Time
- 플래터 회전이 제로 RPM에서 최대 RPM까지 도달하는데 걸리는 평균 시간

Start_Stop_Count 
- 플래터가 회전하고 정지한 횟수

Reallocated_Sector_Ct
- 섹터에 문제가 생겨서 스페어 영역으로 섹터가 이동한 경우이다. 정상적인 경우 0으로 찍혀야한다. 0이 아닌 값이 조회되는 경우 디스크 교체를 검토해야한다.

Seek_Error_Rate
- 자기 헤드가 원하는 데이터가 있는 트랙으로 이동을 실패(검색 오류)한 비율입니다.
주로 하드 디스크의 열 제어 장치의 손상 등에 의해 발생한다. 수치가 낮을 경우 하드 디스크의 표면이나 하드 디스크의 기계적인 시스템에 문제가 있을 수 있다.

Power_On_Hours
- 하드디스크에 전원이 인가된 시간. 공장 출하 상태에서 하드 디스크의 전원인가 시간의 총합 임계값보다 적은 수치는 MTBF(평균 무고장 시간)의 감소를 나타냅니다.

Spin_Retry_Count
- 디스크를 규정 속도까지 스핀 업하려고 시도한 횟수입니다.

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 에러 횟수, 하드디스크 인터페이스를 통해 데이터 전송과정에 발생한 CRC 오류 횟수, 케이블 이슈로 인해 발생되므로 케이블 교체가 필요할 수 있음

Reallocated_Event_Count
- 스페어 영역으로 대체된 섹터에서 데이터를 읽은 횟수

Hardware ecc recovered
- ECC 오류 검출로 인해 복구된 횟수

Total_LBAs_Written
- 디스크에 총 write 된 사용량

Total_LBAs_Read

- 디스크에 총 read 된 사용량

댓글