Как определить количество циклов записи или ожидаемый срок службы SSD под Linux?

10

Некоторое время мы работали с SSD (Intel X25-M) на сервере Linux (RHEL 5), но никогда не пытались выяснить, какова была нагрузка при записи за последний год. Есть ли какой-нибудь инструмент под Linux, который приблизительно говорит нам, сколько было записано на диск с течением времени или (еще лучше), сколько накопилось на нем износа? Просто ищу подсказку, чтобы увидеть, близка ли она к смерти или нет ...

JZeta
источник

Ответы:

13

Твердотельные накопители Intel хранят статистику по общему количеству операций записи и по вероятности его продолжительности жизни.

Следующее от Intel X25-M G2 160 ГБ (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 показывает, сколько единиц данных 32 МБ было записано на этот диск.

Значение Media_Wearout_Indicator показывает вам нормированный процент того, насколько далеко проходит полезный срок службы накопителя. Это начинается с 100 (или 099, я забыл, который) и продолжается до 001, и в этот момент Intel считает, что накопитель превысил срок полезного использования. Intel также использует MWI как часть гарантийных требований - как только MWI достигает значения 001, срок гарантии истекает.

MWI, достигающий 001, не означает, что привод немедленно выйдет из строя! Intel будет иметь встроенный допуск, чтобы справляться с отклонениями в единицах вспышки Я видел, как накопители в последний раз проходили этот этап, и я активно тестирую некоторые твердотельные накопители Intel серии 320, чтобы узнать, как долго они работают.

Однако, когда истекает срок гарантии, когда MWI достигает значения 001, в этот момент я заменю все диски.

Дэниел Лоусон
источник
Для дальнейшего использования Media_Wearout_Indicatorначнем с 100 для моего твердотельного накопителя Intel серии 520.
pableu
Стоит отметить, что даже если диск не «выходит из строя», когда он достигает значения 001, в какой-то момент впоследствии (возможно, долгий путь после), способность некоторых накопителей сохранять данные при потере питания снижается до угрожающе короткого промежутка времени. , Я думаю, что были опубликованы некоторые тесты на выносливость, которые измерили это.
sa289
6

Диски Corsair также экспортируют аналогичный показатель оставшегося срока службы в процентах. В их случае это атрибут 231:

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

(Обратите внимание, что если smartctl отображает это как температуру, вам необходимо обновить базу данных вашего устройства. В моей системе Debian это означает запуск /usr/sbin/update-smart-drivedb)

Блоге Corsair , кажется, показывает , что значение никогда не опускается ниже 10% , таким образом , я полагаю , он должен быть заменен на 10%.

У меня также есть диск OCZ с тем же контроллером Sandforce, который также экспортирует то же значение SSD_Life_Left.

Грэхем
источник
3

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

Элисон Салазар
источник
Полезно отметить, что в этом случае следует использовать нормализованное значение.
Сокол Момот
1

На самом деле, нет. Если диск не хранит статистику, вы не будете знать наверняка. Даже в этом случае накопитель абстрагирует алгоритмы выравнивания записи и тому подобное, чтобы попытаться оптимизировать ситуацию подальше от системных вызовов и интерфейсов. Другими словами, диск может легко соврать вам о том, где данные фактически записаны на «носителе», чтобы вы не знали, какие ячейки становятся активными.

Это все еще не гарантирует, когда / если вы увидите сбои или ошибки. Поездка может выйти из строя завтра, может выйти из строя через три года.

Лучше всего сохранить его в конфигурации RAID и иметь план его замены в случае сбоя (до отказа другого диска) и обеспечения актуальности резервных копий.

Барт Сильверстрим
источник