GEOM(8)

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 -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

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)

HISTORY
The geom utility appeared in FreeBSD 5.3.

AUTHORS
Pawel Jakub Dawidek <pjd@FreeBSD.org>