Есть ли хороший инструмент для проверки пыток?

17

В последнее время у меня были странные и редкие повреждения файловой системы, которые я подозреваю по вине моего SSD. Я ищу хороший инструмент для испытаний на пытки. Что-то, что может записать на весь диск, затем вернуться и прочитать его в поисках летающих записей, поврежденных блоков, блоков, возвращенных к более ранним версиям, и других ошибок. Это было бы намного больше, чем то, что badblocksделает. Есть ли такой инструмент?

Примечание. Я не ищу эталон производительности и уже проверил состояние SMART; говорит здоровый и не плохие блоки сообщили

psusi
источник
1
Ты пробовал? iozone.org
Позитрон
1
Кстати, вы не указали, какое оборудование ОС / системы вы используете. Сообщалось, что SSD-накопители испытывают повреждения, о которых вы говорите, на некоторых Mac OS X boxen, когда они настроены на частое отключение жесткого диска для экономии энергии. Это приведет к коррупции. Я мог бы предположить, что то же самое, вероятно, в других комбинациях OS / Hardware, если диск вынужден спать из-за отключения питания жесткого диска, выданного SSD. Я бы проверил конфигурацию вашей системы перед записью вашего SSD с тестом диска.
Крыло Тан Вонг
1
@WingTangWong, вау. Я готов, что многие SSD облажаются, когда теряют энергию, но когда их просят пойти спать? Это один глючный диск. Я буду следить за этим. Я использую Linux, и я не сплю, за исключением случаев, когда я приостанавливаю систему ...
psusi

Ответы:

10

Может быть излишним, но есть тестовый набор Phoronix . Там также bonnie++, как и hdparm.

Я обычно использую hdparm, например:

% hdparm -Tt /dev/hdb
/dev/hdb:
 Timing buffer-cache reads:   128 MB in  1.25 seconds =102.40 MB/sec
 Timing buffered disk reads:  64 MB in 16.70 seconds =  3.83 MB/sec

Я бы не назвал hdparmтест на пытки, но он дает приблизительное представление об общей производительности накопителей.

Определение накопителя здоровья

После того, как вы пытали диск, вы можете использовать эту команду, чтобы проверить общее состояние диска:

% sudo udisks --dump | grep -A 24 Updates
 Attribute       Current|Worst|Threshold  Status   Value       Type     Updates
===============================================================================
 raw-read-error-rate         103| 99| 34   good    5854752     Pre-fail Online 
 spin-up-time                100| 99|  0    n/a    0           Pre-fail Online 
 start-stop-count             98| 98| 20   good    2785        Old-age  Online 
 reallocated-sector-count    100|100| 36   good    0 sectors   Pre-fail Online 
 seek-error-rate              72| 60| 30   good    25872884688 Pre-fail Online 
 power-on-hours               89| 89|  0    n/a    424.4 days  Old-age  Online 
 spin-retry-count            100|100| 97   good    0           Pre-fail Online 
 power-cycle-count            98| 98| 20   good    2753        Old-age  Online 
 attribute-184               100|100| 99   good    0           Old-age  Online 
 reported-uncorrect          100|100|  0    n/a    0 sectors   Old-age  Online 
 attribute-188               100| 96|  0    n/a    0           Old-age  Online 
 high-fly-writes             100|100|  0    n/a    0           Old-age  Online 
 airflow-temperature-celsius  58| 42| 45 FAIL_PAST 42C / 108F  Old-age  Online 
 g-sense-error-rate          100|100|  0    n/a    124         Old-age  Online 
 power-off-retract-count     100|100|  0    n/a    15          Old-age  Online 
 load-cycle-count              1|  1|  0    n/a    248327      Old-age  Online 
 temperature-celsius-2        42| 58|  0    n/a    42C / 108F  Old-age  Online 
 hardware-ecc-recovered       45| 38|  0    n/a    5854752     Old-age  Online 
 reallocated-event-count      89| 89| 30   good    14877766723263 Pre-fail Online 
 current-pending-sector      100|100|  0    n/a    0 sectors   Old-age  Online 
 offline-uncorrectable       100|100|  0    n/a    0 sectors   Old-age  Offline
 udma-crc-error-count        200|200|  0    n/a    0           Old-age  Online 
 attribute-254               100|100|  0    n/a    0           Old-age  Online 

Инструменты для работы с диском

