Чи є хороший інструмент для перевірки тортур приводу?


17

Останнім часом у мене виникають дивні та рідкісні пошкодження файлової системи, які, як я підозрюю, є виною мого SSD. Я шукаю хороший інструмент для перевірки тортур приводу. Щось, що може записати на весь диск, потім поверніться і прочитайте його, шукаючи пролетні записи, пошкоджені блоки, блоки, повернені до старих версій та інші помилки. Це було б набагато більше, ніж те, що badblocksробить. Чи є такий інструмент?

Примітка. Я не шукаю показника ефективності і вже перевірив стан SMART; каже, що здорових і про погані блоки не повідомляється.


1
Ви пробували? iozone.org
позитрон

1
До речі, ви не вказали, яке саме ОС / системне обладнання ви використовуєте. Повідомлялося, що SSD (и) зазнали корупції, про яку ви говорите на деяких боксах Mac OS X, коли вони налаштовані часто вимикати жорсткий диск для економії енергії. Це спричинить корупцію. Я б міг уявити, що те ж саме, ймовірно, і в інших комбінаціях OS / Hardware, якщо накопичувач змушений спати через вимкнутий жорсткий диск на SSD. Я перевірив би конфігурацію вашої системи перед тим, як спалити ваш SSD за допомогою тестування накопичувача.
Wing Tang Wong

1
@WingTangWong, вау. Я готовий, що багато SSD накопичуються, коли втрачають живлення, але коли його просять спати? Це один баггі-драйв. Я буду стежити за цим. Я використовую Linux і не сплю його, за винятком можливо, коли я
зупиняю

Відповіді:


10

Може бути зайвим, але є Phoronix Test Suite . Там також 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 

Інструменти охорони здоров'я / обслуговування диска

Ми мали добрий успіх, використовуючи наступні два інструменти, де я працюю. HDAT2 & Spinrite . Останній є комерційним інструментом, але перший, HDAT2, є проектом із відкритим кодом.

Ось пара скріншотів HDAT2:

ss №1 HDAT2

ss №2 HDAT2

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


Перші три, про які ви згадуєте, - це орієнтири ефективності. Я вже перевірив статус 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.

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

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

Якщо тільки інструмент стрес-тесту та реєстрації помилок не розроблений спеціально з SSD (дисками), майте на увазі, ви просто використовуєте термін експлуатації пристрою.

Редагувати:

На основі інформації з відповідей вище, запропонуйте або замінити кабель на кращий, або замінити накопичувач (заміна RMA / гарантії), оскільки така помилка рівня файлової системи ОС не є звичайною.

Крім того, якщо ваш диск підтримує його, ви можете збільшити кількість місця, відведеного для помилок обробки:

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


Це орієнтир ефективності. Це може дати приводу тренування, але я не думаю, що він виявляє помилки.
psusi

Те, як працюють SSD (диски), виявлення помилок відбувається в одній з декількох форм, залежно від марки / моделі SSD: Помилка Smartd, якщо блок перезавантажений і використовується резервна ємність (відсутність несправностей), ємність пристрою зменшено, оскільки розділ флеш-пам’яті є несправним (може спричинити помилкові помилки, може призвести до помилок файлової системи, може призвести до того, що пристрій зависне шині, переходячи в автономний режим. Під час витягування / повторної вставки диск знову доступний, але може знадобитися переформатувати ), і SSD може просто виявитися зависним без повторного перезавантаження (пристрій стає невідповідним навіть після повторної вставки). Шлях відмови не дорівнює HD
Wing Tang Wong

1
помилки не виявляються приводом, отже, потреба у тестовому інструменті. Це проявляється тим, що файлова система перераховується ro, і e2fsck знаходить і виправляє багато помилок у метаданих. Також у мене були пошкоджені деякі файли пакетів репозиторію git. Це мовчазна корупція, яка трапляється, можливо, раз на місяць-два. Спочатку я подумав, що це може бути помилка, пов’язана з TRIM, оскільки я не пригадую, щоб це сталося ще до того, як я це ввімкнув, тому відключив його і все ще відбувається.
psusi

Пара можливих проблем: поганий кабель накопичувача або поганий диск. Ви можете перевірити поганий кабель приводу, замінивши його на інший. У мене це було в минулому, і його заміна на якісніший кабель працювала. У разі поганого приводу, RMA або відправити на ремонт гарантії.
Крило Тан Вонг

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 ще раз) або завантажуватися з маятника (freedos, спеціальної ОС тощо)

Більшість старих інструментів HD не підходять для тестування SSD, оскільки сектор ніколи не знаходиться на одних і тих же місцях, динамічно відображається мікропрограмне забезпечення для розповсюдження записів по всьому диску. Отже, якщо вони роблять тести запису, ви просто записуєте цикли запису, а не по-справжньому тестуючи диск.

Тести читання не записують SSD, але також можуть не перевірити всі SSD сектори, знову ж таки через прошивку, що приховує реальну версію.

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