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 May 21, 2004 28.Dt GSTRIPE 8 29.Os 30.Sh NAME 31.Nm gstripe 32.Nd "control utility for striped devices" 33.Sh SYNOPSIS 34.Nm 35.Cm create 36.Op Fl v 37.Op Fl s Ar stripesize 38.Ar name 39.Ar prov prov ... 40.Nm 41.Cm destroy 42.Op Fl fv 43.Ar name ... 44.Nm 45.Cm label 46.Op Fl hv 47.Op Fl s Ar stripesize 48.Ar name 49.Ar prov prov ... 50.Nm 51.Cm stop 52.Op Fl fv 53.Ar name ... 54.Nm 55.Cm clear 56.Op Fl v 57.Ar prov ... 58.Nm 59.Cm dump 60.Ar prov ... 61.Nm 62.Cm list 63.Nm 64.Cm status 65.Nm 66.Cm load 67.Nm 68.Cm unload 69.Sh DESCRIPTION 70The 71.Nm 72utility is used for setting up a stripe on two or more disks. 73The striped device can be configured using two different methods: 74.Dq manual 75or 76.Dq automatic . 77When using the 78.Dq manual 79method, no metadata are stored on the devices, so the striped 80device has to be configured by hand every time it is needed. 81The 82.Dq automatic 83method uses on-disk metadata to detect devices. 84Once devices are labeled, they will be automatically detected and 85configured. 86.Pp 87The first argument to 88.Nm 89indicates an action to be performed: 90.Bl -tag -width ".Cm destroy" 91.It Cm create 92Set up a striped device from the given devices with specified 93.Ar name . 94This is the 95.Dq manual 96method and the stripe will not exist after a reboot (see 97.Sx DESCRIPTION 98above). 99The kernel module 100.Pa geom_stripe.ko 101will be loaded if it is not loaded already. 102.It Cm label 103Set up a striped device from the given devices with the specified 104.Ar name . 105This is the 106.Dq automatic 107method, where metadata are stored in every device's last sector. 108The kernel module 109.Pa geom_stripe.ko 110will be loaded if it is not loaded already. 111.It Cm stop 112Turn off an existing striped device by its 113.Ar name . 114This command does not touch on-disk metadata! 115.It Cm destroy 116Same as 117.Cm stop . 118.It Cm clear 119Clear metadata on the given devices. 120.It Cm dump 121Dump metadata stored on the given devices. 122.It Cm list 123See 124.Xr geom 8 . 125.It Cm status 126See 127.Xr geom 8 . 128.It Cm load 129See 130.Xr geom 8 . 131.It Cm unload 132See 133.Xr geom 8 . 134.El 135.Pp 136Additional options: 137.Bl -tag -width ".Fl s Ar stripesize" 138.It Fl f 139Force the removal of the specified striped device. 140.It Fl h 141Hardcode providers' names in metadata. 142.It Fl s Ar stripesize 143Specifies size of stripe block in bytes. 144The 145.Ar stripesize 146must be a multiple of the largest sector size of all the providers. 147.It Fl v 148Be more verbose. 149.El 150.Sh SYSCTL VARIABLES 151The following 152.Xr sysctl 8 153variables can be used to control the behavior of the 154.Nm STRIPE 155GEOM class. 156The default value is shown next to each variable. 157.Bl -tag -width indent 158.It Va kern.geom.stripe.debug : No 0 159Debug level of the 160.Nm STRIPE 161GEOM class. 162This can be set to a number between 0 and 3 inclusive. 163If set to 0 minimal debug information is printed, and if set to 3 the 164maximum amount of debug information is printed. 165.It Va kern.geom.stripe.fast : No 0 166If set to a non-zero value enable 167.Dq "fast mode" 168instead of the normal 169.Dq "economic mode" . 170Compared to 171.Dq "economic mode" , 172.Dq "fast mode" 173uses more memory, but it is much faster for smaller stripe sizes. 174If enough memory cannot be allocated, 175.Nm STRIPE 176will fall back to 177.Dq "economic mode" . 178.It Va kern.geom.stripe.maxmem : No 13107200 179Maximum amount of memory that can be consumed by 180.Dq "fast mode" 181(in bytes). 182This 183.Xr sysctl 8 184variable is read-only and can only be set as a tunable in 185.Xr loader.conf 5 . 186.It Va kern.geom.stripe.fast_failed 187A count of how many times 188.Dq "fast mode" 189has failed due to an insufficient amount of memory. 190If this value is large, you should consider increasing the 191.Va kern.geom.stripe.maxmem 192value. 193.El 194.Sh EXIT STATUS 195Exit status is 0 on success, and 1 if the command fails. 196.Sh EXAMPLES 197The following example shows how to set up a striped device from four disks with a 198128KB stripe size for automatic configuration, 199create a file system on it, 200and mount it: 201.Bd -literal -offset indent 202gstripe label -v -s 131072 data /dev/da0 /dev/da1 /dev/da2 /dev/da3 203newfs /dev/stripe/data 204mount /dev/stripe/data /mnt 205[...] 206umount /mnt 207gstripe stop data 208gstripe unload 209.Ed 210.Sh COMPATIBILITY 211The 212.Nm 213interleave is in number of bytes, 214unlike 215.Xr ccdconfig 8 216which use the number of sectors. 217A 218.Xr ccdconfig 8 219.Ar ileave 220of 221.Ql 128 222is 64 KB (128 512B sectors). 223The same stripe interleave would be specified as 224.Ql 65536 225for 226.Nm . 227.Sh SEE ALSO 228.Xr geom 4 , 229.Xr loader.conf 5 , 230.Xr ccdconfig 8 , 231.Xr geom 8 , 232.Xr gvinum 8 , 233.Xr mount 8 , 234.Xr newfs 8 , 235.Xr sysctl 8 , 236.Xr umount 8 237.Sh HISTORY 238The 239.Nm 240utility appeared in 241.Fx 5.3 . 242.Sh AUTHORS 243.An Pawel Jakub Dawidek Aq Mt pjd@FreeBSD.org 244