raidutil(8) BSD System Manager's Manual raidutil(8)NAMEraidutil — Manage, manipulate, and view RAID objects.
SYNOPSISraidutil [global options] verb direct-object arguments ...
DESCRIPTIONraidutil 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 info‐
mation 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, respec‐
tively.
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
messages (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.
EXAMPLESraidutil 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 associ‐
ated 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 levels
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 doesn�t 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 pro‐
vides 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 can�t 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 drive�s 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 spec‐
ify 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 pur‐
pose. 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 command:
# raidutil delete volume -n myVolume:theBigRAIDSet
The RAIDSet name is simply added to the volume name using the colon char‐
acter 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 fol‐
lowing 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 ALSOdiskutil(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