Локальная файловая система не отключена должным образом во время выключения
У меня есть файловая система с двумя жесткими дисками и несколькими разделами, смонтированными отдельно локально.
/root
, /home
, /usr
, /var
, /local/share
, /home/bernhard/fotos/bilder
, /backup
находятся на отдельных разделах и все "ext3".
Во время размонтирования сообщение "размонтирование локальной файловой системы" больше не появляется и при загрузке всех разделов, но корневой раздел должен перезагрузить журнал, что указывает на неправильное размонтирование. Корневой раздел и /usr находятся на sda, остальные на sdb или других устройствах, подключенных по usb. единственная размонтированная без проблем раздел - это корневой раздел на sda4.
Интересно, есть ли в сценарии для размонтирования всех устройств цикл "ожидания успеха" или сам скрипт поврежден. Однако вчера я обновился до 11.04 и ошибка не исчезла.
pmount выглядит неуместно, так как устройство не имеет горячего подключения, а просто монтируется во время запуска системы. Очевидно, что монтирование /usr, а затем /usr/local/share, а также /home и более поздних версий /home/bernhard/fotos/bilder создает проблемы для umount; устройства могут быть заняты и поэтому не могут быть размонтированы.
У кого-нибудь есть идея для сценария организовать размонтирование упорядоченным способом? Как ждать размонтирования вторичного крепления? Вы также знаете, где разместить такой скрипт, который будет использоваться вместо оригинальной команды umount?
Может быть общее решение.
1 ответ
У меня нет 11.04 для экспериментов, но мне кажется, что скрипт /etc/init.d/umountfs должен выполнить размонтирование. Там вы найдете, что все обычные точки монтирования передаются umount
в одном вызове. Осталось umount
обрабатывать те в разумном порядке, на который он, на мой взгляд, должен быть способен. Похоже, в этом сценарии нет цикла "Ожидание успеха". И даже если какое-то устройство не было успешно размонтировано, umount -r
следует монтировать эти файловые системы только для чтения, поэтому не нужно повторять журнал.
Чтобы получить больше информации об этой проблеме, вы можете изменить этот сценарий одним или несколькими из следующих способов:
- Задавать
VERBOSE=yes
так что вы увидите больше продукции - Поместите
sleep 20
в начале и в концеdo_stop
каждому предшествует подходящийecho
, Таким образом, вы увидите, что выводится из этого скрипта, и успеете прочитать его во время выключения. Конечно, вам следует отключить заставку, чтобы вы могли увидеть этот вывод. - Возможно также сделать
set -x
так что вы можете увидеть внутреннюю работу сценария оболочки, в частности аргументы, переданные umount. - Там даже появляется оболочка, так что вы можете экспериментировать во время выключения, например, чтобы определить причины, по которым какая-то файловая система занята и не может быть размонтирована.
- Попробуйте добавить свою собственную логику упорядочения, используя обычный синтаксис bash, чтобы либо упорядочить аргументы для umount, либо выполнить несколько вызовов umount. Я думаю, что в этом не должно быть необходимости, если скрипт работает так, как задумано, и если он не работает должным образом, должно быть какое-то сообщение об ошибке. Так что я бы реализовал это, только если бы не было никакой другой подсказки относительно того, что идет не так.