FreeBSD Manual Pages
GJOURNAL(8) BSD System Manager's Manual GJOURNAL(8) NAME gjournal -- control utility for journaled devices SYNOPSIS gjournal label [-cfhv] [-s jsize] dataprov [jprov] gjournal stop [-fv] name ... gjournal sync [-v] gjournal clear [-v] prov ... gjournal dump prov ... gjournal list gjournal status gjournal load gjournal unload DESCRIPTION The gjournal utility is used for journal configuration on the given GEOM provider. The Journal and data may be stored on the same provider or on two separate providers. This is block level journaling, not file system level journaling, which means everything gets logged, e.g. for file sys- tems, it journals both data and metadata. The gjournal GEOM class can talk to file systems, which allows the use of gjournal for file system journaling and to keep file systems in a consistent state. At this time, only UFS file system is supported. To configure journaling on the UFS file system using gjournal, one should first create a gjournal provider using the gjournal utility, then run newfs(8) or tunefs(8) on it with the -J flag which instructs UFS to coop- erate with the gjournal provider below. There are important differences in how journaled UFS works. The most important one is that sync(2) and fsync(2) system calls do not work as expected anymore. To ensure that data is stored on the data provider, the gjournal sync command should be used after calling sync(2). For the best performance possible, soft-up- dates should be disabled when gjournal is used. It is also safe and rec- ommended to use the async mount(8) option. When gjournal is configured on top of gmirror(8) or graid3(8) providers, it also keeps them in a consistent state, thus automatic synchronization on power failure or system crash may be disabled on those providers. The gjournal utility uses on-disk metadata, stored in the provider's last sector, to store all needed information. This could be a problem when an existing file system is converted to use gjournal. The first argument to gjournal indicates an action to be performed: label Configures gjournal on the given provider(s). If only one provider is given, both data and journal are stored on the same provider. If two providers are given, the first one will be used as data provider and the second will be used as the journal provider. Additional options include: -c Checksum journal records. -f May be used to convert an existing file system to use gjournal, but only if the journal will be configured on a separate provider and if the last sector in the data provider is not used by the existing file system. If gjournal detects that the last sector is used, it will refuse to overwrite it and return an error. This be- havior may be forced by using the -f flag, which will force gjournal to overwrite the last sector. -h Hardcode provider names in metadata. -s jsize Specifies size of the journal if only one provider is used for both data and journal. The default is one gi- gabyte. Size should be chosen based on provider's load, and not on its size. It is not recommended to use gjournal for small file systems (e.g.: only few gi- gabytes big). clear Clear metadata on the given providers. stop Stop the given provider. Additional options include: -f Stop the given provider even if it is opened. sync Trigger journal switch and enforce sending data to the data provider. dump Dump metadata stored on the given providers. list See geom(8). status See geom(8). load See geom(8). unload See geom(8). Additional options include: -v Be more verbose. EXIT STATUS Exit status is 0 on success, and 1 if the command fails. EXAMPLES Create a gjournal based UFS file system and mount it: gjournal load gjournal label da0 newfs -J /dev/da0.journal mount -o async /dev/da0.journal /mnt Configure journaling on an existing file system, but only if gjournal al- lows this (i.e., if the last sector is not already used by the file sys- tem): umount /dev/da0s1d gjournal label da0s1d da0s1e && \ tunefs -J enable -n disable && \ mount -o async /dev/da0s1d.journal /mnt || \ mount /dev/da0s1d /mnt SEE ALSO geom(4), geom(8), mount(8), newfs(8), tunefs(8), umount(8) HISTORY The gjournal utility appeared in FreeBSD 7.0. AUTHORS Pawel Jakub Dawidek <pjd@FreeBSD.org> BUGS Documentation for sysctls kern.geom.journal.* is missing. BSD November 14, 2007 BSD
NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | EXAMPLES | SEE ALSO | HISTORY | AUTHORS | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gjournal&sektion=8&manpath=FreeBSD+7.0-RELEASE>