Агресивно fsck диск перед встановленням


12

У мене є стара машина HP Athlon, яку я використовую для тестування програмного забезпечення під старим процесором. У нас часті коричневі виходи, а після останнього на диску був безлад. Це було так погано, що я не міг бігти fsckі відправляти всі проблеми. Я здійснив нову установку ОС, але все ще отримую fsckскарги.

Я хотів би спробувати в останній раз перезавантажити Linux, перш ніж засудити жорсткий диск або машину. Після створення файлової системи, але до того, як буде встановлена ​​установка, я хотів би агресивно fsckвиконувати позначення підозрюваних блоків як поганих.

Диск великий (близько 500 ГБ), а дистрибутив Debian 8 порівняно невеликий (8-12 ГБ зазвичай більше, ніж достатньо), тому мені байдуже, чи добрі блоки будуть позначені як погані. Мені також подобається встановити графічний інтерфейс, але я не одружений на ньому.

У мене є два питання:

  1. Чи надає Debian 8 вибір для виконання fsckперед встановленням базової системи? Якщо так, то де це? Якщо ні, то який процес?

  2. Чи fsckє налаштування контролювати, як агресивно блоки позначаються як погані? Якщо так, то що це? Якщо ні, то що можна використовувати?


EDIT : машина - HP5850. Увійшовши в BIOS, перейдіть до накопичувача, а потім самотестування системи захисту приводу (DPS), в результаті чого DPS рекомендує замінити накопичувач. ДПС не надав жодної статистики, тому я не впевнений у масштабах збитку.

Враховуючи, що я можу придбати [старий] новий накопичувач SATA II за 12 доларів США, я просто збираюся його замінити. Не витрачати на це часу чи енергії немає сенсу.


Пов'язані посилання наступні. Жодне питання не видається вирішеним.



Якщо у вас взагалі є якісь погані блоки, весь накопичувач фізично виходить з ладу і його не слід використовувати.
chrylis -на страйк-

2
"Агресивно fsck диск" виглядає так брудно ...
А. Мірабо

Відповіді:


19
  1. "Чи надає Debian 8 вибір для виконання fsck перед встановленням базової системи? Якщо так, де це? Якщо ні, то що таке процес?"

    Як альтернатива, спочатку завантажте та запишіть компакт-диск GPartEd (або запишіть на накопичувач). Перш ніж запустити інсталятор, завантажте GPartEdта розділіть диск на свій смак та запустіть fsckабо просто запустіть badblocksна довжину.

    Коли ви запускаєте інсталятор Debian, просто скажіть, як використовувати розділи, які там є. Інсталятору не потрібно створювати власні розділи. Він абсолютно радий використовувати існуючі перегородки.

  2. "Чи має fsck налаштування контролювати, як агресивно блокуються позначені як погані? Якщо так, що це? Якщо ні, то що можна використовувати?"

    -cВаріант e2fsckпричин його запустити badblocksпрограму для сканування пошкоджених блоків. Ви також можете запускати неполадки безпосередньо. За замовчуванням badblocksробить тест лише для читання. Щоб бути більш агресивним, ви можете вказати -nна неруйнівний тест читання-запису. Ви також можете встановити -pможливість збільшити кількість пропусків.

    Ви можете запустити badblocksперед розділом. Таким чином, ви можете вказати швидший -wтест лише для запису.


1
Джон, +1, цікаво, чи badblocksє якийсь метод маркування на апаратному рівні або просто на рівні FS?
heemayl

3
@heemayl Моє розуміння полягає в тому, що на сучасних жорстких дисках вбудована програма жорсткого диска намагається зробити все своє власне погане управління блоками. Мета роботи badblocks- просто змусити жорсткий диск читати / записувати всі сектори. На жорсткому диску є власне виявлення та перекомпонування поганих секторів, і, якщо все працює як слід, badblocksпрограма ніколи не повідомляється, що жорсткий диск робить це.
John1024

хммм .. незрозуміло. Отже, по суті, fsck може позначати блоки на FS, але погані блоки просто допомагають прошивці диска зробити маркування, не робить нічого свого?
heemayl

3
@heemayl У старі часи badblocksвипльовувались список поганих секторів, і файлова система записувала б їх. У сучасний час, badblocks і FS все ще намагаються це зробити, але, при сучасному HD, список зазвичай порожній.
John1024

1
@heemayl, і якщо список не порожній, диск зазвичай настільки сильно зламаний, що найкращим варіантом є його заміна.
Марк

7

Якщо у вас часто виникають помилки fsck, привід може також кашляти кров. Навіть якщо ви позначите кожен поганий блок як поганий, не буде багато часу, поки більше блоків не вийде. Я б подумав, що ви можете перетворитись на інший tty, щоб зробити fsck, якщо вам дійсно потрібно (Ctrl + alt + F2 для переходу на tty2), але я не можу наголосити достатньо, наскільки вам потрібен новий жорсткий диск, якщо ви говорите. є точним.


