GSTRIPE(8)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

πŸ’… GSTRIPE(8) β€” the striped-device control utility bestie πŸ’«

okay so this is the gstripe manual page, from the System Manager's Manual section 8 β€” yes, that section, the admin-y one. buckle up πŸŽ€


✨ NAME ✨

gstripe β€” control utility for striped devices πŸ¦‹


🌸 SYNOPSIS 🌸

gstripe create [-v] [-s stripesize] name prov prov ...
gstripe destroy [-fv] name ...
gstripe label [-hv] [-s stripesize] name prov prov ...
gstripe stop [-fv] name ...
gstripe clear [-v] prov ...
gstripe dump prov ...
gstripe list
gstripe status
gstripe load
gstripe unload

πŸ’– DESCRIPTION πŸ’–

So the gstripe utility is literally how you set up a stripe across two or more disks. that's the whole vibe. and it can configure your striped device two different ways: "manual" or "automatic" ✨

  • with the "manual" method, no metadata gets stored on the devices at all, so the striped device has to be configured by hand every single time it's needed 😭 (iconic but highkey exhausting).
  • the "automatic" method uses on-disk metadata to detect devices. once devices are labeled, they'll be automatically detected and configured 🫢 no cap.

The first argument to gstripe tells it which action to perform:

  • create β€” set up a striped device from the given devices with the specified name. this is the "manual" method, and the stripe will not exist after a reboot (see "DESCRIPTION" above πŸ’€). the kernel module geom_stripe.ko will be loaded if it's not loaded already.
  • label β€” set up a striped device from the given devices with the specified name. this is the "automatic" method, where metadata gets stored in every device's last sector πŸ’Ύ. the kernel module geom_stripe.ko will be loaded if it's not loaded already.
  • stop β€” turn off an existing striped device by its name. this command does not touch on-disk metadata! πŸ™ˆ
  • destroy β€” same as stop.
  • clear β€” clear metadata on the given devices.
  • dump β€” dump metadata stored on the given devices.
  • list β€” see geom(8).
  • status β€” see geom(8).
  • load β€” see geom(8).
  • unload β€” see geom(8).

πŸŽ€ Additional options πŸŽ€

  • -f β€” force the removal of the specified striped device πŸ’…
  • -h β€” hardcode providers' names in metadata
  • -s stripesize β€” specifies size of stripe block in bytes. the stripesize must be a multiple of the largest sector size of all the providers ⚠️ (fr fr, it has to be)
  • -v β€” be more verbose πŸ—£οΈ

⭐ SYSCTL VARIABLES ⭐

The following sysctl(8) variables can be used to control the behavior of the STRIPE GEOM class. the default value is shown next to each variable πŸ‘‘

  • kern.geom.stripe.debug: 0 β€” debug level of the STRIPE GEOM class. this can be set to a number between 0 and 3 inclusive. if set to 0 minimal debug information is printed, and if set to 3 the maximum amount of debug information is printed πŸ”
  • kern.geom.stripe.fast: 0 β€” if set to a non-zero value, enable "fast mode" instead of the normal "economic mode". compared to "economic mode", "fast mode" uses more memory, but it's much faster for smaller stripe sizes πŸ”₯. if enough memory cannot be allocated, STRIPE will fall back to "economic mode".
  • kern.geom.stripe.maxmem: 13107200 β€” maximum amount of memory that can be consumed by "fast mode" (in bytes). this sysctl(8) variable is read-only and can only be set as a tunable in loader.conf(5) 🚫
  • kern.geom.stripe.fast_failed β€” a count of how many times "fast mode" has failed due to an insufficient amount of memory. if this value is large, you should consider increasing the kern.geom.stripe.maxmem value πŸ‘€

πŸ¦‹ EXIT STATUS πŸ¦‹

Exit status is 0 on success, and 1 if the command fails. simple as that πŸ’œ


🌈 EXAMPLES 🌈

the following example shows how to set up a striped device from four disks with a 128KB stripe size for automatic configuration, create a file system on it, and mount it πŸŽ€:

gstripe label -v -s 131072 data /dev/da0 /dev/da1 /dev/da2 /dev/da3
newfs /dev/stripe/data
mount /dev/stripe/data /mnt
[...]
umount /mnt
gstripe stop data
gstripe unload

πŸ’€ COMPATIBILITY πŸ’€

The gstripe interleave is in number of bytes, unlike ccdconfig(8) which uses the number of sectors. a ccdconfig(8) ileave of '128' is 64 KB (128 512B sectors). the same stripe interleave would be specified as '65536' for gstripe. don't mix these up bestie, i'm begging 😭


πŸ‘‘ SEE ALSO πŸ‘‘

geom(4), loader.conf(5), ccdconfig(8), geom(8), mount(8), newfs(8), sysctl(8), umount(8)


πŸ“ HISTORY πŸ“

The gstripe utility appeared in FreeBSD 5.3. vintage ✨


πŸ’œ AUTHORS πŸ’œ

Pawel Jakub Dawidek <pjd@FreeBSD.org> β€” king behavior πŸ‘‘


this page is from the Debian build, dated January 23, 2025 β€” so that's the source, version vibe and date all in one cute lil sign-off πŸ§šπŸ’– tysm for reading, go stripe some disks responsibly!! πŸŽ€πŸ’…
πŸ“¦ where this page comes from
  • freebsd 15.1: base 15.1
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms