Страница 1 из 1

Автоматический запуск fsck

Добавлено: 2009-01-13 18:15:31
RusBiT
После неожиданного выключения питания, иногда, появляются ошибки в файловой системе, обычно в /var. Решение довольно простое umount -a && fsck -y && reboot, до для этого надо специально идти и прописывать команду.
Можно ли как нибудь автоматизировать данный процесс, да и почему по дефолту проверка не срабатывает?

Re: Автоматический запуск fsck

Добавлено: 2009-01-13 18:20:02
paradox
если я правильно помню то нет

хотя общая проверка fsck есть в rc.conf

Re: Автоматический запуск fsck

Добавлено: 2009-01-13 18:34:12
Sla
в rc.conf
fsck_y_enable="YES"

Re: Автоматический запуск fsck

Добавлено: 2009-01-13 18:48:29
paradox
интересная опция но наскоко помню она чет не спасает в определенных случаях

Re: Автоматический запуск fsck

Добавлено: 2009-01-13 19:15:09
zg
гм.. какой от неё прок, если файловая система не смонтирована -)))

когда фря перестаёт грузиться после каждого неправильного ребута, это верный признак скорой кончины ;-) либо винт накроется тазом, либо файловая система.

Re: Автоматический запуск fsck

Добавлено: 2009-01-13 21:34:47
Alex Keda
zg писал(а):гм.. какой от неё прок, если файловая система не смонтирована -)))
на смонтированной ФС fsck работает тока в рид-онли.
поэтому там ей - самое место.
==========
ещё лучше отключить background_fsck

Re: Автоматический запуск fsck

Добавлено: 2009-01-13 22:11:51
zg
lissyara писал(а):на смонтированной ФС fsck работает тока в рид-онли.
гм..

Код: Выделить всё

zg# rcorder /etc/rc.d/** | grep -n fsck
9:/etc/rc.d/fsck
142:/etc/rc.d/bgfsck
zg#
много демонов стратует на несмотированной системе?

Re: Автоматический запуск fsck

Добавлено: 2009-01-13 22:15:48
Alex Keda
вторая строка - в бэкгроунде.
======
а вообще -сам запусти у себя fsck на смонтированой - глянь чего скажет

Re: Автоматический запуск fsck

Добавлено: 2009-01-13 22:38:34
zg
lissyara писал(а):вторая строка - в бэкгроунде.
в бэкграунде она вызывается только по возможности
lissyara писал(а):а вообще -сам запусти у себя fsck на смонтированой - глянь чего скажет

Код: Выделить всё

                 echo "Starting file system checks:"
                if checkyesno background_fsck; then
                        fsck -F -p
                else
                        fsck -p
                fi

                case $? in
                0)
                        ;;
                2)
                        stop_boot
                        ;;
                4)
                        echo "Rebooting..."
                        reboot

               8)
                        if checkyesno fsck_y_enable; then
                                echo "File system preen failed, trying fsck -y."
                                fsck -y
                                case $? in
                                0)
                                        ;;
                                *)
                                echo "Automatic file system check failed; help!"
                                        stop_boot
                                        ;;
                                esac
                        else
                                echo "Automatic file system check failed; help!"
                                stop_boot
                        fi
                        ;;
.....
как видно проверка на fcsk_y_enable идёт далеко не во всех случаях и обязательно только после загрузки ядра и подмонтирования файловой системы. Рута монтирует ядро и если повреждения файловой системы серьёзны, то до fcsk_y_enable очередь не дойдёт

Код: Выделить всё

zg# grep -R "Trying to mount root" /etc/**
zg# grep -R "Trying to mount root" /boot/**
Binary file /boot/kernel/kernel matches
zg#
сначала монтируется рут, а только потом стартуется fsck и не факт, что система с ней загрузится

Re: Автоматический запуск fsck

Добавлено: 2009-01-13 22:58:44
Alex Keda
=)
поверь - мне искренне пофиг чё ты там нагрепал, и к каким выводам пришёл.
я сужу по своим машинам за которыми работаю.
корневой всегда проверяется без бакгроунда, остальные - как сказано переменой отвечающей за бакгроунд.
и всегда до монтирования ФС в rw.
===========
корень в ro должен быть примонтирован полюбому - откуда-то fsck запустить же надо =)))

Re: Автоматический запуск fsck

Добавлено: 2009-01-14 7:35:14
zg
lissyara писал(а):корень в ro должен быть примонтирован полюбому - откуда-то fsck запустить же надо =)))
потому и идут два демона, но рут монтирует ядро, а после, демон fsck проверяет в каком состоянии находится фс, и уже по результату решает чего делать дальше. Если рут будет не в удовлетворительном состоянии, то и будет вылазить сообщение о ручной проверке.
lissyara писал(а):поверь - мне искренне пофиг чё ты там нагрепал
весомый аргумент -))) и главное объективный 8)

Re: Автоматический запуск fsck

Добавлено: 2009-01-20 19:56:22
Volodymyr
А как такое лечить на удаленном сервере?

Код: Выделить всё

# fsck -y
** /dev/ad4s1a (NO WRITE)
** Last Mounted on /
** Root file system
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
189213 files, 770474 used, 242541 free (45 frags, 30312 blocks, 0.0% fragmentation)
** /dev/ad4s1d (NO WRITE)
** Last Mounted on /tmp
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
8 files, 7 used, 1013008 free (56 frags, 126619 blocks, 0.0% fragmentation)
** /dev/ad4s1f (NO WRITE)
** Last Mounted on /var
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
UNREF FILE I=824335  OWNER=root MODE=140666
SIZE=0 MTIME=Jan 16 19:37 2009
CLEAR? no

