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 и перезагрузите операционную систему.

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

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.

По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.