Bsdadmin.ru

Записки администратора FreeBSD

gjournal - программа управления журналируемыми устройствами

НАЗВАНИЕ

     gjournal - программа управления журналируемыми устройствами

    СИНТАКСИС
     gjournal label [-cfhv] [-s размер_журнала] поставщик_данных
              [поставщик_журнала]
     gjournal stop [-fv] имя ...
     gjournal sync [-v]
     gjournal clear [-v] поставщик ...
     gjournal dump поставщик ...
     gjournal list
     gjournal status
     gjournal load
     gjournal unload

    ОПИСАНИЕ

     Утилита gjournal используется для конфигурации журнала на заданном
     поставщике GEOM.  Журнал и данные могут храниться как на одном постав-
     щике, так и на двух разных.  Журналирование осуществляется на уровне бло-
     ков, а не файловой системы.  Это значит, что протоколируется абсолютно
     всё, например, для файловых систем gjournal журналирует и данные, и мета-
     данные.  GEOM-класс gjournal способен взаимодействовать с файловыми
     системами, что позволяет использовать gjournal для журналирования файло-
     вых систем и поддержания их в целостном состоянии.  В настоящий момент
     поддерживается только файловая система UFS.

      Чтобы сконфигурировать журналирование на файловой системе UFS посредством
     gjournal, необходимо вначале создать GEOM-поставщика gjournal, используя
     утилиту gjournal, а затем запустить newfs(8) или tunefs(8) с ключом -J,
     который заставляет UFS взаимодействовать с GEOM-поставщиком gjournal.
     Существуют важные отличия в работе UFS с журналом и без него.  Наиболее
     существенно то, что системные вызовы sync(2) и fsync(2) работают не так,
     как ожидается.  Чтобы гарантировать, что данные были сохранены на постав-
     щике данных, после системного вызова sync(2) должна быть вызвана команда
     gjournal sync.  Для оптимизации производительности при использовании
     gjournal следует отключать soft-updates.  Также безопасна и рекомендуется
     к использованию опция async команды mount(8).

     Когда gjournal сконфигурирован поверх поставщиков gmirror(8) или
     graid3(8), они также поддерживаются в целостном состоянии, поэтому авто-
     матическая синхронизация после сбоя питания или отказов системы может
     быть на этих поставщиках отключена.

     Утилита gjournal хранит всю необходимую информацию в метаданных на диске,
     в последнем секторе поставщика.  Это может стать проблемой при преобразо-
     вании существующей файловой системы для использования с gjournal.

     Первый аргумент gjournal указывает действие, которое будет выполнено:

      label    Конфигурирует gjournal на указанном поставщике (поставщиках).
             Если указан только один поставщик, данные будут храниться на
             одном поставщике вместе с журналом.  Если указаны два поставщика,
             первый будет использован для данных, а второй -- для журнала.

             Дополнительные опции:

             -c      Защищать записи журнала контрольной суммой.

             -f      Может быть использована для преобразования существующей
                     файловой системы для использования с gjournal, но только
                     в том случае, если журнал будет сконфигурирован на
                     отдельном поставщике, и последний сектор поставщика дан-
                     ных не используется файловой системой.  Если утилита
                     gjournal обнаружит, что последний сектор занят, она отка-
                     жется от записи в него данных и вернёт ошибку.  Подобное
                     поведение можно обойти, используя флаг -f, который заста-
                     вит gjournal перезаписать последний сектор.

             -h      Зафиксировать имена поставщиков в метаданных.

             -s размер_журнала
                     Задаёт размер журнала в случае, если один и тот же
                     поставщик используется для хранения как данных, так и
                     журнала.  По умолчанию один гигабайт.  Размер должен
                     выбираться исходя из загруженности поставщика, а не его
                     размера.  Не рекомендуется использовать gjournal для
                     небольших файловых систем (например, размером всего в
                     несколько гигабайт).

     clear    Очищает метаданные на указанных поставщиках.

     stop     Останавливает указанного поставщика.

             Дополнительные опции:

             -f  Останавливает данного поставщика, даже если он открыт.

     sync     Вызывает переключение журнала и принудительную отправку данных к
             поставщику данных.

     dump     Выводит метаданные, хранящиеся на указанных поставщиках.

     list     Смотрите geom(8).

     status  Смотрите geom(8).

     load     Смотрите geom(8).

     unload   Смотрите geom(8).

     Дополнительные опции:

     -v  Более подробный вывод.

СТАТУС ЗАВЕРШЕНИЯ
     Утилита gjournal возвращает 0 в случае успешного завершения и 1 в случае
     возникновения ошибки.

ПРИМЕРЫ
     Создать основанную на gjournal файловую систему UFS и смонтировать её:

           gjournal load
           gjournal label da0
           newfs -J /dev/da0.journal
           mount -o async /dev/da0.journal /mnt

     Сконфигурировать журналирование на существующей файловой системе, но
     только если это позволяет gjournal, т.е. если последний сектор ещё не
     использован файловой системой:

           umount /dev/da0s1d
           gjournal label da0s1d da0s1e && \
               tunefs -J enable -n disable && \
               mount -o async /dev/da0s1d.journal /mnt || \
               mount /dev/da0s1d /mnt

СМОТРИ ТАКЖЕ
     geom(4), geom(8), mount(8), newfs(8), tunefs(8), umount(8)

ИСТОРИЯ
     Утилита gjournal появилась во FreeBSD 7.0.

ПРОБЛЕМЫ
     Отсутствует документация к sysctl kern.geom.journal.*.

Домашняя Mans FreeBSD по-русски gjournal - программа управления журналируемыми устройствами