5. Устранение неполадок с журналированием

Этот раздел содержит часто задаваемые вопросы касательно неполадок, связанных с журналированием.

5.1. Я получаю паники ядра во время высокой дисковой активности. Как это связано с журналированием?
5.2. Я допустил некоторые ошибки во время конфигурирования, теперь система не загружается. Можно это как-нибудь исправить?
5.3. Возможно ли отказаться от журналирования и вернуться к моей привычной файловой системе с механизмом Soft Updates?

5.1. Я получаю паники ядра во время высокой дисковой активности. Как это связано с журналированием?

Вероятно, что журнал заполняется раньше, чем происходит сброс его на диск. Помните, размер журнала зависит от загруженности диска, а не от размера поставщика данных. Если загрузка диска высокая, вам потребуется раздел большего размера для журнала. См. замечания в разделе Реализация журналирования

5.2. Я допустил некоторые ошибки во время конфигурирования, теперь система не загружается. Можно это как-нибудь исправить?

Вы либо забыли внести запись (опечатались) в /boot/loader.conf, либо есть ошибки в файле /etc/fstab. Это легко исправить. Нажмите Enter, чтобы получить приглашение командного интерпретатора в однопользовательском режиме. Потом, проверьте возможные варианты:

# cat /boot/loader.conf

Если отсутствует запись geom_journal_load, или она содержит ошибки, журналируемые устройства не создадутся. Загрузите модуль вручную, примонтируйте все разделы и переходите в многопользовательский режим (продолжайте загрузку).

# gjournal load

GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal ad0s1d clean.
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal ad0s1f clean.

# mount -a
# exit
(boot continues)

Если же запись о geom_journal_load верна, то проверьте /etc/fstab. Вероятней всего, что вы обнаружите опечатку или отсутствие необходимой записи. В этом случае смонтируйте вручную оставшиеся разделы и продолжите загрузку в многопользовательский режим.

5.3. Возможно ли отказаться от журналирования и вернуться к моей привычной файловой системе с механизмом Soft Updates?

Несомненно. Используйте приведенную ниже последовательность действий, которая обращает изменения. Разделы, созданные для поставщиков журналов, могут позже быть использованы для других целей.

Залогиньтесь root и переведите систему в однопользовательский режим:

# shutdown now

Размонтируйте журналируемые разделы:

# umount /usr /var

Синхронизируйте журналы:

# gjournal sync

Остановите поставщиков журналов:

# gjournal stop ad0s1d.journal
# gjournal stop ad0s1f.journal

Удалите метаданные журналирования со всех задействованных устройств:

# gjournal clear ad0s1d
# gjournal clear ad0s1f
# gjournal clear ad0s1g
# gjournal clear ad0s1h

Снимите флаг журналирования и установите флаг механизма Soft Updates:

# tunefs -J disable -n enable ad0s1d

tunefs: gjournal cleared
tunefs: soft updates set

# tunefs -J disable -n enable ad0s1f

tunefs: gjournal cleared
tunefs: soft updates set

Смонтируйте вручную старые (первоначальные) устройства:

# mount -o rw /dev/ad0s1d /var
# mount -o rw /dev/ad0s1f /usr

Откройте файл /etc/fstab и приведите его к изначальному виду:

/dev/ad0s1f     /usr            ufs     rw      2       2
/dev/ad0s1d     /var            ufs     rw      2       2

И напоследок, удалите строку, загружающую модуль geom_journal, из файла /boot/loader.conf и перезагрузите операционную систему.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.