Як я можу fsck розділ, коли пристрій читає як зайнятий (але підтверджено інакше)?


11

Я намагаюся запустити, fsck -p /dev/sda5щоб виправити помилки на розділі ext4, проте команда виводить

fsck from util-linux-ng 2.17.2
fsck.ext4: Device or resource busy while trying to open /dev/sda5
Filesystem mounted or opened exclusively by another program?

Я підтвердив використання, /etc/mtabі lsofщо нічого не використовує розділ, і він не встановлений. Я також fuser -k /dev/sda5насильно закривав що-небудь, використовуючи файл, і umountнамагався відключити його безрезультатно.

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

Усі команди виконувались як корінь 32-бітного liveCD Ubuntu 10.04. Розділ - це системна (не домашня) частина 32-розрядної установки Ubuntu 10.04.


Я знайшов метод вирішення більшого питання, пов’язаного з цим питанням, але я все ще шукаю відповідь, як змусити fsckйого зробити, якщо він вважає, що пристрій зайнятий (або чому цього не можна зробити).
— Keeblebrox

Я зустрічаюся з тією ж проблемою в системі RHEL5.8. / tmp відключено, / etc / mtab та / proc / mounts не відображають файлової системи. Я навіть перезавантажив машину, переконавшись, що я єдиний ввійшов у систему. lsof не показує файл, який використовується у / tmp. Ця ж процедура прекрасно працює на 4 подібних серверах, встановлених за допомогою того ж профілю kickstart. Різниця між цими серверами і цим полягає в тому, що до цього приєднано сховище SAN. Чи може це зробити багатопроменевий демон?
— Брам

У моєму випадку це не допомогло, але Red Hat KB ( access.redhat.com/knowledge/solutions/54184 ) рекомендує додати параметр ядра nodmraid як вирішення цієї проблеми.
— Брам

Відповіді:


4

Є такі речі (як правило, в ядрі, як NFS потоки, обмінювати файли, прив'язувати кріплення тощо), які можуть зайняти файлову систему, яка не відображатиметься fuser.

Якщо ви спробуєте fsckвстановити файлову систему, вона пошкодиться. Ви повинні знайти живий компакт-диск, який не змонтує автоматично ваші файлові системи, наприклад, Knoppix чи Fedora.


Поки що все було запущено з живого диска. Я намагаюся fsckзастосувати локальну файлову систему, тому я сподіваюся, що NFS не підтримує її зайнятістю - однак, я розумію, що ви говорите про те, що ядро ​​зберігає його зайнятим способами, які не обов'язково відображатимуться. Оскільки це все ще відбувається в середовищі живого диска, чи знаєте ви спосіб запобігти доступу до нього ядра досить довго, щоб я запустився fsck?
— Keeblebrox

Yikes. Використовується з живого диска? Я можу подумати лише про дві речі: 1) Спробуйте інший живий диск (наприклад, Fedora замість Ubuntu). 2) Перевірте / etc / fstab у реальній системі. Можливо, є файл swap або прив’язане кріплення, яке автоматично вмикається? Не обов'язково в тому порядку, я можу додати ...
— Стівен Притчард

Гаразд, я якось зовсім пропустив останній рядок питання. Я відповідно оновив свою відповідь.
— Стівен Притчард

+1, оскільки ваша згадка про автоматично встановлений своп призвів до неспорідненого прориву, і ваші відповіді допомогли вирішити більшу проблему. Я все ще хочу знайти спосіб примусити, fsckколи я знаю, що пристрій не зайнятий і не встановлений, і коли пошкодження даних не є проблемою.
— Keeblebrox

Може бути, mdadm виявив рейдові підписи на розділі та прив’язаний до нього? Перевірити / proc / mdstat.
— psusi

4

Ви можете видалити розділ fstabі перезавантажити машину


2

Спробуйте завантажити інший liveCD - я рекомендую SystemRescueCD , розроблений спеціально для вирішення проблем з установками Linux. Він також менший, ніж типові ОС LiveCD. А щоб бути на безпечній стороні, біжіть fsckвід консолі (немає X).

Якщо стандарт fsck -pне працює, ви також можете спробувати e2fsck -y -f.


Як повідомляє сторінка man , e2fsck -y -fпримушує перевірити чистий розділ. У ній нічого не згадується про змонтовані перегородки. Чи знаєте ви, чи примусить це перевірка також?
— Keeblebrox

Можливо, це не так, але вам обов'язково слід уникати встановлених файлом системних файлів (див. Параграфи у верхній частині сторінки e2fsck). Інша думка: якщо /etc/mtabздається, що розділ не встановлений, але ви все-таки отримаєте помилку, також слід перевірити /proc/mounts, оскільки mtabфайл може застаріти з якоїсь дивної причини.
— rozcietrzewiacz

0

Питання / відповідь, пов’язаний із цим на веб-сторінці /server/556014/centos-thinks-disk-is-busy-cant-mount-or-fsck

Зокрема, файлова система вже може використовуватись іншим, ніж монтажем fsck. Будь-який з термозахисних пристроїв та lsof може допомогти з'ясувати, що таке драйвер / додаток.

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