LINUX.ORG.RU

Философия fsck

 , ,


1

2

При каждой (!) перезагрузке происходит проверка root и boot разделов, что отнимает, соответственно, некоторое время. Я так понял, что в сферическом вакууме проверка должна запускаться только в том случае, если предварительно компьютер был выключен некорректно, а не каждый раз. Как нужно (ли?) правильно бороться? Кроме как везде отключить все проверки.

systemd-analyze blame | grep fsck
           634ms systemd-fsck-root.service
           113ms systemd-fsck@dev-sda1.service
Если я неправильно понял философию и подход, то просьба простить)

★★

Последнее исправление: Waldo-de-Kard (всего исправлений: 1)

Сейчас преобладает подход (и в оффтопике тоже), что перезагрузка сама по себе вещь внеплановая, и делается только в случае обновлений ядра/оборудования или серьезных сбоев. Пользователю предлагается использовать спящий/ждущий/гибридный режим. Вспомни, когда ты в последний раз перезагружал свой телефон и почему.

Вообще, все зависит от того, как грузится система (initramfs, опции ядра, /etc/fstab). Я, например, сразу монтирую корень в rw без initramfs, соответсвенно, некому проверять раздел даже теоретически. Иногда (когда при монтировании идет предупреждение «fs was not cleanly unmounted») руками проверяю через systemctl rescue.

mtk
()

Идея в том, что fsck запускается каждый раз, но в большинстве случаев ничего не делает, а просто проверяет, что ФС была корректно отмонтирована и так далее. В худшем случае запускаются автопроверки, а если повреждения серьёзные — fsck возвращает 1 и systemd переводит систему в emergency mode.

intelfx ★★★★★
()
Ответ на: комментарий от a1batross

Ты чё, это ж системд, его же пользуют только чтоб секундами загрузки меряццо. А тут - целых полсекунды на какую-то ненужную проверку диска.

NeverLoved ★★★★★
()
Последнее исправление: NeverLoved (всего исправлений: 1)
Ответ на: комментарий от NeverLoved

Так systemd только для мерянья пипи^Wсекундами загрузки и годится.

devl547 ★★★★★
()
Последнее исправление: devl547 (всего исправлений: 1)

А при чем тут systemd? Такая «проверка» есть и в обычном ините. intelfx все правильно сказал. В ext4, ЕМНИП, даже какой-то флаг для этого есть.

Extraterrestrial ★★★★★
()
Последнее исправление: Extraterrestrial (всего исправлений: 1)
Ответ на: комментарий от a1batross

половину секунды

ну-ну, у меня хомяк (900 Gb) секунд 6-8 проверяется. Наверное, из-за кучи мелких файлов - копий десять исходников разных ведер и т.д.

mtk
()
Ответ на: комментарий от mtk

У меня 500 ГБ раздел и он довольно шустро по нему проходится. Сразу автоматом выдает что-то типа: «ФС чиста, продолжаем!»

a1batross ★★★★★
()
Ответ на: комментарий от a1batross

Я имел ввиду форсированную проверку.

У меня почти все перезагрузки - после отключения света (привет электрикам, они возможно тоже сидят на ЛОРе).

mtk
()
Ответ на: комментарий от a1batross

Я уточнял философский аспект вопроса, не более. Некоторые в fstab на проверку нули прописывают и кладут на это, о том и вопрос стоит ли оно того.

Waldo-de-Kard ★★
() автор топика
Ответ на: комментарий от mtk

Ну так «отключение света» — это другая ситуация. В которой реально стоит провести проверку ФС. И не удивительно, что это может занимать время.

a1batross ★★★★★
()
Ответ на: комментарий от Waldo-de-Kard

Стоит. Если, как у товарища выше, могут электричество выключить.

А так. Ну проверяет оно как была отмонтирована ФС. Нормально — вот и занимает менее секунды.

a1batross ★★★★★
()

Почитай логи, возможно при выключении компа не происходит корректное размонтирование фс по различным причинам.

Khnazile ★★★★★
()
Ответ на: комментарий от anonymous