Мы добились успеха, используя следующие 2 инструмента, где я работаю. HDAT2 & Spinrite . Последний является коммерческим инструментом, но первый, HDAT2, является проектом с открытым исходным кодом.

Вот несколько скриншотов HDAT2:

сс # 1 HDAT2

сс # 2 HDAT2

Вы должны перезагрузить систему в обоих случаях, чтобы она работала автономно, пока вы выполняете эти операции, но они оба восстановили диски, которые вышли из строя или начали обнаруживать сбои. Пользовательский интерфейс в HDAT2 немного сложен для навигации, мы обычно использовали выбор по умолчанию по большей части и старались не уходить слишком далеко оттуда.

SLM
источник
Первые три, которые вы упомянули, - это показатели производительности. Я уже проверил состояние SMART, и это хорошо без плохих секторов, поэтому, похоже, HDAT2 - это не то, что я ищу.
psusi
Я бы не стал сбрасывать со счетов HDAT2, у нас были запущены chkdsks, и они тоже были чистыми, но диск все еще не был загрузочным, а HDAT2 смог обнаружить поверхностные проблемы с диском, которые он мог исправить достаточно, чтобы сделать диск загрузочным.
SLM
Поздний комментарий, но я пытаюсь найти исходный код для HDAT2, но безуспешно. Было ли недавнее изменение лицензии?
i336_
4

Бонни ++ приходит на ум:

Итак, в зависимости от конфигурации оборудования вашей коробки:

bonnie++ -d /path/to/mounted/ssd -r your-system-ram-size-in-MB

Пример:

# For a 32GB system with the SSD formatted and mounted at /mnt/mounted-ssd-001
bonnie++ -d /mnt/mounted-ssd-001 -r 32000

Это должно дать вашему устройству хороший стресс-тест. Вы также можете настроить его.

Обратите внимание, что в случае SSD, когда происходит сбойный блок, он может автоматически перераспределяться аппаратным обеспечением диска в зависимости от диска, с которым вы работаете. Кроме того, тест на пытки пожирает все время записи вашего SSD. Так что используйте по своему усмотрению.

РЕДАКТИРОВАТЬ:

Добавление примечания о сбоях SSD, поскольку было отмечено, что Bonnie ++ подвергает стресс-тестированию, но не отслеживает ошибки. Способ «переназначения поврежденных блоков» SSD отличается от способа, которым жесткие диски перераспределяют. Как это происходит, зависит полностью от того, какую марку / марку / модель SSD вы используете:

  • Дешевые SSD просто выходят из строя, потому что у них нет резервной емкости для переназначения, или потому что у них нет средств для разделения вышедших из строя флэш-блоков. Они просто повиснут или уйдут в автономный режим и не вернутся в онлайн.
  • Среднечастотные SSD без резервной емкости могут генерировать предупреждения Smartd или, возможно, даже генерировать ошибки блочного устройства на уровне операционной системы при обнаружении сбойного блока. Однако, когда происходит сбой, зарегистрированный размер SSD изменится. Это может привести к ошибке и переводу устройства в автономный режим операционной системой, а также к зависанию самого устройства и необходимости его извлечения и повторной установки для повторного распознавания. При повторной регистрации доступный размер блока устройства будет уменьшен.
  • Высокопроизводительные твердотельные накопители с резервной емкостью будут перераспределять поврежденные блоки за кулисами и могут генерировать предупреждения / предупреждения на уровне ОС. Когда резервная емкость заканчивается, устройство, вероятно, выйдет из строя по линии SSD среднего уровня.

Когда SSD изменяет свой размер из-за изоляции поврежденных блоков, вам может потребоваться выполнить следующие действия для восстановления диска, если микропрограмма диска автоматически не выполняет правильные обновления автоматически:

http://communities.intel.com/message/145676

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

РЕДАКТИРОВАТЬ:

Основываясь на информации из ответов выше, предложите либо заменить кабель на более качественный, либо заменить диск (замена RMA / Warrantee), поскольку такого рода ошибки уровня файловой системы ОС не являются нормальными.

Кроме того, если ваш диск поддерживает это, вы можете увеличить количество места, отведенного для обработки ошибок:

http://www.thomas-krenn.com/en/wiki/SSD_Over-provisioning_using_hdparm

