Reference

geom(8)

universal control utility for GEOM classes

NAME

geom – universal control utility for GEOM classes

SYNOPSIS

geom class help

geom [--libxo] class list [-a] [name ...]

geom [--libxo] class status [-ags] [name ...]

geom class load [-v]

geom class unload [-v]

geom [--libxo] -p provider-name

geom -t

DESCRIPTION

The geom utility is used to control various GEOM classes. A class has to be aware of geom communication methods, but there are also some standard commands which can be used for existing geom unaware classes. Here is the list of standard commands:

help

List all available commands for the given class.

list

Print detailed information (within the given class) about all geoms (if no additional arguments were specified) or the given geoms. This command is only available if the given class exists in the kernel. Additional options include:

-a

Print information for geoms without providers.

status

Print general information (within the given class) about all geoms (if no additional arguments were specified) or the given geoms. This command is only available if the given class exists in the kernel.

Additional options include:

-a

When used with -g, print status for geoms without providers.

-g

Report statuses for geoms instead of providers.

-s

Produce script-friendly output.

load

Load the kernel module that implements the given class. This command is only available if the class does not yet exist in the kernel and the file geom_⟨class⟩.ko can be found in one of the directories specified in kern.module_path sysctl.

unload

Unload the kernel module which implements the given class. This command is only available if the given class is loaded as a kernel module.

Additional options include:

-p provider-name

Print detailed information about the geom which provides provider-name.

-t

Display geoms hierarchy as a tree.

--libxo

Generate output via libxo(3) in a selection of different human and machine readable formats. See xo_options(7) for details on command line arguments.

Class-specific commands are implemented as shared libraries which are stored in /lib/geom/ directory and are loaded via dlopen(3) function when the class name is known. When a class-specific shared library exists, a direct utility should also be available under the name of gclass.

Currently, classes aware of geom are:

• CACHE• MIRROR• SCHED
• CONCAT• MOUNTVER• SHSEC
• DISK• MULTIPATH• STRIPE
• ELI• NOP• UNION
• JOURNAL• PART• VFS
• LABEL• RAID• VIRSTOR
• MD• RAID3• ZONED

ENVIRONMENT

The following environment variables affect the execution of geom:

GEOM_LIBRARY_PATH

Specifies the path where shared libraries are stored instead of /lib/geom/. Multiple paths can be specified with a colon-separated list of paths.

EXIT STATUS

Exit status is 0 on success, and 1 if the command fails.

EXAMPLES

The following example shows how to set up a stripe on three disks for automatic configuration:

geom stripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2

or:

gstripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2

Print the list of all providers from the DISK class:

geom disk list

Unload a kernel module which implements the MD class:

geom md unload

SEE ALSO

libgeom(3), geom(4), xo_options(7), gcache(8), gconcat(8), geli(8), gjournal(8), glabel(8), gmirror(8), gmountver(8), gmultipath(8), gnop(8), gpart(8), graid3(8), gshsec(8), gstripe(8), gunion(8), gvirstor(8), gzoned(8)

HISTORY

The geom utility appeared in FreeBSD 5.3.

AUTHORS

Pawel Jakub Dawidek ⟨[email protected]⟩

History

--libxo since FreeBSD 15.1-RELEASE; -a since FreeBSD 8.3-RELEASE; -g since FreeBSD 8.3-RELEASE; -p since FreeBSD 12.0-RELEASE; -s since FreeBSD 5.4-RELEASE; -t since FreeBSD 12.0-RELEASE.