xref: /freebsd/lib/geom/concat/gconcat.8 (revision a64729f5077d77e13b9497cb33ecb3c82e606ee8)
1.\" Copyright (c) 2004-2005 Pawel Jakub Dawidek <pjd@FreeBSD.org>
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd June 14, 2021
26.Dt GCONCAT 8
27.Os
28.Sh NAME
29.Nm gconcat
30.Nd "disk concatenation control utility"
31.Sh SYNOPSIS
32.Nm
33.Cm create
34.Op Fl v
35.Ar name
36.Ar prov ...
37.Nm
38.Cm destroy
39.Op Fl fv
40.Ar name ...
41.Nm
42.Cm label
43.Op Fl hv
44.Ar name
45.Ar prov ...
46.Nm
47.Cm append
48.Op Fl hv
49.Ar name
50.Ar prov
51.Nm
52.Cm stop
53.Op Fl fv
54.Ar name ...
55.Nm
56.Cm clear
57.Op Fl v
58.Ar prov ...
59.Nm
60.Cm dump
61.Ar prov ...
62.Nm
63.Cm list
64.Nm
65.Cm status
66.Nm
67.Cm load
68.Nm
69.Cm unload
70.Sh DESCRIPTION
71The
72.Nm
73utility is used for device concatenation configuration.
74The concatenation can be configured using two different methods:
75.Dq manual
76or
77.Dq automatic .
78When using the
79.Dq manual
80method, no metadata are stored on the devices, so the concatenated
81device has to be configured by hand every time it is needed.
82The
83.Dq automatic
84method uses on-disk metadata to detect devices.
85Once devices are labeled, they will be automatically detected and
86configured.
87.Pp
88The first argument to
89.Nm
90indicates an action to be performed:
91.Bl -tag -width ".Cm destroy"
92.It Cm create
93Concatenate the given devices with specified
94.Ar name .
95This is the
96.Dq manual
97method.
98The kernel module
99.Pa geom_concat.ko
100will be loaded if it is not loaded already.
101.It Cm label
102Concatenate the given devices with the specified
103.Ar name .
104This is the
105.Dq automatic
106method, where metadata are stored in every device's last sector.
107The kernel module
108.Pa geom_concat.ko
109will be loaded if it is not loaded already.
110.Pp
111Additional options include:
112.Bl -tag -width ".Fl h"
113.It Fl h
114Hardcode providers' names in metadata.
115.El
116.It Cm append
117Append a new device to the end of an existing concatenate device
118with the specified
119.Ar name .
120.Pp
121If the existing device is using the
122.Dq manual
123method, the new device is simply appended as-is.
124.Pp
125If the existing device is using the
126.Dq automatic
127method, the device is appended persistently.
128New
129.Cm gconcat
130metadata is written to all existing components, as well as to the
131newly added one.
132.Pp
133Additional options include:
134.Bl -tag -width ".Fl h"
135.It Fl h
136Hardcode providers' names in metadata.
137.El
138.It Cm stop
139Turn off existing concatenate device by its
140.Ar name .
141This command does not touch on-disk metadata!
142.Pp
143Additional options include:
144.Bl -tag -width ".Fl f"
145.It Fl f
146Stop the given device even if it is opened.
147.El
148.It Cm destroy
149Same as
150.Cm stop .
151.It Cm clear
152Clear metadata on the given devices.
153.It Cm dump
154Dump metadata stored on the given devices.
155.It Cm list
156See
157.Xr geom 8 .
158.It Cm status
159See
160.Xr geom 8 .
161.It Cm load
162See
163.Xr geom 8 .
164.It Cm unload
165See
166.Xr geom 8 .
167.El
168.Pp
169Additional options:
170.Bl -tag -width indent
171.It Fl v
172Be more verbose.
173.El
174.Sh SYSCTL VARIABLES
175The following
176.Xr sysctl 8
177variables can be used to control the behavior of the
178.Nm CONCAT
179GEOM class.
180The default value is shown next to each variable.
181.Bl -tag -width indent
182.It Va kern.geom.concat.debug : No 0
183Debug level of the
184.Nm CONCAT
185GEOM class.
186This can be set to a number between 0 and 3 inclusive.
187If set to 0 minimal debug information is printed, and if set to 3 the
188maximum amount of debug information is printed.
189.El
190.Sh EXIT STATUS
191Exit status is 0 on success, and 1 if the command fails.
192.Sh EXAMPLES
193The following example shows how to configure four disks for automatic
194concatenation, create a file system on it, and mount it:
195.Bd -literal -offset indent
196gconcat label -v data /dev/da0 /dev/da1 /dev/da2 /dev/da3
197newfs /dev/concat/data
198mount /dev/concat/data /mnt
199[...]
200umount /mnt
201gconcat stop data
202gconcat unload
203.Ed
204.Pp
205Configure concatenated provider on one disk only.
206Create file system.
207Add two more disks and extend existing file system.
208.Bd -literal -offset indent
209gconcat label data /dev/da0
210newfs /dev/concat/data
211gconcat label data /dev/da0 /dev/da1 /dev/da2
212growfs /dev/concat/data
213.Ed
214.Sh SEE ALSO
215.Xr geom 4 ,
216.Xr loader.conf 5 ,
217.Xr geom 8 ,
218.Xr growfs 8 ,
219.Xr gvinum 8 ,
220.Xr mount 8 ,
221.Xr newfs 8 ,
222.Xr sysctl 8 ,
223.Xr umount 8
224.Sh HISTORY
225The
226.Nm
227utility appeared in
228.Fx 5.3 .
229.Sh AUTHORS
230.An Pawel Jakub Dawidek Aq Mt pjd@FreeBSD.org
231