Що робить тестування SMART та як це працює?


27

man smartctl штати (SNIPPED для стислості):

Перша категорія , яка називається «онлайн» тестування. Друга категорія тестування називається «автономним режим» тестування. Зазвичай диск буде призупинено тестування в режимі офлайн, поки відбувається доступ до диска, а потім автоматично відновить його, коли диск інакше не працює. Третя категорія тестування (і єдина категорія , для якої слово'testing 'дійсно є підходящим вибором) є «само» тестування.

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

Хто запускає тест - драйвер прошивки? Що це за тести - чи читає / записує прошивку на диск - що саме відбувається? Чи безпечно викликати тестування в ОС (Linux) чи можна запланувати тест на пізніше - як це відбувається - при перезавантаженні ОС у вікні BIOS ("тест офлайн")? Де відображаються результати - SMART журнали?

Відповіді:


38
  1. Прошивка диска виконує тести.

  2. Деталі тестів можна прочитати, наприклад, на www.t13.org/Documents/UploadedDocuments/technical/e01137r0.pdf, де узагальнено елементи коротких і довгих тестів таким чином:

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

    2. сегмент пошуку / сервоприводу, де привід перевіряє його здатність знаходити і сервоприводи на трасах даних. Конкретна методологія, що використовується в цьому тесті, також є специфічною для постачальника.

    3. сегмент сканування читання / перевірки, в якому привід виконує сканування читання деякої частини поверхні диска. Кількість та розташування відсканованої поверхні залежать від обмеження часу завершення та залежать від постачальника.

    4. Критерії розширеного самотестування такі ж, як і короткий самотест з двома винятками: сегмент (3) розширеного самотестування повинен бути скануванням читання / перевірки всієї області даних користувача, і немає максимальний обмежений час для приводу для проведення тесту.

  3. Під час роботи ОС безпечно проводити неруйнівне тестування, хоча ймовірність певного впливу на продуктивність. Як smartctlговорить чоловіча сторінка для обох -t shortі -t long,

Ця команда може бути задана в звичайній роботі системи (якщо тільки вона не працює в режимі з неволі)

Якщо ви посилаєтесь на режим у неволі -C, smartctlприпускайте, що диск може бути зайнятим до недоступності. Це не слід робити на диску, який використовується ОС.

Як підказує і підручна сторінка, тестування в режимі офлайн (що просто означає періодичне фонове тестування) не є надійним і офіційно ніколи не входило до специфікацій ATA. Я замість цього запускаю мою з крона; таким чином я знаю, коли вони повинні відбутися, і я можу зупинити це, якщо потрібно.

  1. Результати можна побачити на smartctlвиході. Ось один із тестовим запуском:
[root @ risby images] # smartctl -a / dev / sdb
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.1.6-201.fc22.x86_64] (локальна збірка)
Авторські права (C) 2002-15, Брюс Аллен, Крістіан Франке, www.smartmontools.org
[...]
SMART структура журналу самотестування, версія 1
Кількість тестових_запис статусу, що залишається тривалістю життя (години) LBA_of_first_error
№1 Розширений офлайн Завершено без помилки 00% 20567 -
№2 Розширений офлайн Завершено без помилки 00% 486 -

SMART Вибіркова структура даних тестування журналу самоперевірки 0
Примітка: редакційний номер не 1 означає, що жоден селективний самотест не проводився
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
   1 0 0 Self_test_in_progress [залишилось 90%] (0-65535)
   2 0 0 Не тестування
   3 0 0 Не тестування
   4 0 0 Не тестування
   5 0 0 Не тестування

Зверніть увагу на два попередні завершені випробування (при включенні електроенергії 486 та 20567 годин відповідно) та поточний (10%).


1
Також зауважте, якщо ви використовуєте smartmontools, розумний демон може впоратися з періодичними тестуваннями без необхідності виконувати завдання. Він також буде обробляти звіт про проблеми з накопичувачем, хоча може бути кращим активний моніторинг.
GnP

8

Реалізації SMART залежать від виробника, іноді досить великі журнали доступні за допомогою smart -aкоманди. Ось що я отримую на одному з моїх самокодируючих дисків від Hitachi :

SMART Error Log Version: 1
ATA Error Count: 3

Error 3 occurred at disk power-on lifetime: 2543 hours (105 days + 23 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 08 00 08 00 00  Error: IDNF at LBA = 0x00000800 = 2048

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
-- -- -- -- -- -- -- --  ----------------  --------------------
60 08 68 00 08 00 40 00      00:00:06.139  READ FPDMA QUEUED
27 00 00 00 00 00 e0 00      00:00:06.126  READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00      00:00:06.125  IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00      00:00:06.125  SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00      00:00:06.125  READ NATIVE MAX ADDRESS EXT
...

Цей білий папір проливає деяке світло на коди помилок, що з’являються в журналі. Поширені скорочення помилок:

  • AMNF - адресний знак не знайдено
  • TONF - трек 0 не знайдено
  • ABRT - команда перервана
  • IDNF - ідентифікатор сектору не знайдено
  • UNC - нерегульовані дані
  • BBK - Погана блокова марка

У моєму випадку помилку IDNF (ID не знайдено) можна відстежити до інциденту, коли накопичувач був підключений через адаптер USB-SATA і виявився недостатнім, що заважало йому правильно шукати.

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