xref: /freebsd/sbin/geom/core/geom.8 (revision a7c13ccc014c5ac69dff8a2455d2afb4430b8102)
185e9dc7dSPawel Jakub Dawidek.\" Copyright (c) 2004-2005 Pawel Jakub Dawidek <pjd@FreeBSD.org>
23e64260dSPawel Jakub Dawidek.\" All rights reserved.
33e64260dSPawel Jakub Dawidek.\"
43e64260dSPawel Jakub Dawidek.\" Redistribution and use in source and binary forms, with or without
53e64260dSPawel Jakub Dawidek.\" modification, are permitted provided that the following conditions
63e64260dSPawel Jakub Dawidek.\" are met:
73e64260dSPawel Jakub Dawidek.\" 1. Redistributions of source code must retain the above copyright
83e64260dSPawel Jakub Dawidek.\"    notice, this list of conditions and the following disclaimer.
93e64260dSPawel Jakub Dawidek.\" 2. Redistributions in binary form must reproduce the above copyright
103e64260dSPawel Jakub Dawidek.\"    notice, this list of conditions and the following disclaimer in the
113e64260dSPawel Jakub Dawidek.\"    documentation and/or other materials provided with the distribution.
123e64260dSPawel Jakub Dawidek.\"
133e64260dSPawel Jakub Dawidek.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
143e64260dSPawel Jakub Dawidek.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
153e64260dSPawel Jakub Dawidek.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
163e64260dSPawel Jakub Dawidek.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
173e64260dSPawel Jakub Dawidek.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
183e64260dSPawel Jakub Dawidek.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
193e64260dSPawel Jakub Dawidek.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
203e64260dSPawel Jakub Dawidek.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
213e64260dSPawel Jakub Dawidek.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
223e64260dSPawel Jakub Dawidek.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
233e64260dSPawel Jakub Dawidek.\" SUCH DAMAGE.
243e64260dSPawel Jakub Dawidek.\"
253e64260dSPawel Jakub Dawidek.\" $FreeBSD$
263e64260dSPawel Jakub Dawidek.\"
27081632cfSPawel Jakub Dawidek.Dd March 5, 2008
283e64260dSPawel Jakub Dawidek.Dt GEOM 8
293e64260dSPawel Jakub Dawidek.Os
303e64260dSPawel Jakub Dawidek.Sh NAME
313e64260dSPawel Jakub Dawidek.Nm geom
323e64260dSPawel Jakub Dawidek.Nd "universal control utility for GEOM classes"
333e64260dSPawel Jakub Dawidek.Sh SYNOPSIS
343e64260dSPawel Jakub Dawidek.Nm
353e64260dSPawel Jakub Dawidek.Ar class
36adc8d20dSPawel Jakub Dawidek.Cm help
37adc8d20dSPawel Jakub Dawidek.Nm
38adc8d20dSPawel Jakub Dawidek.Ar class
39adc8d20dSPawel Jakub Dawidek.Cm list
40adc8d20dSPawel Jakub Dawidek.Op Ar name ...
41adc8d20dSPawel Jakub Dawidek.Nm
42adc8d20dSPawel Jakub Dawidek.Ar class
43adc8d20dSPawel Jakub Dawidek.Cm status
44adc8d20dSPawel Jakub Dawidek.Op Fl s
45adc8d20dSPawel Jakub Dawidek.Op Ar name ...
46adc8d20dSPawel Jakub Dawidek.Nm
47adc8d20dSPawel Jakub Dawidek.Ar class
48adc8d20dSPawel Jakub Dawidek.Cm load
49adc8d20dSPawel Jakub Dawidek.Op Fl v
50adc8d20dSPawel Jakub Dawidek.Nm
51adc8d20dSPawel Jakub Dawidek.Ar class
52adc8d20dSPawel Jakub Dawidek.Cm unload
53adc8d20dSPawel Jakub Dawidek.Op Fl v
543e64260dSPawel Jakub Dawidek.Sh DESCRIPTION
553e64260dSPawel Jakub DawidekThe
563e64260dSPawel Jakub Dawidek.Nm
573e64260dSPawel Jakub Dawidekutility is used to control various GEOM classes.
583e64260dSPawel Jakub DawidekA class has to be aware of
593e64260dSPawel Jakub Dawidek.Xr geom 8
603e64260dSPawel Jakub Dawidekcomunication methods, but there are also some standard commands
61d608b5abSCeri Davieswhich can be used for existing
623e64260dSPawel Jakub Dawidek.Xr geom 8
63d608b5abSCeri Daviesunaware classes.
643e64260dSPawel Jakub DawidekHere is the list of standard commands:
6585e9dc7dSPawel Jakub Dawidek.Bl -tag -width ".Cm status"
663e64260dSPawel Jakub Dawidek.It Cm help
673e64260dSPawel Jakub DawidekList all available commands for the given class.
683e64260dSPawel Jakub Dawidek.It Cm list
691d723f1dSPawel Jakub DawidekPrint detailed information (within the given class) about all geoms
701d723f1dSPawel Jakub Dawidek(if no additional arguments were specified) or the given geoms.
713e64260dSPawel Jakub DawidekThis command is only available if the given class exists in the kernel.
7285e9dc7dSPawel Jakub Dawidek.It Cm status
7385e9dc7dSPawel Jakub DawidekPrint general information (within the given class) about all geoms
7485e9dc7dSPawel Jakub Dawidek(if no additional arguments were specified) or the given geoms.
7585e9dc7dSPawel Jakub DawidekThis command is only available if the given class exists in the kernel.
76ccc0c897SPawel Jakub Dawidek.Pp
77ccc0c897SPawel Jakub DawidekAdditional options include:
78ccc0c897SPawel Jakub Dawidek.Bl -tag -width ".Fl s"
79ccc0c897SPawel Jakub Dawidek.It Fl s
80ccc0c897SPawel Jakub DawidekProduce script-friendly output.
81ccc0c897SPawel Jakub Dawidek.El
823e64260dSPawel Jakub Dawidek.It Cm load
833e64260dSPawel Jakub DawidekLoad the kernel module that implements the given class.
840e252c9aSRuslan ErmilovThis command is only available if the class does not yet exist in the kernel and
853e64260dSPawel Jakub Dawidekthe file
860e252c9aSRuslan Ermilov.Pa geom_ Ns Ao Ar class Ac Ns Pa .ko
873e64260dSPawel Jakub Dawidekcan be found in one of the directories specifed in
883e64260dSPawel Jakub Dawidek.Va kern.module_path
893e64260dSPawel Jakub Dawideksysctl.
903e64260dSPawel Jakub Dawidek.It Cm unload
913e64260dSPawel Jakub DawidekUnload the kernel module which implements the given class.
923e64260dSPawel Jakub DawidekThis command is only available if the given class is loaded as a
933e64260dSPawel Jakub Dawidekkernel module.
943e64260dSPawel Jakub Dawidek.El
953e64260dSPawel Jakub Dawidek.Pp
963e64260dSPawel Jakub DawidekClass-specific commands are implemented as shared libraries which
973e64260dSPawel Jakub Dawidekare stored in
983e64260dSPawel Jakub Dawidek.Pa /lib/geom/
993e64260dSPawel Jakub Dawidekdirectory and are loaded via
1003e64260dSPawel Jakub Dawidek.Xr dlopen 3
1013e64260dSPawel Jakub Dawidekfunction when the class name is known.
1023e64260dSPawel Jakub DawidekWhen a class-specific shared library exists, a direct utility should also be
1033e64260dSPawel Jakub Dawidekavailable under the name of
1040e252c9aSRuslan Ermilov.Nm g Ns Ar class .
1053e64260dSPawel Jakub Dawidek.Pp
1063e64260dSPawel Jakub DawidekCurrently available classes which are aware of
1073e64260dSPawel Jakub Dawidek.Xr geom 8 :
1080e252c9aSRuslan Ermilov.Pp
1093e64260dSPawel Jakub Dawidek.Bl -bullet -offset indent -compact
1103e64260dSPawel Jakub Dawidek.It
111081632cfSPawel Jakub DawidekCACHE
112081632cfSPawel Jakub Dawidek.It
1133e64260dSPawel Jakub DawidekCONCAT
1143e64260dSPawel Jakub Dawidek.It
115343c20a8SPawel Jakub DawidekELI
116343c20a8SPawel Jakub Dawidek.It
117081632cfSPawel Jakub DawidekJOURNAL
118081632cfSPawel Jakub Dawidek.It
119b3530b8eSPawel Jakub DawidekLABEL
120b3530b8eSPawel Jakub Dawidek.It
121b3530b8eSPawel Jakub DawidekMIRROR
122b3530b8eSPawel Jakub Dawidek.It
123081632cfSPawel Jakub DawidekMULTIPATH
124081632cfSPawel Jakub Dawidek.It
1253e64260dSPawel Jakub DawidekNOP
1263e64260dSPawel Jakub Dawidek.It
127081632cfSPawel Jakub DawidekPART
128081632cfSPawel Jakub Dawidek.It
129b3530b8eSPawel Jakub DawidekRAID3
130b3530b8eSPawel Jakub Dawidek.It
131f7118698SPawel Jakub DawidekSHSEC
132f7118698SPawel Jakub Dawidek.It
1333e64260dSPawel Jakub DawidekSTRIPE
134f854db0bSPawel Jakub Dawidek.It
135f854db0bSPawel Jakub DawidekVIRSTOR
1363e64260dSPawel Jakub Dawidek.El
1373bad06e9SPawel Jakub Dawidek.Sh ENVIRONMENT
1383bad06e9SPawel Jakub DawidekThe following environment variables affect the execution of
1393bad06e9SPawel Jakub Dawidek.Nm :
1403bad06e9SPawel Jakub Dawidek.Bl -tag -width ".Ev GEOM_LIBRARY_PATH"
1413bad06e9SPawel Jakub Dawidek.It Ev GEOM_LIBRARY_PATH
1423bad06e9SPawel Jakub DawidekSpecifies the path where shared libraries are stored instead of
1433bad06e9SPawel Jakub Dawidek.Pa /lib/geom/ .
1449d193848SUlf LilleengenMultiple paths can be specified with a colon-separated list of paths.
1453bad06e9SPawel Jakub Dawidek.El
1466087df9eSRuslan Ermilov.Sh EXIT STATUS
1476087df9eSRuslan ErmilovExit status is 0 on success, and 1 if the command fails.
1483e64260dSPawel Jakub Dawidek.Sh EXAMPLES
1493e64260dSPawel Jakub DawidekThe following example shows how to set up a stripe on three disks for automatic
1503e64260dSPawel Jakub Dawidekconfiguration:
1513e64260dSPawel Jakub Dawidek.Bd -literal -offset indent
1523e64260dSPawel Jakub Dawidekgeom stripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2
1533e64260dSPawel Jakub Dawidekor:
1543e64260dSPawel Jakub Dawidekgstripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2
1553e64260dSPawel Jakub Dawidek.Ed
1563e64260dSPawel Jakub Dawidek.Pp
1573e64260dSPawel Jakub DawidekPrint the list of all providers from the DISK class:
1583e64260dSPawel Jakub Dawidek.Bd -literal -offset indent
1593e64260dSPawel Jakub Dawidekgeom disk list
1603e64260dSPawel Jakub Dawidek.Ed
1613e64260dSPawel Jakub Dawidek.Pp
1623e64260dSPawel Jakub DawidekUnload a kernel module which implements the MD class:
1633e64260dSPawel Jakub Dawidek.Bd -literal -offset indent
1643e64260dSPawel Jakub Dawidekgeom md unload
1653e64260dSPawel Jakub Dawidek.Ed
1663e64260dSPawel Jakub Dawidek.Sh SEE ALSO
167a7c13cccSEdward Tomasz Napierala.Xr libgeom 3 ,
1683e64260dSPawel Jakub Dawidek.Xr geom 4 ,
169081632cfSPawel Jakub Dawidek.\" .Xr gcache 8 ,
1703e64260dSPawel Jakub Dawidek.Xr gconcat 8 ,
171343c20a8SPawel Jakub Dawidek.Xr geli 8 ,
172081632cfSPawel Jakub Dawidek.Xr gjournal 8 ,
173b03d3309SPawel Jakub Dawidek.Xr glabel 8 ,
1740fe2ba03SPawel Jakub Dawidek.Xr gmirror 8 ,
175081632cfSPawel Jakub Dawidek.Xr gmultipath 8 ,
1763e64260dSPawel Jakub Dawidek.Xr gnop 8 ,
177081632cfSPawel Jakub Dawidek.Xr gpart 8 ,
178925fa96bSPawel Jakub Dawidek.Xr graid3 8 ,
1794a06539fSPawel Jakub Dawidek.Xr gshsec 8 ,
180f854db0bSPawel Jakub Dawidek.Xr gstripe 8 ,
181f854db0bSPawel Jakub Dawidek.Xr gvirstor 8
1823e64260dSPawel Jakub Dawidek.Sh HISTORY
1833e64260dSPawel Jakub DawidekThe
1843e64260dSPawel Jakub Dawidek.Nm
1853e64260dSPawel Jakub Dawidekutility appeared in
1863e64260dSPawel Jakub Dawidek.Fx 5.3 .
1873e64260dSPawel Jakub Dawidek.Sh AUTHORS
1883e64260dSPawel Jakub Dawidek.An Pawel Jakub Dawidek Aq pjd@FreeBSD.org
189