xref: /freebsd/sbin/geom/core/geom.8 (revision 794f5122bb0c9bad1c3dfedbf373a728b6689297)
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.\"
27*794f5122SMateusz Piotrowski.Dd May 9, 2023
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
4083d165c1SAlexander Motin.Op Fl a
41adc8d20dSPawel Jakub Dawidek.Op Ar name ...
42adc8d20dSPawel Jakub Dawidek.Nm
43adc8d20dSPawel Jakub Dawidek.Ar class
44adc8d20dSPawel Jakub Dawidek.Cm status
4583d165c1SAlexander Motin.Op Fl ags
46adc8d20dSPawel Jakub Dawidek.Op Ar name ...
47adc8d20dSPawel Jakub Dawidek.Nm
48adc8d20dSPawel Jakub Dawidek.Ar class
49adc8d20dSPawel Jakub Dawidek.Cm load
50adc8d20dSPawel Jakub Dawidek.Op Fl v
51adc8d20dSPawel Jakub Dawidek.Nm
52adc8d20dSPawel Jakub Dawidek.Ar class
53adc8d20dSPawel Jakub Dawidek.Cm unload
54adc8d20dSPawel Jakub Dawidek.Op Fl v
550f73f701SEdward Tomasz Napierala.Nm
560f73f701SEdward Tomasz Napierala.Fl p
570f73f701SEdward Tomasz Napierala.Ar provider-name
586a027382SEdward Tomasz Napierala.Nm
596a027382SEdward Tomasz Napierala.Fl t
603e64260dSPawel Jakub Dawidek.Sh DESCRIPTION
613e64260dSPawel Jakub DawidekThe
623e64260dSPawel Jakub Dawidek.Nm
633e64260dSPawel Jakub Dawidekutility is used to control various GEOM classes.
643e64260dSPawel Jakub DawidekA class has to be aware of
6594db10b2SEd Maste.Nm
66f6ac2391SJoel Dahlcommunication methods, but there are also some standard commands
67d608b5abSCeri Davieswhich can be used for existing
6894db10b2SEd Maste.Nm
69d608b5abSCeri Daviesunaware classes.
703e64260dSPawel Jakub DawidekHere is the list of standard commands:
7185e9dc7dSPawel Jakub Dawidek.Bl -tag -width ".Cm status"
723e64260dSPawel Jakub Dawidek.It Cm help
733e64260dSPawel Jakub DawidekList all available commands for the given class.
743e64260dSPawel Jakub Dawidek.It Cm list
751d723f1dSPawel Jakub DawidekPrint detailed information (within the given class) about all geoms
761d723f1dSPawel Jakub Dawidek(if no additional arguments were specified) or the given geoms.
773e64260dSPawel Jakub DawidekThis command is only available if the given class exists in the kernel.
7883d165c1SAlexander MotinAdditional options include:
7983d165c1SAlexander Motin.Bl -tag -width ".Fl a"
8083d165c1SAlexander Motin.It Fl a
8183d165c1SAlexander MotinPrint information for geoms without providers.
8283d165c1SAlexander Motin.El
8385e9dc7dSPawel Jakub Dawidek.It Cm status
8485e9dc7dSPawel Jakub DawidekPrint general information (within the given class) about all geoms
8585e9dc7dSPawel Jakub Dawidek(if no additional arguments were specified) or the given geoms.
8685e9dc7dSPawel Jakub DawidekThis command is only available if the given class exists in the kernel.
87ccc0c897SPawel Jakub Dawidek.Pp
88ccc0c897SPawel Jakub DawidekAdditional options include:
89ccc0c897SPawel Jakub Dawidek.Bl -tag -width ".Fl s"
9083d165c1SAlexander Motin.It Fl a
9183d165c1SAlexander MotinWhen used with -g, print status for geoms without providers.
9283d165c1SAlexander Motin.It Fl g
9383d165c1SAlexander MotinReport statuses for geoms instead of providers.
94ccc0c897SPawel Jakub Dawidek.It Fl s
95ccc0c897SPawel Jakub DawidekProduce script-friendly output.
96ccc0c897SPawel Jakub Dawidek.El
973e64260dSPawel Jakub Dawidek.It Cm load
983e64260dSPawel Jakub DawidekLoad the kernel module that implements the given class.
990e252c9aSRuslan ErmilovThis command is only available if the class does not yet exist in the kernel and
1003e64260dSPawel Jakub Dawidekthe file
1010e252c9aSRuslan Ermilov.Pa geom_ Ns Ao Ar class Ac Ns Pa .ko
102c2025a76SJoel Dahlcan be found in one of the directories specified in
1033e64260dSPawel Jakub Dawidek.Va kern.module_path
1043e64260dSPawel Jakub Dawideksysctl.
1053e64260dSPawel Jakub Dawidek.It Cm unload
1063e64260dSPawel Jakub DawidekUnload the kernel module which implements the given class.
1073e64260dSPawel Jakub DawidekThis command is only available if the given class is loaded as a
1083e64260dSPawel Jakub Dawidekkernel module.
1093e64260dSPawel Jakub Dawidek.El
1103e64260dSPawel Jakub Dawidek.Pp
1110f73f701SEdward Tomasz NapieralaAdditional options include:
1120f73f701SEdward Tomasz Napierala.Bl -tag -width ".Cm status"
1130f73f701SEdward Tomasz Napierala.It Fl p Ar provider-name
1140f73f701SEdward Tomasz NapieralaPrint detailed information about the geom which provides
1150f73f701SEdward Tomasz Napierala.Ar provider-name .
1166a027382SEdward Tomasz Napierala.It Fl t
1176a027382SEdward Tomasz NapieralaDisplay geoms hierarchy as a tree.
1180f73f701SEdward Tomasz Napierala.El
1190f73f701SEdward Tomasz Napierala.Pp
1203e64260dSPawel Jakub DawidekClass-specific commands are implemented as shared libraries which
1213e64260dSPawel Jakub Dawidekare stored in
1223e64260dSPawel Jakub Dawidek.Pa /lib/geom/
1233e64260dSPawel Jakub Dawidekdirectory and are loaded via
1243e64260dSPawel Jakub Dawidek.Xr dlopen 3
1253e64260dSPawel Jakub Dawidekfunction when the class name is known.
1263e64260dSPawel Jakub DawidekWhen a class-specific shared library exists, a direct utility should also be
1273e64260dSPawel Jakub Dawidekavailable under the name of
1280e252c9aSRuslan Ermilov.Nm g Ns Ar class .
1293e64260dSPawel Jakub Dawidek.Pp
130*794f5122SMateusz PiotrowskiCurrently, classes aware of
131*794f5122SMateusz Piotrowski.Nm
132*794f5122SMateusz Piotrowskiare:
1330e252c9aSRuslan Ermilov.Pp
1343e64260dSPawel Jakub Dawidek.Bl -bullet -offset indent -compact
1353e64260dSPawel Jakub Dawidek.It
136081632cfSPawel Jakub DawidekCACHE
137081632cfSPawel Jakub Dawidek.It
1383e64260dSPawel Jakub DawidekCONCAT
1393e64260dSPawel Jakub Dawidek.It
140343c20a8SPawel Jakub DawidekELI
141343c20a8SPawel Jakub Dawidek.It
142081632cfSPawel Jakub DawidekJOURNAL
143081632cfSPawel Jakub Dawidek.It
144b3530b8eSPawel Jakub DawidekLABEL
145b3530b8eSPawel Jakub Dawidek.It
146b3530b8eSPawel Jakub DawidekMIRROR
147b3530b8eSPawel Jakub Dawidek.It
14828887567SMaxim KonovalovMOUNTVER
14928887567SMaxim Konovalov.It
150081632cfSPawel Jakub DawidekMULTIPATH
151081632cfSPawel Jakub Dawidek.It
1523e64260dSPawel Jakub DawidekNOP
1533e64260dSPawel Jakub Dawidek.It
154081632cfSPawel Jakub DawidekPART
155081632cfSPawel Jakub Dawidek.It
15683d165c1SAlexander MotinRAID
15783d165c1SAlexander Motin.It
158b3530b8eSPawel Jakub DawidekRAID3
159b3530b8eSPawel Jakub Dawidek.It
16028887567SMaxim KonovalovSCHED
16128887567SMaxim Konovalov.It
162f7118698SPawel Jakub DawidekSHSEC
163f7118698SPawel Jakub Dawidek.It
1643e64260dSPawel Jakub DawidekSTRIPE
165f854db0bSPawel Jakub Dawidek.It
166c7996ddfSKirk McKusickUNION
167c7996ddfSKirk McKusick.It
168d181a912SEd MasteVINUM (deprecated)
169d181a912SEd Maste.It
170f854db0bSPawel Jakub DawidekVIRSTOR
1713e64260dSPawel Jakub Dawidek.El
1723bad06e9SPawel Jakub Dawidek.Sh ENVIRONMENT
1733bad06e9SPawel Jakub DawidekThe following environment variables affect the execution of
1743bad06e9SPawel Jakub Dawidek.Nm :
1753bad06e9SPawel Jakub Dawidek.Bl -tag -width ".Ev GEOM_LIBRARY_PATH"
1763bad06e9SPawel Jakub Dawidek.It Ev GEOM_LIBRARY_PATH
1773bad06e9SPawel Jakub DawidekSpecifies the path where shared libraries are stored instead of
1783bad06e9SPawel Jakub Dawidek.Pa /lib/geom/ .
1799d193848SUlf LilleengenMultiple paths can be specified with a colon-separated list of paths.
1803bad06e9SPawel Jakub Dawidek.El
1816087df9eSRuslan Ermilov.Sh EXIT STATUS
1826087df9eSRuslan ErmilovExit status is 0 on success, and 1 if the command fails.
1833e64260dSPawel Jakub Dawidek.Sh EXAMPLES
1843e64260dSPawel Jakub DawidekThe following example shows how to set up a stripe on three disks for automatic
1853e64260dSPawel Jakub Dawidekconfiguration:
1863e64260dSPawel Jakub Dawidek.Bd -literal -offset indent
1873e64260dSPawel Jakub Dawidekgeom stripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2
188*794f5122SMateusz Piotrowski.Ed
189*794f5122SMateusz Piotrowski.Pp
1903e64260dSPawel Jakub Dawidekor:
191*794f5122SMateusz Piotrowski.Bd -literal -offset indent
1923e64260dSPawel Jakub Dawidekgstripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2
1933e64260dSPawel Jakub Dawidek.Ed
1943e64260dSPawel Jakub Dawidek.Pp
1953e64260dSPawel Jakub DawidekPrint the list of all providers from the DISK class:
1963e64260dSPawel Jakub Dawidek.Bd -literal -offset indent
1973e64260dSPawel Jakub Dawidekgeom disk list
1983e64260dSPawel Jakub Dawidek.Ed
1993e64260dSPawel Jakub Dawidek.Pp
2003e64260dSPawel Jakub DawidekUnload a kernel module which implements the MD class:
2013e64260dSPawel Jakub Dawidek.Bd -literal -offset indent
2023e64260dSPawel Jakub Dawidekgeom md unload
2033e64260dSPawel Jakub Dawidek.Ed
2043e64260dSPawel Jakub Dawidek.Sh SEE ALSO
205a7c13cccSEdward Tomasz Napierala.Xr libgeom 3 ,
2063e64260dSPawel Jakub Dawidek.Xr geom 4 ,
207cf7710e1SEdward Tomasz Napierala.Xr gcache 8 ,
2083e64260dSPawel Jakub Dawidek.Xr gconcat 8 ,
209343c20a8SPawel Jakub Dawidek.Xr geli 8 ,
210081632cfSPawel Jakub Dawidek.Xr gjournal 8 ,
211b03d3309SPawel Jakub Dawidek.Xr glabel 8 ,
2120fe2ba03SPawel Jakub Dawidek.Xr gmirror 8 ,
213b3f9d8c8SEdward Tomasz Napierala.Xr gmountver 8 ,
214081632cfSPawel Jakub Dawidek.Xr gmultipath 8 ,
2153e64260dSPawel Jakub Dawidek.Xr gnop 8 ,
216081632cfSPawel Jakub Dawidek.Xr gpart 8 ,
217925fa96bSPawel Jakub Dawidek.Xr graid3 8 ,
21828887567SMaxim Konovalov.Xr gsched 8 ,
2194a06539fSPawel Jakub Dawidek.Xr gshsec 8 ,
220f854db0bSPawel Jakub Dawidek.Xr gstripe 8 ,
221c7996ddfSKirk McKusick.Xr gunion 8 ,
222d181a912SEd Maste.Xr gvinum 8 ,
223f854db0bSPawel Jakub Dawidek.Xr gvirstor 8
2243e64260dSPawel Jakub Dawidek.Sh HISTORY
2253e64260dSPawel Jakub DawidekThe
2263e64260dSPawel Jakub Dawidek.Nm
2273e64260dSPawel Jakub Dawidekutility appeared in
2283e64260dSPawel Jakub Dawidek.Fx 5.3 .
2293e64260dSPawel Jakub Dawidek.Sh AUTHORS
230bd0891ceSBaptiste Daroussin.An Pawel Jakub Dawidek Aq Mt pjd@FreeBSD.org
231