Назад | Перейти на главную страницу

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

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

Твердотельные накопители 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, я бы заменил все диски на этом этапе.

Диски 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.

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

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

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

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