raidutil(8) BSD System Manager's Manual raidutil(8)
NAME
raidutil -- Manage, manipulate, and view RAID objects.
SYNOPSIS
raidutil [global options] verb direct-object arguments ...
DESCRIPTION
raidutil utilizes the CoreRAID framework to manipulate RAID devices.
GLOBAL OPTIONS
There are several global options that may be used with raidutil. These options are not specific to any particular verb. Instead they have a
global effect upon the way that raidutil performs. These global options are:
-c <ControllerType> | --controller <ControllerType>
This option (controller) allows the user to specify a controller type.
-h | --help
This option (help) will print the standard "usage" text.
-t | --terse
This option (terse) will minimize superfluous text.
-v | --verbose
This option (verbose) will maximize the amount of detailed infomation the program will provide.
-V | --version
This option (Version) will print out version information about this program.
VERBS, DIRECT OBJECTS, AND SPECIFIC ARGUMENTS
acknowledge event -n <EventNumber>
Marks an event as acknowledged by specifiying an identifying event number. The -n may also be expressed as --number.
create raidset -n <NewRAIDSet> -d <ListOfDriveBays> -r <RaidLevel>
Create a RAIDSet specifiying: a RAIDSet name; a list of drive bays; the RAID level. The -n, -d, and -r flags may also be expressed
as --name, --drives, and --raidlevel, respectively. Valid raidlevel's are J+, 0, 1, 5, 0+1.
create volume -n <NewVolumeName> -r <NameOfRAIDSet> -s <SizeOfVolume>
Create a volume specifiying: a volume name; a RAIDSet to build the volume on; the size of the volume. The -n, -d, and -s flags may
also be expressed as --name, --raidset, and --size, respectively.
delete raidset -n <NameOfRAIDSet> [-f] [-u]
Remove a RAIDSet. The name of the RAIDSet is specified using the -n argument. The -n flag may also be expressed as --name. The
optional -f flag may also be expressed as --force. The optional -u flag may also be expressed as --unmount.
delete volume -n <NameOfVolume> [-r <RAIDSet>] [-f] [-u]
Remove a volume. The name of the volume is specified using the -n argument. The -n flag may also be expressed as --name. The
optional -r flag may also be expressed as --raidset. The optional -f flag may also be expressed as --force. The optional -u flag
may also be expressed as --unmount.
list [devices]
List all known RAID devices. This is the default behavior if no direct object is specified.
list status
Prints an overview of status information for the targeted RAID device.
list driveinfo
Lists relevant information about any disk drives associated with the targeted RAID device.
list eventinfo [-c n]
Lists the last 100 event messages. When provided, the optional 'count' argument, will limit the output to the last 'n' event mes-
sages (a value of 0 will display all event messsages).
list raidsetinfo
Lists relevant information about any RAIDSet associated with the targeted RAID device.
list taskinfo
Lists relevant information about any tasks associated with the targeted RAID device.
list volumeinfo
Lists relevant information about any volumes associated with the targeted RAID device.
list versioninfo
List version information about the targeted RAID device.
modify controller [arguments listed below]
This will allow the user to modify specific attributes of the targeted controller.
--writeCacheBattery
--WriteCacheEnable
modify drive [arguments listed below]
This will allow the user to modify specific attributes of the targeted drive.
--addglobalspare -d <DriveBayNumber> [-Y | -N]
--removeglobalspare -d <DriveBayNumber>
--addlocalspare -d <DriveBayNumber> -r <RAIDSet> [-Y | -N]
--removelocalspare -d <DriveBayNumber>
--adopt -d <DriveBayNumber>
modify raidset [arguments listed below]
This will allow the user to modify specific attributes of the targeted RAIDSet.
--addcapacity -n <RAIDSet> -d <ListOfDrives> [-Y | -N] [-W]
--addmirror -n <RAIDSet> -d <ListOfDrives> [-Y | -N] [-W]
--migratetoraid5 -n <RAIDSet> -d <ListOfDrives> [-Y | -N] [-W]
--verify -n <RAIDSet> -p <ServicePriority> [-W]
modify volume [arguments listed below]
This will allow the user to modify specific attributes of the targeted volume.
--expand -n <VolumeName> [-r <RAIDSet>] -s <SizeToAdd> [-W]
--move -n <ListOfVolumes> -r <SourceRAIDSet> -t <TargetRAIDSet> [-W]
--rewrite -n <VolumeName> [-r <RAIDSet>] -p <ServicePriority> [-W]
--verify -n <VolumeName> [-r <RAIDSet>] -p <ServicePriority> [-W]
NOTE: Valid values for <ServicePriority> are: low, medium, high.
EXAMPLES
raidutil create raidset -n set2 -d 1,2 -r J+
This creates a RAIDSet named "set2", using the drives in bays one and two, with a raid level of "Enhanced JBOD."
raidutil create volume -n volume1 -r set1 -s 1.5T
This creates a volume named "volume1", on the RAIDSet named "set1". The size of the volume will be 1.5 tebibytes.
raidutil modify volume -n volume1 --move -r set1 -t set2 --waitfortask
This moves the volume named "volume1", from the RAIDSet named "set1". to the RAIDSet named "set2". The program will wait for the
verification task to complete before proceeding.
raidutil delete raidset -n setX
This deletes a RAIDSet named "setX." Any volumes associated with this RAIDSet will also be destroyed.
raidutil delete raidset -n setX --force
Regardless of whether there are any mounted file systems associated with this group, this command deletes a RAIDSet named "setX."
Any volumes associated with this group will also be destroyed.
raidutil delete volume -n myVolume
This deletes a volume named "myVolume."
raidutil delete volume -n myVolume -r BigRAIDSet
This specifically deletes a volume named "myVolume," that exists on the RAIDSet named BigRAIDSet.
raidutil delete volume -n myVolume:BigRAIDSet
This specifically deletes a volume named "myVolume," that exists on the group named BigRAIDSet. Make note that this example uses a
method of overloading the volume name with the group name in order to specify the group.
raidutil list devices
This will print out a list of all known RAID devices.
raidutil list version
This will print out version information for the RAID device.
COMPATIBILITY
RAID Levels
When creating a RAID set the user must specify the type of RAID set that they wish to create through the raidlevel argument. Valid RAID lev-
els are as follows:
J+ Enhanced JBOD
0 RAID 0 (striping)
1 RAID 1 (mirroring)
0+1 RAID 0+1 (mirroring a striped pair)
5 RAID 5 (striping with distributed parity)
Using Enhanced JBOD, you can create a RAID set using a single drive. The resulting RAID set doesnOt gain the performance or data protection
of the other RAID levels, but it does benefit from the data caching and battery backup provided by the RAID card. An enhanced JBOD set can
also be migrated to other RAID sets or moved to another computer that has a Mac Pro or Xserve RAID Card installed.
RAID 0 offers improved performance but no data protection. Blocks of data are spread across all of the drives in the RAID set in a process
called striping. This allows better performance because file contents move in parallel to and from the individual drives in the set. RAID 0
also provides the most usable disk space; nearly all space on all drives is available for user data. You can create a RAID 0 set using two,
three, or four disks.
RAID 1 protects data against a drive failure and allows some increase in read performance. Data is protected by duplicating the contents of
each drive on a second drive in the set, a process called mirroring. Because of the duplication, a volume based on a RAID 1 canOt be larger
than half of the total space available on the drives in the set. You can create a RAID 1 set using either two or four disks.
RAID 0+1 combines the performance of RAID 0 with the data protection of RAID 1 by mirroring a striped set on a second pair of drives. Because
mirroring duplicates all data, this level offers less usable disk space than RAID 5. Usable space is half of the total space available on the
drives in the set. You need four disks to create a RAID 0+1 set.
RAID 5 is a compromise between the performance of RAID 0 and the data protection of RAID 1. Performance is improved by striping data across
the drives in the set. Data protection is provided by parity information that is distributed across the drives. Data can be recovered if any
single drive fails. RAID 5 leaves you with more usable space than RAID 1. RAID 5 needs only the equivalent of one driveOs worth of disk space
to store the parity information. You can create a RAID 5 set using either three or four disks.
Specifying volumes
When performing certain actions, it may be desirable to explicitly specify the group that a volume is built upon. For example, when removing
a volume, one might want to specify the associated group for clarity. In these cases, an optional argument is generally available for this
purpose. An example of this is:
# raidutil delete volume -n myVolume -r theBigRAIDSet
A shortcut exists whereby the RAIDSet may be specified as a suffix to the volume name. For example, this is equivelent to the previous com-
mand:
# raidutil delete volume -n myVolume:theBigRAIDSet
The RAIDSet name is simply added to the volume name using the colon character as a separator. This shortcut is supported by all of the
"modify volume" actions.
Specifying Sizes
When specifying data that indicates a numeric size, the value will be assumed to be expressed in megabytes (MB) unless otherwise indicated.
For our purposes, we will treat all size units as 1000 based numbers.
Values may be expressed in bytes by ending the value with the letter "B".
Other units for measure storage space follow suit, as shown by the following table:
kilobyte (KB) 2^10 = 1000 bytes
megabyte (MB) 2^20 = 1000 * 1000 bytes
gigabyte (GB) 2^30 = 1000 * 1000 * 1000 bytes
terabyte (TB) 2^40 = 1000 * 1000 * 1000 * 1000 bytes
petabyte (PB) 2^50 = 1000 * 1000 * 1000 * 1000 * 1000 bytes
For the purposes of entering size information to this program, the default units are mebibytes (MiB). This program will support values
expressed in the following units. Acceptable abbreviations are listed after the name:
one byte = 1B --- B
kilobyte = 1000B --- K, KB
megabyte = 1000K --- M, MB
gigabyte = 1000M --- G, GB
terabyte = 1000G --- T, TB
petabyte = 1000T --- P, PB
For example, each of the following commands will all create a volume named "theVolume" with a size of 600 megabytes, on the RAIDSet named
"RAIDSet":
# raidutil create volume -n theVolume -s 600000K -r RAIDSet-A
# raidutil create volume -n theVolume -s 600 -r RAIDSet
# raidutil create volume -n theVolume -s 600M -r RAIDSet
# raidutil create volume -n theVolume -s 0.6GB -r RAIDSet
# raidutil create volume -n theVolume -s 0.0006TB -r RAIDSet
# raidutil create volume -n theVolume -s 0.0000006P -r RAIDSet
Special Size Values For Creating Volumes
In place of a numeric value, the user may provide the word all. When this is done the program will attempt to use the maximum valid value.
For example, the following command would create a volume named "BigVolume", on the RAIDSet named "BigRAIDSet", using all available space on
that RAIDSet:
# raidutil create volume -n BigVolume -s all -r BigRAIDSet
Similarly, the user may provide a value that indicates a percentage of available space. This is done by providing a numeric value between 1
and 100 that is followed by the '%' character. For example, the following command would create a volume named "BigVolume", on the RAIDSet
named "BigRAIDSet", using all available space on that RAIDSet:
# raidutil create volume -n BigVolume -s 100% -r BigRAIDSet
The following command would create a volume named "MyVolume", on the RAIDSet named "MyRAIDSet", using one fifth of all available space on
that RAIDSet:
# raidutil create volume -n MyVolume -s 20% -r MyRAIDSet
It should be noted that, all percentage values are rounded down to the nearest whole number. Thus, 33.333% becomes 33%, and 17.9321% becomes
17%. Computed values are based on the RAIDSet available capacity attribute.
NOTE: The use of mebibyte and related units is strongly endorsed by IEC, IEEE and CIPM. The mebibyte and related units are defined in the
IEC document IEC 60027-1.
EXIT STATUS
The raidutil utility exits 0 on success, and >0 if an error occurs.
SEE ALSO
diskutil(8), hdid(8), hdiutil(1), ufs.util(8), msdos.util(8), hfs.util(8), drutil(1), diskarbitrationd(8)
Mac OS March 16, 2007 Mac OS