[РЕШЕНО] fsck меня не любит

akorop
Я же привёл лог, в котором видно, что раздел не смонтирован. Как он ещё может использоваться - я не знаю. В этом и вопрос.
Я же сказал - ищите процесс или юнит, который занимает раздел. Даже если раздел отмонтирован.
Для начала хотя бы
pgrep -a sda7
systemctl|grep sda7

У вас явно скорей всего запущено что-то специфическое, потому что обычно ничего похожего не наблюдается.
а lsof /dev/sdaX что мешает использовать, чтобы узнать кто схватил?
nafanja
akorop
а о ручной проверке в загруженной системе
обязательное условие?
а на других разделах тоже не пашит, проверял?
Да. Да. См. первый пост.
nafanja
а при загрузке в одиночном режиме?
Не проверял, сейчас проверил. Что удивительно - fsck спокойно работает. Так что на mount от systemd, вроде грешить нельзя.
А кто виноват (и как ему удаётся держать отмонтированный раздел) - непонятно. Ничего вроде udevil или pcmanfm в качестве десктопа нет и духу.
Natrio
Я же сказал - ищите процесс или юнит, который занимает раздел. Даже если раздел отмонтирован.
Для начала хотя бы
pgrep -a sda7
systemctl|grep sda7
Похоже, есть зацепка! Спасибо за подсказку о том как его искать.
/home/ak # pgrep -a sda7
407 jbd2/sda7-8
А в single mode этого нет. Гугл говорит, что jbd2 - это ядерный процесс журналирования.
Просто так (через htop) он не прибивается. Итак, вызрел следующий вопрос: как прибить jbd2 для отмонтированного раздела (и как потом запустить снова), или как настроить, чтобы он не мешал?
Natrio
У вас явно скорей всего запущено что-то специфическое, потому что обычно ничего похожего не наблюдается.
А что, кто-то попробовал, и у него fsck работает?
dartsergius
а lsof /dev/sdaX что мешает использовать, чтобы узнать кто схватил?
Это первое, что я сделал. Ничего не показало. Что, в общем, естественно - раздел-то отмонтирован.
akorop
А что, кто-то попробовал, и у него fsck работает?
подтверждаю не работает, проверил на бут разделе который прописан в фстаб и даже не был примонтирован так как монтируется по требованию, а раздел на другом винте, который нигде не прописан нормально проверился.
возможно это какая нибудь новая фитча не проверять разделы прописанные в фстаб в многопользовательском режиме.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
akorop
/home/ak # pgrep -a sda7
407 jbd2/sda7-8
А в single mode этого нет. Гугл говорит, что jbd2 - это ядерный процесс журналирования.
Просто так (через htop) он не прибивается. Итак, вызрел следующий вопрос: как прибить jbd2 для отмонтированного раздела (и как потом запустить снова), или как настроить, чтобы он не мешал?
У меня на штатном ядре 3.12.9-1 i686 при отмонтировании ext4 процесс журналирования успешно закрывается, как это и должно быть. Если у вас x86_64, и он остаётся, возможно это баг ядра, проявляющийся только на x86_64?

P.S.
Проверил ext3 и ext4 на 3.12.9-2 x86_64 – всё нормально, при отмонтировании процесс журналирования закрывается сам.
Так что ищите те у кого не закрывается, что ему мешает закрыться.

P.P.S
nafanja
раздел на другом винте, который нигде не прописан нормально проверился.
возможно это какая нибудь новая фитча не проверять разделы прописанные в фстаб в многопользовательском режиме.
У меня проверяются любые разделы, где угодно прописанные, главное отмонтировать.
И дело не в проверке, а именно в том, что они ЗАНЯТЫ.
Natrio
У меня на штатном ядре 3.12.9-1 i686 при отмонтировании ext4 процесс журналирования успешно закрывается, как это и должно быть. Если у вас x86_64, и он остаётся, возможно это баг ядра, проявляющийся только на x86_64?
P.S.
Проверил ext3 и ext4 на 3.12.9-2 x86_64 – всё нормально, при отмонтировании процесс журналирования закрывается сам.
Всё это в многопользовательском режиме на разделах, которые прописаны в fstab без noauto? Ох, не верится.

У меня раздел sda8 и sda16 прописаны в fstab так (LABEL=backup - это sda16):
/dev/sda8 /mnt/sda8 auto noatime 1 2
LABEL=backup /mnt/backup auto noauto,noatime 1 2

Щупаю sda16:
/media # pgrep -a sda16
/media # mount /dev/sda16
/media # pgrep -a sda16
4721 jbd2/sda16-8
/media # umount /dev/sda16
/media # pgrep -a sda16
Всё отлично. Процесс jbd2 появляется после mount и исчезает после umount.

Щупаю sda8:
/media # mount | grep sda8
/dev/sda8 on /mnt/sda8 type ext4 (rw,noatime,data=ordered)
/media # umount /dev/sda16
umount: /dev/sda16: not mounted
/media # mount | grep sda8
/dev/sda8 on /mnt/sda8 type ext4 (rw,noatime,data=ordered)
/media # pgrep -a sda8
392 jbd2/sda8-8
А тут глюк: процесс остаётся после umount.

Итоговое описание глюка:
Если раздел ext3/ext4 прописан в fstab без noauto, то в многопользоватльском режиме после umount остаётся процесс jbd2 для этого раздела и блокирует возможность выполнить fschk.

И что делать дальше?
akorop
Итоговое описание глюка:
Если раздел ext3/ext4 прописан в fstab без noauto, то в многопользоватльском режиме после umount остаётся процесс jbd2 для этого раздела и блокирует возможность выполнить fschk.
Можете не верить, но у меня разделы, прописанные в fstab БЕЗ noauto нормально отмонтируются и полностью разблокируются, процесс jbd исчезает всегда строго во время отмонтирования.
Всё в многопользовательском режиме, другого не юзаю практически никогда.
Проверено на ядрах linux i686 и x86_64.

Так что глюк описывать рано – его надо сначала найти. Пока понятно только то, что у вас запущено что-то такое, чего нет у меня.
Прошу не ругать, что влез в чужой топик, а потому заранее извиняюсь за это.
Но меня интересует один момент - если загрузится с опцией fsck.mode=force , то я не могу нигде найти лог файл, просто появляется каталог /lost+found - и он пустой, что, вообщем то и понятно, ну раз ничего не восстановилось.
Вообщем вопрос - а должен ли вообще быть какой-то лог???
PS...fsck.mode=force - это, как я грубо понимаю, какой то аналог старого, когда можно было указать проверку fsck при shutdown -h..., но лог тогда был.
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.