Linux에서 SSD의 쓰기주기 또는 예상 수명을 확인하는 방법은 무엇입니까? 실행 해 왔지만 작년에 얼마나

Linux (RHEL 5) 서버에서 SSD (Intel X25-M)를 한동안 실행 해 왔지만 작년에 얼마나 많은 쓰기로드가 발생했는지 알아 내려고 노력하지 않았습니다. 리눅스에서 시간이 지남에 따라 디스크에 얼마나 많이 쓰여 졌는지 또는 얼마나 많이 마모되었는지를 알려주는 도구가 있습니까? 사망에 가까운 지 여부를 알기위한 힌트를 찾고 있다면 …



답변

인텔 SSD는 총 쓰기 수와 수명에 대한 통계를 유지합니다.

다음은 Intel X25-M G2 160GB (SSDSA2M160G2GC)에서 가져온 것입니다

# smartctl -data -A /dev/sda
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  3 Spin_Up_Time            0x0020   100   100   000    Old_age   Offline      -       0
  4 Start_Stop_Count        0x0030   100   100   000    Old_age   Offline      -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   000    Old_age   Always       -       1
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       6855
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       68
192 Unsafe_Shutdown_Count   0x0032   100   100   000    Old_age   Always       -       30
225 Host_Writes_32MiB       0x0030   200   200   000    Old_age   Offline      -       148487
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   Always       -       3168
227 Workld_Host_Reads_Perc  0x0032   100   100   000    Old_age   Always       -       1
228 Workload_Minutes        0x0032   100   100   000    Old_age   Always       -       1950295543
232 Available_Reservd_Space 0x0033   099   099   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0032   098   098   000    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   099    Pre-fail  Always       -       0

Host_Writes_32MIB 원시 값은이 드라이브에 기록 된 32MiB 단위의 데이터 수를 나타냅니다.

Media_Wearout_Indicator 값은 드라이브의 유용한 마모 수명이 얼마나 멀리 있는지에 대한 정규화 된 백분율을 보여줍니다. 이것은 100에서 시작하거나 099에서 시작하여 001로 내려갑니다.이 시점에서 인텔은 드라이브의 수명을 초과 한 것으로 간주합니다. 인텔은 보증 청구의 일부로 MWI도 사용합니다. MWI가 001에 도달하면 보증이 만료됩니다.

MWI가 001에 도달한다고해서 드라이브가 즉시 실패한다는 의미는 아닙니다! 인텔은 플래시 단위의 편차를 처리하기 위해 허용 오차가 기본 제공됩니다. 나는이 시점을 지나서 드라이브가 오래 지속되는 것을 보았고, 얼마나 오래 지속되는지 알아보기 위해 일부 인텔 320 시리즈 SSD를 적극적으로 마모 테스트하고 있습니다.

그러나 MWI가 001에 도달하면 보증이 만료되므로 해당 시점에서 모든 드라이브를 교체합니다.


답변

Corsair 드라이브는 비슷한 퍼센트 남은 수명 표시기를 내 보냅니다. 그들의 경우에는 속성 231입니다.

231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0

(smartctl이 온도로이 표시되어있는 경우 그는 당신이 필요로하는 주 장치 데이터베이스를 업데이트합니다. 내 데비안 시스템에 수단이 동작하는 /usr/sbin/update-smart-drivedb)

해적 블로그 게시물은 내가 10 %를 교체해야합니다 가정 때문에 값이 결코 10 % 이하가 없음을 보여주는 것 같다.

또한 동일한 Sandforce 컨트롤러가있는 OCZ 드라이브가 있으며 동일한 SSD_Life_Left 값을 내 보냅니다.


답변

Media_Wearout_Indicator가 찾고 있습니다. 100은 ssd의 수명이 100 %임을 의미하고 숫자가 낮을수록 남은 수명이 줄어 듭니다.

# smartctl -a /dev/sda | grep Media_Wearout_Indicator

내 노트북에서 출력

233 Media_Wearout_Indicator 0×0032 100 100 000 Old_age Always – 0

드라이브에서 자세한 내용과 전체 속성을 보려면 다음을 실행하십시오.

# smartctl -data -A /dev/sda

그리고 출력

# smartctl -data -A /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-49-generic] (local build)
Copyright (C) 2002-11 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
5 Reallocated_Sector_Ct 0×0032 100 100 000 Old_age Always – 0
9 Power_On_Hours 0×0032 000 000 000 Old_age Always – 232959027031342
12 Power_Cycle_Count 0×0032 100 100 000 Old_age Always – 279
170 Unknown_Attribute 0×0033 100 100 010 Pre-fail Always – 0
171 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0
172 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0
174 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 278
184 End-to-End_Error 0×0033 100 100 090 Pre-fail Always – 0
187 Reported_Uncorrect 0×0032 100 100 000 Old_age Always – 0
192 Power-Off_Retract_Count 0×0032 100 100 000 Old_age Always – 278
225 Load_Cycle_Count 0×0032 100 100 000 Old_age Always – 10752
226 Load-in_Time 0×0032 100 100 000 Old_age Always – 65535
227 Torq-amp_Count 0×0032 100 100 000 Old_age Always – 66
228 Power-off_Retract_Count 0×0032 100 100 000 Old_age Always – 65535
232 Available_Reservd_Space 0×0033 100 100 010 Pre-fail Always – 0
233 Media_Wearout_Indicator 0×0032 100 100 000 Old_age Always – 0
241 Total_LBAs_Written 0×0032 100 100 000 Old_age Always – 10752
242 Total_LBAs_Read 0×0032 100 100 000 Old_age Always – 21803
249 Unknown_Attribute 0×0013 100 100 000 Pre-fail Always – 357

http://namhuy.net/1024/how-to-check-ssd-life-left.html


답변

실제로는 아닙니다. 드라이브가 통계를 유지하지 않으면 확실하지 않습니다. 그럼에도 불구하고 드라이브는 쓰기 레벨링 알고리즘을 추상화하여 시스템 호출 및 인터페이스에서 멀리 떨어진 상태에서 작업을 최적화하려고 시도합니다. 다시 말해, 드라이브는 데이터가 실제로 “미디어”에 쓰여지는 위치에 대해 쉽게 거짓말을 할 수 있으므로 어떤 셀이 어떤 활동을하는지 알 수 없습니다.

그래도 언제 실패 또는 오류가 표시되는지는 보증하지 않습니다. 내일 드라이브가 고장 나고 3 년 안에 고장날 수 있습니다.

가장 좋은 방법은 RAID 구성으로 유지하고 실패 할 때 (다른 드라이브가 실패하기 전에) 교체 할 계획을 세우고 백업이 최신 상태인지 확인하는 것입니다.


답변