Контроль за жорсткими дисками за допомогою smart


контроль за жорсткими дисками за допомогою SMART

Один з ваших жорстких дисків, можливо, хоче вам сказати, що скоро відійде в інший світ. Встановіть ПО, яке дозволить вам дізнатися, коли його слід замінити.

Багато користувачів і системних адміністраторів не знають, що таке Self-Monitoring, Analysis and Reporting Technology (SMART), а також те, що цю технологію використовують майже всі сучасні ATA і SCSI жорсткі диски. Диски, що підтримують дану технологію, самостійно стежать за своїм «здоров'ям» і продуктивністю. У більшості випадків диск здатний попередити адміністратора про те, що щось не в порядку, і це дозволить уникнути вищеописаного сценарію. Більшість реалізацій SMART дозволяє користувачам дисків проводити тестування диска і контролювати ряд параметрів, що стосуються його надійності і продуктивності.

За професією я фізик. Моя дослідницька група використовує для розподілених обчислень кластер робочих станцій, що включає близько 600 жорстких дисків, які зберігають приблизно 50 терабайт даних. Я почав цікавитися технологією SMART кілька років тому, припустивши, що вона допоможе знизити час простою і підвищити надійність роботи нашого кластера. Протягом року я використовував open-source ПО smartmontools, що стало продовженням розвитку пакета UCSC smartsuit.

У цій замітці я поясню, як використовувати утиліту smartctl, що входить в пакет smartmontools, а також демон smartd для контролю за станом жорстких дисків. Цей пакет можна завантажити з сайту smartmontools.sourceforge.net. Там же можна знайти посібник з його устанвоке. Додаткова документація може бути знайдемо в відповідних manpages:

man smartctl and man smartd

Складання smartmontools доступні для Slackware, Debian, SuSE, Mandrake, Gentoo, Conectiva і інших дистрибутивів Linux. RedHat включає версії smartctl і smartd з пакета UCSC smartsuit, а smartmontools буде включений в майбутні релізи.

Починаючи зі стандарту ATA-4, вимога до жорстких дисків про використання таблиці показників було скасовано. Замість цього диски просто повертали статуси «OK» або «NOT OK» при отриманні запитів про їх стан. Негативна відповідь на запит означав, що диск може вийти з ладу. У стандарті ATA-5 були додані ведення логу помилок і команди для запуску самотестування диска.

Щоб використовувати всі вищеописані можливості вінчестерів, а саме значення показників про стан диска (більшість накопичувачів сумісні з SFF-8035i), опитувати стан здоров'я диска, запускати самотестування, контролювати лог помилок, контролювати лог тестування (включає результати 21-го самотестування), вам потрібно знати, як користуватися пакетом smartmontools.

smartctl -a / dev / hda

Якщо SMART не включений для даного диска, його необхідно попередньо включити за допомогою опції «-s on». Якщо SMART включений, ви побачите всю інформацію про диск:

Device Model: IC35L120AVV207-0
Serial Number: VNVD02G4G3R72G
Firmware Version: V24OA63A
Device is: In smartctl database [for details use: -P show]
ATA Version is: 6
ATA Standard is: ATA / ATAPI-6 T13 1410D revision 3a
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

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

SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity was completed without error.
Auto Off-line Data Collection: Enabled.
Self-test execution status: (0) The previous self-test routine completed without error or no self-test has ever been run.
Total time to complete off-line data collection: (2855) seconds.
Offline data collection capabilities: (0x1b) SMART execute Offline immediate.
Automatic timer ON / OFF support.
Suspend Offline collection upon new command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
No Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine recommended polling time: (1) minutes.
Extended self-test routine recommended polling time: (48) minutes.

Якщо результат тесту в першому рядку даного фрагмента вказаний як FAILED, негайно зробіть резервну копію даних - диск може вийти з ладу. Частина, що залишилася наведеного фрагменту містить інформацію про технічні можливості накопичувача і приблизний час, необхідний для скороченого і повного самотестування.

Третій фрагмент виведення команди «smartctl -a / dev / hda» містить значення близько 30 показників стану диска:

Vendor Specific SMART Attributes with Thresholds:
ID # ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 060 Pre-fail Always - 0
2 Throughput_Performance 0x0005 155 155 050 Pre-fail Offline - 225
3 Spin_Up_Time 0x0007 097 097 024 Pre-fail Always - 293 (Average 270)
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 10
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 125 125 020 Pre-fail Offline - 36
9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 3548
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 10
192 Power-Off_Retract_Count 0x0032 100 100 050 Old_age Always - 158
193 Load_Cycle_Count 0x0012 100 100 050 Old_age Always - 158
194 Temperature_Celsius 0x0002 189 189 000 Old_age Always - 29 (Lifetime Min / Max 23/33)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0

Нагадаю, що зберігання значень цих показників не вимагається стандартом ATA, але більшість виробників накопичувачів підтримують сумісність з SFF-8035i.

Наприклад, показник з ID 194 - температура накопичувача. Практика показує, що зниження температури накопичувача на 5 ° C зменшує кількість помилок, тому одним із способів збільшити надійність диска є його охолодження спеціальним кольором.