"Якщо ви часто отримуєте помилки fsck ..." - в чому я не впевнений, це чимало fsckпроблем після перевстановлення ступеня проблеми, чи це вершина айсберга. Система завантажується, стикаючись з декількома помилками файлової системи (4 або 6), відновлюється шляхом повторного повторного перегляду, після чого завантажується.

@jww, чи можете ви опублікувати деякі точні приклади помилок вказаної файлової системи?
Джон Левенгаген

Навіщо переходити на інший tty? Яку перевагу забезпечує це?
fpmurphy

@ fpmurphy1 це звучало так, ніби він не може відкрити вікно терміналу, тому перехід на інший tty буде наступним найкращим способом потрапити в оболонку.
Джон Левенгаген

@jww: Чи повідомляються про ті самі блоки щоразу, або про кожен набір повідомляється новий набір?
TMN

5
  1. Ні, і я не думаю, що цього варто. Fsck (як реалізовано більшістю файлових систем) не перевіряє ваші диски. Він перевіряє метадані файлової системи та забезпечує впевненість у перегляді при їх монтажі. Це не має сенсу робити це перед установкою, адже за визначенням у вас буде лише порожній простір.

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


3

Щоб перевірити сучасний диск на надійність, подумайте про використання вбудованих тестів; ви можете запустити їх за допомогою утиліти smartctl, наприклад:

smartctl -t long /dev/sdx
#wait an hour or two
smartctl -a /dev/sdx
#should have recorded a result in the self-test log

Якщо ви хочете заздалегідь переконатися в тому, що все нещодавно написано, щоб виявити сектори, які не будуть писати належним чином, ви можете перезаписати весь носій чимось на зразок DD з / dev / urandom або подрібнити одним із рандомізуючих варіанти.


3
Зверніть увагу , що ddвід /dev/randomпотрібно багато днів , щоб завершити на диску 500 Гб.
Дмитро Григор'єв

1
fix typo, thx :) Не хотілося чітко вказати точний синтаксис dd, оскільки я хотів уникнути наявності командних рядків навколо цього, якщо випадково вставити в оболонку, це призведе до справді незворотної втрати даних.
rackandboneman

На жаль, Debian не виникає , щоб забезпечити smartctl: E: Unable to locate package smartctl. Це утиліта Red Hat / Fedora?

Пакет debian / ubuntu - це smartmontools. BTW, використовуйте пошук apt-кешу, щоб шукати, в якому пакеті є щось.
rackandboneman

2

Я рекомендую отримати програмне забезпечення низькоформатного формату виробника (якщо воно існує), яке може працювати лише в Windows (або, якщо пощастить, із завантажувального CD / DVD / USB, на який ви можете завантажити зображення з їх веб-сайту) . Якщо у вас є достатній контроль над роботою для зменшення повідомленої потужності накопичувача в обмін на набагато більший пул запасного сектора, вам слід зробити це, очікуючи, що багато з цих запасних частин будуть замінені під час тестування приводу, як запропонував @rackandboneman . Набагато краще мати накопичувач на 400 або 450 ГБ з усіма поганими секторами, заміненими на запасні частини та більше залишених на майбутні дефекти, ніж для виснаження запасного пулу та майбутніх поганих секторів, які не можна прозоро переробити.


Мені вдалося запустити SeaTools для DOS . SeaTools повідомив, що SMART не спрацьовує, що здалося незвичним. Довгий тест і короткий тест не вдалося відразу. Я змінив розмір диска до 32 ГБ; а потім знову провів довге випробування. SeaTools знайшов 4 поганих ЛБА біля позначки 1190000 і відремонтував їх. Свіжа установка ОС пройшла ідеально; і наступні перезавантаження не мали проблем. Оскільки я придбав привідний накопичувач SATA II, я зберігатиму його як гарячу запасну частину, якщо наявний диск не працює.

@jww шкода, що ти вже прийняв іншу відповідь.
Monty Harder

Так, це пастка з питаннями та питаннями ... Я повинен задати конкретні запитання, щоб отримати точну відповідь. Якби я запитав: "як встановити Linux на збій жорсткого диска", то питання, ймовірно, було б закритим.

0

Деякі основні речі, якщо у вас немає доступних інструментів (наприклад, це USB-диск і SMART не працює):

dd if=/dev/sdX of=/dev/null bs=1M

прочитає весь диск. Ви побачите в dmesgжурналі, якщо є сектори, які неможливо прочитати. Хоча це не скаже вам, чи вдалося їх прочитати після повторних спроб. Це не так добре, badblocksале я згадую це за всю його повсюдність.

Якщо у вас погані сектори, і ви нічого не хочете на диску:

dd if=/dev/zero of=/dev/sdX bs=1M

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

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

Якщо це SSD, то все інакше, і це не стосується.

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