xref: /freebsd/sbin/geom/core/geom.8 (revision ccc0c8978cf2ff09b91ee3231ba3844d3a9fa024)
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.\"
273e64260dSPawel Jakub Dawidek.Dd May 21, 2004
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
363e64260dSPawel Jakub Dawidek.Ar command
373e64260dSPawel Jakub Dawidek.Op Ar options
383e64260dSPawel Jakub Dawidek.Sh DESCRIPTION
393e64260dSPawel Jakub DawidekThe
403e64260dSPawel Jakub Dawidek.Nm
413e64260dSPawel Jakub Dawidekutility is used to control various GEOM classes.
423e64260dSPawel Jakub DawidekA class has to be aware of
433e64260dSPawel Jakub Dawidek.Xr geom 8
443e64260dSPawel Jakub Dawidekcomunication methods, but there are also some standard commands
45d608b5abSCeri Davieswhich can be used for existing
463e64260dSPawel Jakub Dawidek.Xr geom 8
47d608b5abSCeri Daviesunaware classes.
483e64260dSPawel Jakub DawidekHere is the list of standard commands:
4985e9dc7dSPawel Jakub Dawidek.Bl -tag -width ".Cm status"
503e64260dSPawel Jakub Dawidek.It Cm help
513e64260dSPawel Jakub DawidekList all available commands for the given class.
523e64260dSPawel Jakub Dawidek.It Cm list
531d723f1dSPawel Jakub DawidekPrint detailed information (within the given class) about all geoms
541d723f1dSPawel Jakub Dawidek(if no additional arguments were specified) or the given geoms.
553e64260dSPawel Jakub DawidekThis command is only available if the given class exists in the kernel.
5685e9dc7dSPawel Jakub Dawidek.It Cm status
5785e9dc7dSPawel Jakub DawidekPrint general information (within the given class) about all geoms
5885e9dc7dSPawel Jakub Dawidek(if no additional arguments were specified) or the given geoms.
5985e9dc7dSPawel Jakub DawidekThis command is only available if the given class exists in the kernel.
60ccc0c897SPawel Jakub Dawidek.Pp
61ccc0c897SPawel Jakub DawidekAdditional options include:
62ccc0c897SPawel Jakub Dawidek.Bl -tag -width ".Fl s"
63ccc0c897SPawel Jakub Dawidek.It Fl s
64ccc0c897SPawel Jakub DawidekProduce script-friendly output.
65ccc0c897SPawel Jakub Dawidek.El
663e64260dSPawel Jakub Dawidek.It Cm load
673e64260dSPawel Jakub DawidekLoad the kernel module that implements the given class.
680e252c9aSRuslan ErmilovThis command is only available if the class does not yet exist in the kernel and
693e64260dSPawel Jakub Dawidekthe file
700e252c9aSRuslan Ermilov.Pa geom_ Ns Ao Ar class Ac Ns Pa .ko
713e64260dSPawel Jakub Dawidekcan be found in one of the directories specifed in
723e64260dSPawel Jakub Dawidek.Va kern.module_path
733e64260dSPawel Jakub Dawideksysctl.
743e64260dSPawel Jakub Dawidek.It Cm unload
753e64260dSPawel Jakub DawidekUnload the kernel module which implements the given class.
763e64260dSPawel Jakub DawidekThis command is only available if the given class is loaded as a
773e64260dSPawel Jakub Dawidekkernel module.
783e64260dSPawel Jakub Dawidek.El
793e64260dSPawel Jakub Dawidek.Pp
803e64260dSPawel Jakub DawidekClass-specific commands are implemented as shared libraries which
813e64260dSPawel Jakub Dawidekare stored in
823e64260dSPawel Jakub Dawidek.Pa /lib/geom/
833e64260dSPawel Jakub Dawidekdirectory and are loaded via
843e64260dSPawel Jakub Dawidek.Xr dlopen 3
853e64260dSPawel Jakub Dawidekfunction when the class name is known.
863e64260dSPawel Jakub DawidekWhen a class-specific shared library exists, a direct utility should also be
873e64260dSPawel Jakub Dawidekavailable under the name of
880e252c9aSRuslan Ermilov.Nm g Ns Ar class .
893e64260dSPawel Jakub Dawidek.Pp
903e64260dSPawel Jakub DawidekCurrently available classes which are aware of
913e64260dSPawel Jakub Dawidek.Xr geom 8 :
920e252c9aSRuslan Ermilov.Pp
933e64260dSPawel Jakub Dawidek.Bl -bullet -offset indent -compact
943e64260dSPawel Jakub Dawidek.It
953e64260dSPawel Jakub DawidekCONCAT
963e64260dSPawel Jakub Dawidek.It
97b3530b8eSPawel Jakub DawidekLABEL
98b3530b8eSPawel Jakub Dawidek.It
99b3530b8eSPawel Jakub DawidekMIRROR
100b3530b8eSPawel Jakub Dawidek.It
1013e64260dSPawel Jakub DawidekNOP
1023e64260dSPawel Jakub Dawidek.It
103b3530b8eSPawel Jakub DawidekRAID3
104b3530b8eSPawel Jakub Dawidek.It
105f7118698SPawel Jakub DawidekSHSEC
106f7118698SPawel Jakub Dawidek.It
1073e64260dSPawel Jakub DawidekSTRIPE
1083e64260dSPawel Jakub Dawidek.El
1093bad06e9SPawel Jakub Dawidek.Sh ENVIRONMENT
1103bad06e9SPawel Jakub DawidekThe following environment variables affect the execution of
1113bad06e9SPawel Jakub Dawidek.Nm :
1123bad06e9SPawel Jakub Dawidek.Bl -tag -width ".Ev GEOM_LIBRARY_PATH"
1133bad06e9SPawel Jakub Dawidek.It Ev GEOM_LIBRARY_PATH
1143bad06e9SPawel Jakub DawidekSpecifies the path where shared libraries are stored instead of
1153bad06e9SPawel Jakub Dawidek.Pa /lib/geom/ .
1163bad06e9SPawel Jakub Dawidek.El
1176087df9eSRuslan Ermilov.Sh EXIT STATUS
1186087df9eSRuslan ErmilovExit status is 0 on success, and 1 if the command fails.
1193e64260dSPawel Jakub Dawidek.Sh EXAMPLES
1203e64260dSPawel Jakub DawidekThe following example shows how to set up a stripe on three disks for automatic
1213e64260dSPawel Jakub Dawidekconfiguration:
1223e64260dSPawel Jakub Dawidek.Bd -literal -offset indent
1233e64260dSPawel Jakub Dawidekgeom stripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2
1243e64260dSPawel Jakub Dawidekor:
1253e64260dSPawel Jakub Dawidekgstripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2
1263e64260dSPawel Jakub Dawidek.Ed
1273e64260dSPawel Jakub Dawidek.Pp
1283e64260dSPawel Jakub DawidekPrint the list of all providers from the DISK class:
1293e64260dSPawel Jakub Dawidek.Bd -literal -offset indent
1303e64260dSPawel Jakub Dawidekgeom disk list
1313e64260dSPawel Jakub Dawidek.Ed
1323e64260dSPawel Jakub Dawidek.Pp
1333e64260dSPawel Jakub DawidekUnload a kernel module which implements the MD class:
1343e64260dSPawel Jakub Dawidek.Bd -literal -offset indent
1353e64260dSPawel Jakub Dawidekgeom md unload
1363e64260dSPawel Jakub Dawidek.Ed
1373e64260dSPawel Jakub Dawidek.Sh SEE ALSO
1383e64260dSPawel Jakub Dawidek.Xr geom 4 ,
1393e64260dSPawel Jakub Dawidek.Xr gconcat 8 ,
140b03d3309SPawel Jakub Dawidek.Xr glabel 8 ,
1410fe2ba03SPawel Jakub Dawidek.Xr gmirror 8 ,
1423e64260dSPawel Jakub Dawidek.Xr gnop 8 ,
143925fa96bSPawel Jakub Dawidek.Xr graid3 8 ,
1444a06539fSPawel Jakub Dawidek.Xr gshsec 8 ,
1453e64260dSPawel Jakub Dawidek.Xr gstripe 8
1463e64260dSPawel Jakub Dawidek.Sh HISTORY
1473e64260dSPawel Jakub DawidekThe
1483e64260dSPawel Jakub Dawidek.Nm
1493e64260dSPawel Jakub Dawidekutility appeared in
1503e64260dSPawel Jakub Dawidek.Fx 5.3 .
1513e64260dSPawel Jakub Dawidek.Sh AUTHORS
1523e64260dSPawel Jakub Dawidek.An Pawel Jakub Dawidek Aq pjd@FreeBSD.org
153