GRAID(8)
π GRAID(8) π
okay so bestie, listen up β this is the graid manual from the System Manager's Manual, and it's literally the glow-up guide for your software RAID devices. no cap, it's giving main character energy for your storage setup. let's get into it π«Ά
β¨ NAME β¨
graid β the control utility for software RAID devices. periodt. π
π SYNOPSIS π
graid label [-f] [-o fmtopt] [-S size] [-s strip] format label level
prov ...
graid add [-f] [-S size] [-s strip] name label level
graid delete [-f] name [label | num]
graid insert name prov ...
graid remove name prov ...
graid fail name prov ...
graid stop [-fv] name ...
graid list
graid status
graid load
graid unload
πΈ DESCRIPTION πΈ
bestie, the graid utility is what you use to manage your software RAID configurations, and it's backed by the GEOM RAID class. π¦
The GEOM RAID class uses on-disk metadata to give you access to software-RAID volumes that are defined by all these different RAID BIOSes. Depending on your RAID BIOS type and its metadata format, you get different subsets of configurations and features β so not every format slays the same way, iykyk.
real talk though: to allow booting from a RAID volume, the metadata format should match the RAID BIOS type and its capabilities. To guarantee that these match, it's recommended to create volumes via the RAID BIOS interface. experienced users are free to do it using this utility though β you do you, queen. π
The first argument to graid indicates an action to be performed:
labelβ Create an array with single volume. Theformatargument specifies the on-disk metadata format to use for this array, such as"Intel". Thelabelargument specifies the label of the created volume. Thelevelargument specifies the RAID level of the created volume, such as:"RAID0","RAID1", etc. The subsequent list enumerates providers to use as array components. The special name"NONE"can be used to reserve space for absent disks. The order of components can be important, depending on specific RAID level and metadata format.
Additional options include:
-fβ Enforce specified configuration creation if it is officially unsupported, but technically can be created. (risky queen behavior, but ok π)-ofmtoptβ Specifies metadata format options.-Ssizeβ Usesizebytes on each component for this volume. Should be used if several volumes per array are planned, or if smaller components going to be inserted later. Defaults to size of the smallest component.-sstripβ Specifies strip size in bytes. Defaults to131072. β¨
addβ Create another volume on the existing array. Thenameargument is the name of the existing array, reported bylabelcommand. The rest of arguments are the same as for thelabelcommand.deleteβ Delete volume(s) from the existing array. When the last volume is deleted, the array is also deleted and its metadata erased. Thenameargument is the name of existing array. Optionallabelornumarguments allow specifying volume for deletion. π (rip your volume)
Additional options include:
-fβ Delete volume(s) even if it is still open.
insertβ Insert specified provider(s) into specified array instead of the first missing or failed components. If there are no such components, mark disk(s) as spare. π©Ήremoveβ Remove the specified provider(s) from the specified array and erase metadata. If there are spare disks present, the removed disk(s) will be replaced by spares.failβ Mark the given disks(s) as failed, removing from active use unless absolutely necessary due to exhausted redundancy. If there are spare disks present β failed disk(s) will be replaced with one of them. πstopβ Stop the given array. The metadata will not be erased.
Additional options include:
-fβ Stop the given array even if some of its volumes are opened.
Additional options include:
-vβ Be more verbose. π£οΈ
π SUPPORTED METADATA FORMATS π
The GEOM RAID class follows a modular design, allowing different metadata formats to be used. Support is currently implemented for the following formats:
DDFβ The format defined by the SNIA Common RAID Disk Data Format v2.0 specification. Used by some Adaptec RAID BIOSes and some hardware RAID controllers. Because of high format flexibility different implementations support different set of features and have different on-disk metadata layouts. To provide compatibility, the GEOM RAID class mimics capabilities of the first detected DDF array. Respecting that, it may support different number of disks per volume, volumes per array, partitions per disk, etc. The following configurations are supported:RAID0(2+ disks),RAID1(2+ disks),RAID1E(3+ disks),RAID3(3+ disks),RAID4(3+ disks),RAID5(3+ disks),RAID5E(4+ disks),RAID5EE(4+ disks),RAID5R(3+ disks),RAID6(4+ disks),RAIDMDF(4+ disks),RAID10(4+ disks),SINGLE(1 disk),CONCAT(2+ disks).
Format supports two options "BE" and "LE", that mean big-endian byte order defined by specification (default) and little-endian used by some Adaptec controllers.
Intelβ The format used by Intel RAID BIOS. Supports up to two volumes per array. Supports configurations:RAID0(2+ disks),RAID1(2 disks),RAID5(3+ disks),RAID10(4 disks). Configurations not supported by Intel RAID BIOS, but enforceable on your own risk:RAID1(3+ disks),RAID1E(3+ disks),RAID10(6+ disks).JMicronβ The format used by JMicron RAID BIOS. Supports one volume per array. Supports configurations:RAID0(2+ disks),RAID1(2 disks),RAID10(4 disks),CONCAT(2+ disks). Configurations not supported by JMicron RAID BIOS, but enforceable on your own risk:RAID1(3+ disks),RAID1E(3+ disks),RAID10(6+ disks),RAID5(3+ disks).NVIDIAβ The format used by NVIDIA MediaShield RAID BIOS. Supports one volume per array. Supports configurations:RAID0(2+ disks),RAID1(2 disks),RAID5(3+ disks),RAID10(4+ disks),SINGLE(1 disk),CONCAT(2+ disks). Configurations not supported by NVIDIA MediaShield RAID BIOS, but enforceable on your own risk:RAID1(3+ disks).Promiseβ The format used by Promise and AMD/ATI RAID BIOSes. Supports multiple volumes per array. Each disk can be split to be used by up to two arbitrary volumes. Supports configurations:RAID0(2+ disks),RAID1(2 disks),RAID5(3+ disks),RAID10(4 disks),SINGLE(1 disk),CONCAT(2+ disks). Configurations not supported by RAID BIOSes, but enforceable on your own risk:RAID1(3+ disks),RAID10(6+ disks).SiIβ The format used by SiliconImage RAID BIOS. Supports one volume per array. Supports configurations:RAID0(2+ disks),RAID1(2 disks),RAID5(3+ disks),RAID10(4 disks),SINGLE(1 disk),CONCAT(2+ disks). Configurations not supported by SiliconImage RAID BIOS, but enforceable on your own risk:RAID1(3+ disks),RAID10(6+ disks).
π₯ SUPPORTED RAID LEVELS π₯
The GEOM RAID class follows a modular design, allowing different RAID levels to be used. Full support for the following RAID levels is currently implemented: RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT. πͺ
The following RAID levels supported as read-only for volumes in optimal state (without using redundancy): RAID4, RAID5, RAID5E, RAID5EE, RAID5R, RAID6, RAIDMDF. (read-only era, respectfully π)
π¦ RAID LEVEL MIGRATION π¦
The GEOM RAID class has no support for RAID level migration, allowed by some metadata formats. If you started migration using BIOS or in some other way, make sure to complete it there.
β οΈ Do not run GEOM RAID class on migrating volumes under pain of possible data corruption! bestie this is so serious, do not do it. π
π 2TiB BARRIERS π
NVIDIA metadata format does not support volumes above 2TiB. (it's giving limits, lowkey sad π)
π SYSCTL VARIABLES π
The following sysctl(8) variables can be used to control the behavior of the RAID GEOM class.
kern.geom.raid.aggressive_spare: 0β Use any disks without metadata connected to controllers of the vendor matching to volume metadata format as spare. Use it with much care to not lose data if connecting unrelated disk! (fr fr be careful with this one π)kern.geom.raid.clean_time: 5β Mark volume as clean when idle for the specified number of seconds.kern.geom.raid.debug: 0β Debug level of the RAID GEOM class.kern.geom.raid.enable: 1β Enable on-disk metadata taste.kern.geom.raid.idle_threshold: 1000000β Time in microseconds to consider a volume idle for rebuild purposes.kern.geom.raid.name_format: 0β Providers name format:0--raid/r{num},1--raid/{label}.kern.geom.raid.read_err_thresh: 10β Number of read errors equated to disk failure. Write errors are always considered as disk failures.kern.geom.raid.start_timeout: 30β Time to wait for missing array components on startup.kern.geom.raid.X.enable: 1β Enable taste for specific metadata or transformation module.
π EXIT STATUS π
Exit status is 0 on success, and non-zero if the command fails. slay β
or π, no in-between.
β SEE ALSO β
geom(4), geom(8) β go read those too bestie, they're iconic.
πΈ HISTORY πΈ
The graid utility appeared in FreeBSD 9.0. a true legend was born β¨
π§ AUTHORS π§
- Alexander Motin
<mav@FreeBSD.org> - M. Warner Losh
<imp@FreeBSD.org>
these two literally built this, show some respect π«Ά
and that's the whole vibe, bestie! this page is from Debian, dated January 23, 2025, and it's GRAID(8) β go forth and manage your RAID configs like the main character you are. πβ¨ππ¦πΈπ
ππβπ
π¦ where this page comes from
- freebsd 15.1: base 15.1
- Copyright (c) 2010 Alexander Motin <mav@FreeBSD.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms