Питання 1:
Що стосується -b
варіанту: це залежить від вашого диска. Сучасні великі диски мають 4 КБ блоки, і в цьому випадку слід встановити -b 4096
. Ви можете отримати розмір блоку в операційній системі , і зазвичай це також можна отримати, прочитавши інформацію диска з етикетки, або погугливши номер моделі диска. Якщо -b
встановлено щось більше, ніж розмір вашого блоку, цілісність badblocks
результатів може бути порушена (тобто ви можете отримати помилкові негативи: поганих блоків не знайдено, коли вони все ще можуть існувати). Якщо -b
встановлено щось менше, ніж розмір блоку вашого диска, швидкість badblocks
пробігу може бути порушена. Я не впевнений, але можуть виникнути інші проблеми з налаштуванням-b
на щось менше, ніж розмір блоку, оскільки він не перевіряє цілісність цілого блоку, все-таки можливо отримати помилкові негативи, якщо його встановлено занадто мало.
В -c
опції відповідає тому , скільки блоків повинні бути перевірені відразу. Базове читання / запис, в основному. Цей параметр не впливає на цілісність ваших результатів, але впливає на швидкість, з якою badblocks
працює. badblocks
буде (необов'язково) писати, потім читати, буфер, перевіряти, повторювати для всіх N блоків, як зазначено в -c
. Якщо -c
встановлено занадто низько, це призведе до того, що ваші badblocks
запуски займуть набагато більше часу, ніж звичайні, оскільки чергування та обробка окремого запиту вводу-виводу вимагає накладних витрат, а диск також може накладати додаткові накладні витрати на запит. Якщо -c
встановлено занадто високо, badblocks
можливо , не вистачить пам'яті. Якщо це станеться, badblocks
вийде з ладу досить швидко після її запуску. Додаткові міркування тут включають паралельні badblocks
запуски: якщо ви працюєтеbadblocks
проти декількох розділів на одному диску (погана ідея) або проти декількох дисків на одному каналі вводу-виводу, напевно, ви захочете налаштуватися -c
на щось чудово високе, враховуючи наявну пам'ять, щоб badblocks
паралельні запуски не боролися за пропускну здатність IO і може паралелізуватися розумним чином.
Питання 2:
Попри те , що інші відповіді показують, тест записи режим не є більш-менш надійні , ніж тест неруйнівного читання-запису, але в два рази швидше, за рахунок того , щоб бути руйнівною для всіх ваших даних. Я поясню, чому:-w
У неруйнівному режимі badblocks
виконує наступні дії:
- Прочитайте наявні дані, перевірте їх (за потреби прочитайте ще раз) та збережіть у пам'яті.
- Напишіть заздалегідь заданий шаблон (замінюючи
-p
параметр, хоча зазвичай це не потрібно) до блоку.
- Прочитайте блок назад, переконавшись, що прочитані дані збігаються з шаблоном.
- Запишіть оригінальні дані на диск.
- Я не впевнений у цьому, але він також, ймовірно, перечитує та підтверджує, що вихідні дані були записані успішно та все ще контрольні суми до того ж.
У руйнівному ( -w
) режимі виконуються badblocks
лише кроки 2 та 3 вище. Це означає, що кількість операцій читання / запису, необхідних для перевірки цілісності даних, скорочується вдвічі. Якщо блок поганий, дані будуть помилковими в будь-якому режимі. Звичайно, якщо ви дбаєте про дані, що зберігаються на вашому диску, вам слід скористатися неруйнівним режимом, оскільки -w
це знищить усі дані та залишить badblocks
на диску диск «Шаблони».
Caveat: якщо блок йде погано, але ще не повністю вийшов, деякі пари перевірки читання / запису можуть працювати, а деякі - ні. У такому випадку неруйнівний режим може дати тобі більш надійну вказівку на «каламутність» блоку, оскільки він робить два набори перевірки читання / запису (можливо - див. Кулю в кроці 4). Навіть якщо неруйнівний режим таким чином надійніший, він лише надійніший за збігом обставин . Правильний спосіб перевірити наявність блоків, які не є повністю поганими, але не можуть витримати декілька операцій читання / запису, - це badblocks
кілька разів виконувати одні і ті ж дані, використовуючи цю -p
опцію.
Питання 3:
Якщо SMART перерозподіляє сектори, вам, ймовірно, слід подумати про заміну накопичувача якнайшвидше. Приводи, які втрачають декілька секторів, не завжди втрачають їх, але причиною цього є зазвичай широко використовуваний привід, який стає магнітно кашковим, або виходять з ладу голови / двигуни, що призводить до неточного чи невдалого читання / запису. Остаточне рішення, звичайно, залежить від вас: виходячи з цінності даних на накопичувачі та надійності, необхідної для систем, на яких ви працюєте, ви можете вирішити їх не змінювати. У мене є кілька накопичувачів з відомими поганими блоками, які роками обертаються застереженнями SMART у моєму файловому сервері, але вони створюють резервні копії за графіком, щоб я міг впоратися з повним збоєм без особливого болю.