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


10

Ми деякий час працювали на SSD (Intel X25-M) на сервері Linux (RHEL 5), але жодного разу не докладали жодних зусиль, щоб зрозуміти, наскільки це було завантаження для минулого року. Чи є якийсь інструмент під Linux, який підкаже нам приблизно, скільки записано на диск з часом або (ще краще) скільки зносу накопичилося? Просто шукаю підказку, щоб побачити, чи це смерть чи ні ...

Відповіді:


13

SSD-диски Intel зберігають статистику про загальну кількість записів і про те, наскільки це можливо, тривалість її життя.

Далі - від 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, після чого Intel вважає, що накопичувач перевищив термін його експлуатації. Intel також використовує MWI як частину гарантійних вимог - коли MWI досягне 001, гарантія закінчується.

Досягнення MWI 001 не означає, що привід вийде з ладу негайно! Intel матиме толерантність для вирішення розбіжностей у флеш-блоках. Я бачив, як накопичувачі тривають далеко за цією точкою, і я активно зношу тестування деяких SSD-дисків серії Intel 320, щоб побачити, скільки ще вони тривають.

Однак, оскільки термін дії гарантії закінчується, коли MWI досягає 001, я б замінив будь-які накопичувачі в цьому місці.


Для подальшої довідки, Media_Wearout_Indicatorдля мого SSD Intel 520 серії стартує 100.
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


Корисно згадати, що в цьому випадку слід використовувати нормоване значення.
Falcon Momot

1

Не зовсім. Якщо диск не веде статистику, ви точно не знаєте. Вже тоді накопичувач буде абстрагувати алгоритми вирівнювання запису і таке, щоб спробувати оптимізувати речі під капотом, подалі від системних викликів та інтерфейсів. Іншими словами, накопичувач може з легкістю брехати вам про те, де дані фактично записані на "носії", щоб ви не знали, які клітини отримують активність.

Це все ще не гарантує, коли / якщо ви побачите невдачі або помилки. Завтра може вийти з ладу, через три роки може вийти з ладу.

Найкраще ставити його в конфігурацію RAID і мати план для заміни, коли він не виходить (до того, як вийде з ладу інший диск), і переконайтеся, що ваші резервні копії поточні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.