Бинарник fsck.xfs представляет из себя заглушку, всегда возвращающую ноль.

intelfx ★★★★★
()

Я так понял, что в сферическом вакууме проверка должна запускаться только в том случае, если предварительно компьютер был выключен некорректно.

fsck как раз и проверяет, был ли компьютер выключен некорректно (точнее, нормально ли был отмонтирован раздел).

anonymous9
()
Ответ на: комментарий от a1batross
Не думай о секундах свысока
Наступит время сам поймешь наверное
Свистят они как пули у виска
Мгновения, мгновения, мгновения.

У каждого мгновенья свой резон
Свои колокола, своя отметина
Мгновенья раздают кому-позор
Кому-беславье, а кому-бессмертие

Из крохотных мгновений соткан дождь
Течет с небес вода обыкновенная
И ты порой почти полжизни ждешь
Когда оно придет, твое мгновение

Придет оно большое как глоток
Глоток воды во время зноя летнего
А в общем, надо просто помнить долг
От первого мгновенья до последнего

Мгновения спресованы в года
Мгновения спресованы в столетия
И я не понимаю иногда
Где первое мгновенье, где последнее

Не думай о секундах свысока
Наступит время сам поймешь наверное
Свистят они как пули у виска
Мгновения, мгновения, мгновения… мгновения
anonymous9
()
Ответ на: комментарий от anonymous9
/dev/sda1		/boot		ext2		noatime		0 2
/dev/sda3		/		reiserfs	noatime		0 1

Ну я как бы в курсе, о чем это.
Как я понял, прописать туда нули - не самая лучшая идея)

Waldo-de-Kard ★★
() автор топика
Ответ на: комментарий от Waldo-de-Kard

У тебя есть initramfs? Если есть, в нём тоже используется systemd? Если да, то у корня можно поставить passno в 0 — он прочекается ещё из initrd, что «правильнее».

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Waldo-de-Kard

Разве сложно догадаться, что монтировать ФС, на которой потенциально могут быть ошибки - небезопасно?

anonymous9
()
Ответ на: комментарий от Waldo-de-Kard

Ну будешь в случае серьёзного повреждения файловой системы грузиться в LiveCD систему и в ручную запускать fsck, вместо автоматической проверки и исправления ошибок fsck из состава initramfs, если ты его используешь.

kostik87 ★★★★★
()
Ответ на: комментарий от Waldo-de-Kard

Значит, passno у / должен быть равен 1, у остальных — 2, и (самое главное) в командной строке ядра должен быть параметр ro.

В этом случае при каждой загрузке системы, до перемонтирования / на чтение и запись, для всех ФС из /etc/fstab будет вызываться этот самый легковесный fsck, который в типичном случае будет проверять, что ФС корректно отмонтирована, и завершаться (т. е. как ты и описал в исходном посте). Это нормально и правильно.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от mtk

Сейчас преобладает подход (и в оффтопике тоже), что перезагрузка сама по себе вещь внеплановая

у кого? у поттера?

quest ★★★★
()
Ответ на: комментарий от Waldo-de-Kard

Как я понял, прописать туда нули - не самая лучшая идея

Для XFS нормально, но твоим кривулькам действительно нельзя.

Gotf ★★★
()
Ответ на: комментарий от intelfx

Если да, то у корня можно поставить passno в 0 — он прочекается ещё из initrd, что «правильнее».

Лол, ты вообще понимаешь, что после initrd корень в принципе не подлежит fsck?

Gotf ★★★
()
Ответ на: комментарий от Gotf

Во-первых, не «в принципе», а если initramfs монтирует корень как rw (что обычно и происходит, но так делать никто не обязан). Во-вторых, это не противоречит тому, что я написал.

Если initramfs есть — то чекать можно и нужно из него. Если нет — то корень монтируется в ro и чекается до перемонтирования.

intelfx ★★★★★
()
Ответ на: комментарий от quest

Ну, гномеры когда-то убрали shutdown/reboot с системного меню.

mtk
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.