Практическое руководство чисто размонтировало корневую файловую систему, это использует aufs

Предисловие: я сделал загрузочный образ, который загружает Debian/Ubuntu использование SquashFS и aufs. Изображение содержит очищенную установку debootstrap, сжатую в изображение squashfs.

Изображение squashfs считают частью только для чтения моей файловой системы. Локальный жесткий диск считают перезаписываемой частью моей корневой файловой системы.

Вся установка rootfs сделана от initramfs, который называет switch_root к начальной загрузке Debian/Ubuntu. Сам rootfs смонтирован с помощью aufs на изображении сквоша (ro) и жестком диске (rw).

Когда initramfs работает, я проверяю, размонтирован ли жесткий диск чисто. Я удостоверяюсь, что это чисто, прежде чем я смонтирую его путем вызова 'fsck - CP' (я знаю, я не был должен).

Проблема: проблема, которую я имею, состоит в том, что перезаписываемая часть моей корневой файловой системы никогда не размонтирована правильно, оставив его (например, HDD) в грязном состоянии.

Основа проблемы, очевидно, что HDD используется aufs файловой системой. aufs файловая система, очевидно, используется rootfs. Рядом с этим я полагаю, что процедура завершения работы Debian/Ubuntu должна быть изменена для разрешения этого.

Чему сделали меня до сих пор: Я попытался завершить работу вручную первым входом в runlevel 1 и принуждением ro-remounts rootfs и HDD, но HDD все еще никогда не размонтирован чисто.

Я также изменился, путь aufs смонтирован путем добавления, что опция создать xino файл вне жесткого диска монтируется. Я никогда не вижу, что файл создается, и при этом я не могу видеть открытые файлы на жестком диске с помощью lsof.

Наконец, что не менее важно, я добавил, что жесткий диск к fstab установки Ubuntu, чтобы иметь его распознает его. Не изменил вещь, когда Debian/Ubuntu закрывается хотя :(

От взглядов его я создал "курицу и яйцо" проблема, поскольку я не могу размонтировать жесткий диск без первого размонтирования корневой файловой системы, которая я должен размонтировать жесткий диск lol.

У меня нет самой слабой идеи того, какие команды выполнить, для размонтирования ее правильно, таким образом, любая справка очень ценится.

3
задан 27 August 2012 в 15:44

1 ответ

Вы никогда не можете размонтировать корневую файловую систему, извините - неважно, при использовании squashfs+aufs, или просто ext2/ext3/ext4...

то, Что можно сделать, является перемонтированием это только для чтения, который является тем же с точки зрения целостности данных. Для регулярной файловой системы:

mount -oremount,ro /
sync # initiate writing any pending writes to disk
sleep 5 # and give writes some time to finish.

примечание, что aufs несколько отличается, поскольку необходимо удостовериться rw-поддержка в нем все еще записываемый, в то время как сам aufs помещается только для чтения..., например, принимая ,/mnt/sq/rw является ext4 частью чтения-записи aufs" / ", смонтируйтесь:

 cat /proc/mounts > /etc/mtab # may not be needed if your mtab is symlink or otherwise reflects real situation
 fuser -mv / # show debug of what is using this disk and blocking unmount/ro-remount, if anything
 auplink / flush 
 mount -oremount,noxino,noplink,ro /
 mount -oremount,sync /mnt/sq/rw
 mount -oremount,mod:/mnt/sq/rw=ro /
 mount -oremount,ro /mny/sq/rw
 sync
 sleep 5
 cat /proc/mounts
 dmesg
 sleep 300 # to give you time to read mounts/dmesg info
 halt -d -f

в производстве Вам, очевидно, не будет нужна информация об отладке...

Короче говоря, Вы сбрасываете к диску и отключаете aufs опции, которые требуют записи в наложение ext4, затем вынуждают сам ext4 синхронизировать и пойти только для чтения, таким образом, это будет отмечено как чисто размонтированный следующий раз, когда Вы загружаетесь.

0
ответ дан 21 October 2019 в 12:19

Другие вопросы по тегам:

Похожие вопросы: