본문 바로가기
  • 배움에는 끝이 없다.
Operating System/linux

[linux] Smartctl 이용한 Disk 점검 (SSD)

by 줘패자 2023. 2. 16.

OS 사용 시 Disk 가 갑자기 H/Wfault 되어 낭패를 본적이 많습니다.

물론 RAID 설정하면 해당 부분을 방지할 수 있지만 Raid controller 가 없는 장비도 있기에 간간히 들어가서 체크하며 사용하면 도움이 됩니다.

 

※ 근데 다 나오는거 같진 않아요..

 

 

[SSD 디스크 점검 사항]
- Power_On_Hours / 디스크 사용 시간

- Wear_Leveling_Count / 모든 셀에 데이터가 1회 기록되면 카운트 +1
ex) 512GB 짜리 SSD에 있는 모든 저장 공간에 512GB에 data가 읽혀지면 1회로 치는듯 

- Airflow_Temperature_Cel / 디스크 온도

- Reallocated_Sector_Ct / 섹터에 문제가 생겨서 스페어 영역으로 섹터를 이동시켰따... 즉 베드섹터
- Total_LBAs_Written / 디스크에 총 write 된 사용량

 

[필드 설명]
- VALUE : 속성의 현재 값(보통 백분율 단위)

- WORST : 속성이 여지껏 가장 안좋았던 값

- THRESH : 속성이 해당 값이 되면 안된다 하는 값 (임계값)

- RAW_VALUE : 백분율로 하지 않은 현재 값

- Power_On_Hours / 디스크 사용 시간

ex) Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       6714

여기서 raw_value는 시간단위이다. (6714시간 사용했다는 뜻)
여기서는 value 값을 보면된다.

THRESH 가 0 이고 VALUE 는 98 이다. 아직 여유 많다.

한 5~10 미만으로 내려가면 알람오게 설정할 예정

 

 

- Wear_Leveling_Count / 모든 셀에 데이터가 1회 기록되면 카운트 +1

ex) 177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       19

이것도 RAW_VALUE는 볼 필요 없고 VALUE 만 보면 된다.

099 니까 이것도 5~10미만으로 내려가면 알람오게 설정 가능

 

 

- Airflow_Temperature_Cel / 디스크 온도

ex) 190 Airflow_Temperature_Cel 0x0032   073   067   000    Old_age   Always       -       27

이것도 뭐 .. VALUE 10미만이면 알람오게
- Reallocated_Sector_Ct / 섹터에 문제가 생겨서 스페어 영역으로 섹터를 이동시켰다. 즉 베드섹터

  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
RAW_VALUE 가 0 이 아니라면 디스크 교체해야함

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

ex) 241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       6174993057

 

[계산법]

정확히는 raw_value를 기준으로 계산하는법이 있다.
아래 사이트에 설명 잘 되있다.

https://brunch.co.kr/@lars/3 

 

HDD Disk 장애 분석

sata, sas, ssd, nvme ,raid 구성 장애 대응 가이드 | 1-1 : Disk 종류 소개 1-2 : Disk 장애의 유형 1-3 : badsector? correlated? uncorrelated? 1-4 : 배드섹터가 걱정 되면 레이드 구성 하면 해결? 1-5 : smartctl 로 디스크

brunch.co.kr

대충 요약하자면... 디스크의 총 WRITE 된 용량을 계산하고 해당 디스크가 어느정도 용량의 WRITE를 버티는지..?

말그대로 수명이다.

삼성 SSD 256기가 기준으로
RAW_VALUE(ex..6174993057) * 512 / 1024 * 1024 * 1024 * 1024 > 300 일경우 문제가 생긴다.
raw_value * 512 = 현재 write 된 사용량과 거기에 섹터 사이즈를 곱해서 실제로 write 된 용량을 확인하고..
그다음 1024 ^4 을 나눠서TB 로 계산하기 위해서다.
삼성 ssd 256 860 pro 는 300TBW를 보장한다고 한다. 300TBW란 300테라(T) 바이트(B)의 write(W)를 보장한다는 뜻이다.

 

아래 url에서 확인해보면 아래와 같다.

https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/860pro/

 

Samsung 860 PRO | Consumer SSD | Specs & Features | Samsung Semiconductor Global

Samsung 860 PRO delivers V-NAND technology, a 2.5-inch form factor, and capacities ranging from 256GB to 4TB. Download 860 PRO firmware, driver, and more.

semiconductor.samsung.com

Warranty

  • MZ-76P256BW (256 GB)
  • 5 Years or 300 TBW
  • MZ-76P512BW (512 GB)
  • 5 Years or 600 TBW
  • MZ-76P1T0BW (1,024 GB)
  • 5 Years or 1,200 TBW
  • MZ-76P2T0BW (2,048 GB)
  • 5 Years or 2,400 TBW
  • MZ-76P4T0BW (4,096 GB)
  • 5 Year or 4,800 TBW

 

실제로 계산해보면 터무니없는 용량이다..

아무리 쓰기가 빈번한 디스크라쳐도..5년 10년 사용하면 문제가 생길테니까..

그 외 뭐 사용 시간이라던지 온도라던지..

그래도 디스크 백업서버같은건 체크할 필요는 있을듯 하다.

 

 

[그 외]

181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
ㄴ프로그램 실패 개수. 아직 한개도 없네요. 없는게 정상

182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0

ㄴ 삭제 실패 개수는 없는게 정상

 

위 두개도 더 봐주면 좋겠네요.

 

틀린 설명이 있을 수 있습니다.

틀린 부분 있으면 코멘트 환영입니다~!

댓글