Кожен показник має 6-байтовое первинне (сире) значення (RAW-VALUE) і однобайтовое нормалізоване. У цьому прикладі первинне значення містить три цифри: температура в градусах за Цельсієм (29), її мінімальне (23) і максимальне (33) за весь час роботи диска значення. Формат, в якому зберігаються первинні значення показників визначається виробником диска і не є частиною будь-якого стандарту. Для оцінки надійності диска, його ПО перетворює первинне значення показника в нормалізоване, яке лежить в межах від 1 до 253. Якщо нормалізоване значення менше або дорівнює порогу (THRESH), показник позначається позначкою FAILED в колонці WHEN_FAILED. В даному прикладі ця колонка порожня, так як жоден з показників не нижче заданого для нього порога. Найнижче з моменту включення SMART значення показника можна побачити в колонці WORST. У колонці TYPE міститься інформація про те, що означає незадовільний значення показника: що диск просто виробив свій ресурс (old_age) або що диск на межі збою (pre-fail). Наприклад, якщо значення показника disk spin up time (ID # 3) незадовільний, імовірний збій диска в найближчі 24 години.

Значення і назви показників, а також спосіб перетворення первинних значень в нормалізовані не включені в будь-які стандарти. Різні виробники можуть використовувати одні і ті ж імена показників для різних цілей. Тому існує можливість управляти способом інтерпретації різних показників за допомогою опції -v. Наприклад, деякі диски зберігають в показнику 9 час роботи диска в хвилинах. Опція «-v 9, minutes» вказує smartctl на те, що значення цього показника потрібно відображати в хвилинах. Якщо модель диска включена в базу smartmontools, то smartctl автоматично буде використовувати правильні способи інтерпретації значень.

Наступний фрагмент виведення команди «smartctl -a» - це лог помилок диска. Зазвичай такі помилки відсутні, тому лог порожній. Приводом для занепокоєння є поява великої кількості помилок. Найчастіше помилки, які з'являються тут час від часу, не є ознаками серйозних проблем. Веб-сайт smartmontools містить велику кількість прикладів балки помилок. Там вказано загальний час роботи диска, ATA-команда, яка привела до виникнення помилки і час її виникнення з моменту включення диска в мілісекундах. Також можна дізнатися, чи мала місце помилка давно або вона зовсім свіжа.

SMART Error Log Version: 1
No Errors Logged

Остання, п'ята частина виведення «smartctl -a» - це звіт про самотестування, які виконувалися на даному накопичувачі. Тут зображені 2 варіанти самотестування - скорочений і повний. Ці самотестування можуть бути ініційовані командами

smartctl -t short / dev / hda

і

smartctl -t long / dev / hda

Самотестування не призводить до псування даних на диску. Скорочена перевірка зазвичай триває кілька хвилин, повна - близько години. Тестування не впливає на роботу диска, тому ініціювати його можна при працюючій системі, коли диск змонтований. На вузлах нашого кластера, наприклад, повний варіант перевірки виконується вранці в неділю за планувальником. Нижче наведені приклади результатів перевірок, які не містять помилок. Колонка LifeTime показує час, починаючи з моменту включення диска до проведення перевірки. Якщо в ході перевірки виявляються помилки, то Logical Block Address (LBA) вказує, де саме ця помилка сталася. Частина, що залишилася колонка вказує, яка частина тесту (у відсотках) залишилася до його завершення в момент виявлення помилки. Якщо ви підозрюєте, що з диском щось не так, я б настійно рекомендував виконати повне самотестування диска щоб виявити проблему.

SMART Self-test log, version number 1
Num Test_Description Status Remaining LifeTime (hours) LBA_of_first_error
# 1 Extended off-line Completed 00% 3525 -
# 2 Extended off-line Completed 00% 3357 -
# 3 Short off-line Completed 00% 3059 -

команда

smartctl -t offline

дозволяє виконувати офлайновий тести. Ці тести не роблять записів у балці самотестування. Вони використовуються для поновлення значення тих показників стану диска, які не можуть бути оновлені під час його звичайної роботи. Деякі накопичувачі підтримують автоматичне проведення офлайнових тестів раз в декілька годин. Цю можливість можна включити командою

smartctl -o on

SMART забезпечує механізм проведення самотестування диска для моніторингу його продуктивності. Але він не забезпечує можливості автоматичного повідомлення про виникаючі проблеми, а так як часто SMART-статус дисків не перевіряється досить часто, багато проблем можуть проявити себе тільки тоді, коли вони призводять до збою диска. Ви, звичайно, можете контролювати диски на регулярній основі, як я описав, але це не завжди зручно.

Тому в пакет smartmontools включений демон smartd, який може виконувати постійний моніторинг. Він може бути налаштований для відправки e- mail адміністратору або для запуску скрипта в разі, якщо виявилися проблеми. За замовчуванням, він перевіряє всі системні диски кожні 30 хвилин і робить записи про виниклі проблеми за допомогою SYSLOG в / var / log / messages.

якщо виявлені проблеми.

Bruce Allen професор фізики в Університеті Вісконсіна, Мілуокі. Переклад Юрія Левіна, [email protected].

Схожі статті

Copyright © 2024