** Phase 5 - Check Cyl groups
19993 files, 55875 used, 5021204 free (460 frags, 627593 blocks, 0.0% fragmentation)
** /dev/ad4s1g (NO WRITE)
** Last Mounted on /var/db/mysql
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
2076 files, 1272355 used, 223046193 free (1705 frags, 27880561 blocks, 0.0% fragmentation)
** /dev/ad4s1e (NO WRITE)
** Last Mounted on /var/tmp
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
3 files, 3 used, 1013012 free (28 frags, 126623 blocks, 0.0% fragmentation)

Re: Автоматический запуск fsck

Добавлено: 2009-01-21 8:57:41
vintovkin
ещё лучше отключить background_fsck
kak?

Re: Автоматический запуск fsck

Добавлено: 2009-01-21 10:09:45
weec
на мой взгляд стоит обратить внимание на принудительную проверку дисков

для принудительной проверки при загрузке системы

Код: Выделить всё

# echo '/sbin/fsck -y -f' >> /etc/rc.early
аналог в Linux

Код: Выделить всё

# touch /forcefsck

Re: Автоматический запуск fsck

Добавлено: 2009-01-21 10:40:08
vintovkin
weec писал(а):на мой взгляд стоит обратить внимание на принудительную проверку дисков

для принудительной проверки при загрузке системы

Код: Выделить всё

# echo '/sbin/fsck -y -f' >> /etc/rc.early
аналог в Linux

Код: Выделить всё

# touch /forcefsck
в рц.конф нельзя это нацарапать?

Re: Автоматический запуск fsck

Добавлено: 2009-01-21 10:40:44
zg

Код: Выделить всё

     The rc.early script is run very early in the startup process, immediately
     before the file system check.  The rc.early script is deprecated.  Any
     commands in this file should be separated out into rc.d/ style scripts
     and integrated into the rc system.
жесть -))))

Re: Автоматический запуск fsck

Добавлено: 2009-01-21 13:01:46
tetsio

Код: Выделить всё

fsck_y_enable="YES"
background_fsck="NO"
grep fsck /etc/defaults/rc.conf

Re: Автоматический запуск fsck

Добавлено: 2009-01-21 21:45:22
weec
tetsio, похоже это Ваш ответ на удаленное сообщение.
предоставленные Вами опции нужны для проверки FAILED дисков

Re: Автоматический запуск fsck

Добавлено: 2009-01-21 22:04:53
vintovkin
weec писал(а):tetsio, похоже это Ваш ответ на удаленное сообщение.
предоставленные Вами опции нужны для проверки FAILED дисков
ось медленей грузизо с этими параметрами?
мне показалось что да 5-6 сек.
или проглючило??

Re: Автоматический запуск fsck

Добавлено: 2009-01-22 11:26:56
tetsio
weec писал(а):tetsio, похоже это Ваш ответ на удаленное сообщение.
предоставленные Вами опции нужны для проверки FAILED дисков
Сорри, незацитатил. Это был ответ на вопрос
vintovkin писал(а):
ещё лучше отключить background_fsck
kak?
background_fsck - эта директива указывает, запускать fsck в фоновом режиме(если это возможно), или нет.
большой связи с FAILED дисками как то не вижу. и вообще на сервере fsck в фоновом режиме - это не есть гут. Ведь когда работает fsck, параллельно с ним работает и все серверное ПО, т.е. с диска читается,пишется и чего только не творится. Есть ненулевая вероятность того, что этим будет сделано еще хуже.

и собственно мой вопрос(для себя): зачем принудительно запускать fsck, даже если ФС помечена как CLEAN?

Re: Автоматический запуск fsck

Добавлено: 2009-12-02 23:58:24
Jesus
Приветствую!!!
Так как проблема очень схожа, решил новый топик не создавать.
Есть сервер, к нему естественно подключен упс, но последнее время начали часто отрубать свет на долго и следовательно он тухнет.
при включении он запускаеться аля в безопасном режиме и настойчиво требует запуск fsck.
можно ли как то сделать так. чтобы при таком запуске автоматом запускался шел(пусть будет по умолчанию /bin/sh) ну и fsck -y а после всего этого reboot. вобщем где то так..

Re: Автоматический запуск fsck

Добавлено: 2009-12-03 8:32:02
manefesto
tetsio писал(а):

Код: Выделить всё

fsck_y_enable="YES"
background_fsck="NO"
grep fsck /etc/defaults/rc.conf

Re: Автоматический запуск fsck

Добавлено: 2009-12-03 12:24:57
Jesus
спасибо... попробуем.. )))

Re: Автоматический запуск fsck

Добавлено: 2009-12-03 13:52:01
RusBiT
manefesto писал(а):
tetsio писал(а):

Код: Выделить всё

fsck_y_enable="YES"
background_fsck="NO"
grep fsck /etc/defaults/rc.conf
забыл отписаться. узаю уже с месяцок %) хотя проблемы решил, сетевуха комп в ребут отправляла.

Re: Автоматический запуск fsck

Добавлено: 2011-01-22 14:06:17
Bayerische
Читал, читал, так и не понял, как правильно.
Подскажите начинающему, как правильно проверять диски? Последовательность на живой системе.
Ситуация незагрузки после переноса системы с виртуалки была, разрулил с божьей помощью.