Что делает 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] (локальная сборка)
Copyright (C) 2002-15, Брюс Аллен, Кристиан Франке, www.smartmontools.org
[...]
SMART Самопроверка журнала изменений версии № 1
Num Test_Description Status Осталось LifeTime (часы) 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 Not_testing
   3 0 0 Not_testing
   4 0 0 Not_testing
   5 0 0 Not_testing

Обратите внимание на два предыдущих завершенных теста (при 486 и 20567 часов при включении, соответственно) и текущий текущий (10% завершено).


1
Также стоит отметить, что если вы используете smartmontools, демон smartd может выполнять периодическое тестирование без необходимости выполнения cronjob. Он также будет обрабатывать сообщения о проблемах накопителя, хотя предпочтительным может быть упреждающий мониторинг.
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 - ID сектора не найден
  • UNC - некорректируемые данные
  • BBK - Плохая отметка блока

В моем случае ошибка IDNF (ID Not Found) может быть связана с инцидентом, когда диск был подключен через адаптер USB-SATA и оказался недостаточным, что помешало его правильному поиску.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.