1

Тема: Діагностика чи перевірка диску HDD SSD в linux (badblocks)

Деколи потрібно перевірити диск на наявність проблем із блоками, наприклад коли треба його продати)

Зробити це можна дуже просто, через консоль, за допомогою сервісної програми - badblocks.

Опис її основний опцій:

  • -v - від verbose - Багатослівний режим. Виводить помилки читання та запису. Завжди корисно бачити додаткову інформацію.

  • -s - від show progress - Показує прогрес сканування. Важко жити, коли не бачиш якогось прогресу.

  • -f - від force - Примусово запускає сканування. Якщо пристрій змонтовано (Зазвичай диск автоматично змонтується при підключенні) то програма видасть помилку про відмову в доступі.

  • -w - від write - Запускає режим сканування із записом. В процесі на диск запишуться дані, зчитаються і порівняються. Якщо між записаними і зчитаними даними є різниця, значить із блоком проблема. Всі ваші дані з цим режимом будуть втрачені. Найнадійніший варіант і найдовший, відбувається сканування в чотири етапи, на кожному етапі пишуться різні дані. Дозволяє впевнитися в працездатності кожної фізичної одиниці пам'яті.

  • -n - від non-destructive - Режим тестування без втрати даних. Спочатку зчитає та збереже дані блоку і запустить його діагностику. Діагностика проводится в один етап та з випадковими даними. Після перевірки і порівняння запише в блок попередньо збережені дані. Режим без задання

  • -b - від block size - Можна збільшити чи зменшити розмір одного блоку (в байтах) який буде перевірятися. Без задання 1024

  • -c - від — - Задає кількість блоків, які діагностуютсья одночасно. Без задання 64

Більше за довідкою - man badblocks


Тестувати буду з повною перевіркою -w. Вводжу в консоль

badblocks -svwf /dev/sdb

і чекаю. В моєму варіанті, з диском на 320гб, близько 8 годин.

/dev/sdb - це файл вашого пристрою. Визначити його назву можна через fdisk -l


Перед тестуванням

Раджу погратися з ключами -b та -c, адже у кожного диску власна продуктивність. Витративши 10хв, щоб знайти найпродуктивнішу комбінацію, можна трохи скоротити час діагностики.


Отже, тестується все просто і довго, але сучасні пристрої вже мають розумні контролери, котрі самостійно виявляють несправніть і корегують їх. Тому ймовірість, що ви знайдете блок який видає помилки досить мала.


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

Подякували: plusxx, koala, Chemist-i, leofun01, ostap34PHP5

2

Re: Діагностика чи перевірка диску HDD SSD в linux (badblocks)

NaharD написав:

Отже, тестується все просто і довго, але сучасні пристрої вже мають розумні контролери, котрі самостійно виявляють несправніть і корегують їх. Тому ймовірість, що ви знайдете блок який видає помилки досить мала.

Для користувацького сегменту це нісенітниця, бо сам щороку викидаю чимало SATA дисків які мають s.m.a.r.t у нормі, а badblock сипить від душі перелік поганих секторів. При тому, це переважно не старі диски на 320ГБ і т.п., це диски 1ТБ і більше.

Про сучасні диски з виправленням помилок то легенда для школярів, яку склали ще до того як я пішов до школи і досі живе. Чому легенда? Бо ця функція існує в дисках довше ніж комп'ютери в наших школах.

Подякували: NaharD, leofun012

3

Re: Діагностика чи перевірка диску HDD SSD в linux (badblocks)

Ні, ну сучасні ж пристрої. ДВЗ теж сучасний пристрій.

4 Востаннє редагувалося HetmanNet (18.12.2020 10:54:47)

Re: Діагностика чи перевірка диску HDD SSD в linux (badblocks)

NaharD написав:

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

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

Більшість таких глюків на серверах то програмні.