xref: /freebsd/lib/geom/label/glabel.8 (revision 44d4804d1945435745518cd09eb8ae6ab22ecef4)
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.\" $FreeBSD$
26.\"
27.Dd March 12, 2017
28.Dt GLABEL 8
29.Os
30.Sh NAME
31.Nm glabel
32.Nd "disk labelization control utility"
33.Sh SYNOPSIS
34.Nm
35.Cm create
36.Op Fl v
37.Ar name
38.Ar dev
39.Nm
40.Cm destroy
41.Op Fl fv
42.Ar name ...
43.Nm
44.Cm label
45.Op Fl v
46.Ar name
47.Ar dev
48.Nm
49.Cm stop
50.Op Fl fv
51.Ar name ...
52.Nm
53.Cm clear
54.Op Fl v
55.Ar dev ...
56.Nm
57.Cm dump
58.Ar dev ...
59.Nm
60.Cm refresh
61.Ar dev ...
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 GEOM provider labelization.
74A label can be set up on a GEOM provider in two ways:
75.Dq manual
76or
77.Dq automatic .
78When using the
79.Dq manual
80method, no metadata are stored on the devices, so a label has to be configured
81by hand every time it is needed.
82The
83.Dq automatic
84method uses on-disk metadata to store the label and detect it automatically in
85the future.
86.Pp
87This GEOM class also provides volume label detection for file systems.
88Those labels cannot be set with
89.Nm ,
90but must be set with the appropriate file system utility, e.g.\& for UFS
91the file system label is set with
92.Xr tunefs 8 .
93Currently supported file systems are:
94.Pp
95.Bl -bullet -offset indent -compact
96.It
97UFS1 volume names (directory
98.Pa /dev/ufs/ ) .
99.It
100UFS2 volume names (directory
101.Pa /dev/ufs/ ) .
102.It
103UFS1 file system IDs (directory
104.Pa /dev/ufsid/ ) .
105.It
106UFS2 file system IDs (directory
107.Pa /dev/ufsid/ ) .
108.It
109MSDOSFS (FAT12, FAT16, FAT32) (directory
110.Pa /dev/msdosfs/ ) .
111.It
112CD ISO9660 (directory
113.Pa /dev/iso9660/ ) .
114.It
115EXT2FS (directory
116.Pa /dev/ext2fs/ ) .
117.It
118REISERFS (directory
119.Pa /dev/reiserfs/ ) .
120.It
121NTFS (directory
122.Pa /dev/ntfs/ ) .
123.El
124.Pp
125Support for partition metadata is implemented for:
126.Pp
127.Bl -bullet -offset indent -compact
128.It
129GPT labels (directory
130.Pa /dev/gpt/ ) .
131.It
132GPT UUIDs (directory
133.Pa /dev/gptid/ ) .
134.El
135.Pp
136Generic disk ID strings are exported as labels in the format
137.Pa /dev/diskid/GEOM_CLASS-ident
138e.g.
139.Pa /dev/diskid/DISK-6QG3Z026  .
140.Pp
141Generic labels created and managed solely by
142.Xr glabel 8
143are created in the
144.Pa /dev/label/
145directory.
146.Pp
147Note that for all label types, nested GEOM classes will cause additional
148device nodes to be created, with context-specific data appended to their
149names. E.g. for every node like
150.Pa /dev/label/bigdisk
151there will be additional entries for any partitions which the device
152contains, like
153.Pa /dev/label/bigdiskp1
154and
155.Pa /dev/label/bigdiskp1a .
156.Pp
157The first argument to
158.Nm
159indicates an action to be performed:
160.Bl -tag -width ".Cm destroy"
161.It Cm create
162Create temporary label
163.Ar name
164for the given provider.
165This is the
166.Dq manual
167method.
168The kernel module
169.Pa geom_label.ko
170will be loaded if it is not loaded already.
171.It Cm label
172Set up a label
173.Ar name
174for the given provider.
175This is the
176.Dq automatic
177method, where metadata is stored in a provider's last sector.
178The kernel module
179.Pa geom_label.ko
180will be loaded if it is not loaded already.
181.It Cm stop
182Turn off the given label by its
183.Ar name .
184This command does not touch on-disk metadata!
185.It Cm destroy
186Same as
187.Cm stop .
188.It Cm clear
189Clear metadata on the given devices.
190.It Cm dump
191Dump metadata stored on the given devices.
192.It Cm refresh
193Refresh / rediscover metadata from the given devices.
194.It Cm list
195See
196.Xr geom 8 .
197.It Cm status
198See
199.Xr geom 8 .
200.It Cm load
201See
202.Xr geom 8 .
203.It Cm unload
204See
205.Xr geom 8 .
206.El
207.Pp
208Additional options:
209.Bl -tag -width indent
210.It Fl f
211Force the removal of the specified labels.
212.It Fl v
213Be more verbose.
214.El
215.Sh SYSCTL VARIABLES
216The following
217.Xr sysctl 8
218variables can be used to control the behavior of the
219.Nm LABEL
220GEOM class.
221The default value is shown next to each variable.
222.Bl -tag -width indent
223.It Va kern.geom.label.debug : No 0
224Debug level of the
225.Nm LABEL
226GEOM class.
227This can be set to a number between 0 and 2 inclusive.
228If set to 0 minimal debug information is printed, and if set to 2 the
229maximum amount of debug information is printed.
230.El
231.Bl -tag -width indent
232.It Va kern.geom.label.*.enable : No 1
233Most
234.Nm LABEL
235providers implement a
236.Xr sysctl 8
237flag and a tunable variable named in the above format. This flag
238controls if the label provider will be active, tasting devices
239and creating label nodes in the
240.Xr devfs 5
241tree. It is sometimes desirable to disable certain label types if
242they conflict with other classes in complex GEOM topologies.
243.El
244.Sh EXIT STATUS
245Exit status is 0 on success, and 1 if the command fails.
246.Sh EXAMPLES
247The following example shows how to set up a label for disk
248.Dq Li da2 ,
249create a file system on it, and mount it:
250.Bd -literal -offset indent
251glabel label -v usr /dev/da2
252newfs /dev/label/usr
253mount /dev/label/usr /usr
254[...]
255umount /usr
256glabel stop usr
257glabel unload
258.Ed
259.Pp
260The next example shows how to set up a label for a UFS file system:
261.Bd -literal -offset indent
262tunefs -L data /dev/da4s1a
263mount /dev/ufs/data /mnt/data
264.Ed
265.Sh SEE ALSO
266.Xr geom 4 ,
267.Xr loader.conf 5 ,
268.Xr geom 8 ,
269.Xr mount 8 ,
270.Xr newfs 8 ,
271.Xr sysctl 8 ,
272.Xr tunefs 8 ,
273.Xr umount 8
274.Sh HISTORY
275The
276.Nm
277utility appeared in
278.Fx 5.3 .
279.Sh AUTHORS
280.An Pawel Jakub Dawidek Aq Mt pjd@FreeBSD.org
281