Крыло Тан Вонг
источник
Это тест производительности. Это может дать драйву тренировку, но я не думаю, что он обнаруживает ошибки.
psusi
Способ, которым работают SSD (s), обнаружение ошибок происходит в одной из нескольких форм, в зависимости от марки / модели SSD: ошибка Smartd, если блок переназначается и используется резервная емкость (без ошибок), емкость устройства равна сокращается из-за сбоя раздела флэш-памяти (может привести к ошибкам smartd, может вызвать ошибки файловой системы, может привести к зависанию устройства при переходе в автономный режим. При извлечении / повторной вставке накопитель снова доступен, но может потребоваться переформатирование ), и SSD может просто показаться зависшим без переназначения (устройство перестает отвечать даже после повторной вставки). Путь сбоя не эквивалентен HD
Wing Tang Wong
1
ошибки не обнаруживаются приводом, следовательно, необходим инструмент тестирования. Это проявляется в том, что файловая система перемонтируется ro, а e2fsck находит и исправляет множество ошибок в метаданных. Также у меня были испорчены некоторые файлы из моего git-репозитория. Это тихая коррупция, которая случается, может быть, раз в месяц или два. Сначала я подумал, что это может быть ошибка с TRIM, поскольку я не помню, чтобы это происходило до того, как я включил его, поэтому я выключил его, и это все еще происходит.
psusi
Пара потенциальных проблем: плохой кабель или плохой диск. Вы можете проверить неисправный кабель накопителя, заменив его другим. Я имел это в прошлом, и замена на более эффективный кабель работал. В случае плохой езды, RMA или отправить на гарантийный ремонт.
Wing Tang Wong
1
проблема в том, что это плохой диск (или действительно ошибка в прошивке), а не, скажем, ошибка в ядре. Если бы это был плохой кабель, он проявился бы как ошибки sata ecc, а не как случайное тихое повреждение.
psusi
3

Я понимаю, что этому больше года, но в интересах любого, кто читает ветку в будущем, я ожидаю, что нужного вам программного обеспечения (d) еще не существует за пределами лабораторий HP:

«Понимание надежности SSD при сбое питания» https://www.usenix.org/system/files/conference/fast13/fast13-final80.pdf

Заменить подачу сбоя питания на выбранное событие (или вообще ничего, в случае обнаружения периодически возникающих ошибок в прошивке), и кажется, что это программное обеспечение обнаружит его. К сожалению, я не думаю, что есть альтернатива, иначе предположительно HP не написала бы что-то собственное.

Обидно, так как мне также нужно что-то подобное, чтобы доказать проблемы в виртуальной среде; где я подозреваю, что совершенные записи на самом деле не попали на физический диск. Было бы здорово иметь возможность провести стресс-тестирование стека хранения, как это, а не только обязательно SSD. Я еще не нашел что-то подходящее.

Крис Мюррей
источник
2
(из анонимного комментария) Хотя аппаратная сторона вещей должна была бы быть воспроизведена, я не вижу причин, почему часть проверки программного обеспечения этого документа не могла быть воспроизведена с использованием fio в режиме клиент / сервер с триггерами. См. Github.com/axboe/fio/blob/master/HOWTO (10.0 Проверка и триггеры) для деталей. fio можно использовать для небуферизованной или периодической синхронизации ввода / вывода в виде множества полезных шаблонов, которые впоследствии можно будет проверить (можно даже сохранить файл состояния, чтобы проверка могла выполняться после различных вызовов fio).
Архемар
1

Используйте инструмент тестирования производителя, это лучший способ протестировать HD, так как он может получить доступ к тестам низкого уровня, переназначить поврежденные сектора, проверить все состояние работоспособности (особенно для SSD, для большинства из нас существует множество регистров, неизвестных но может помочь производителю увидеть состояние жесткого диска)

В hirensCD есть много инструментов для тестирования, но я думаю, что он не был обновлен до SSD, так что проверьте непосредственно на сайте производителя. Некоторые поддерживают linux, другие могут потребовать Windows LiveCD (проверьте еще раз hirenCd) или загрузку с Pendrive (Freedos, специальной ОС и т. Д.)

Большинство старых HD-инструментов не подходят для тестирования SSD, так как сектор никогда не находится в одном и том же месте, динамически отображается встроенным программным обеспечением, чтобы распределить записи по всему диску. Поэтому, если они действительно пишут тесты, вы просто записываете циклы записи, а не действительно тестируете диск.

Тесты чтения не записывают SSD, но также могут не проверять все сектора SSD, опять же из-за того, что прошивка скрывает реальное расположение.

Игиты
источник