Use the mkarray command to create an
MDisk array and add it to a storage pool. This command
applies to nondistributed arrays. (Use the mkdistributedarray command
to create distributed arrays.)
Syntax
mkarray -level { raid0 | raid1 | raid5 | raid6 | raid10 } -drive drive_id_list [ -strip { 128 | 256 } ] [ -sparegoal { 0-(MAX_DRIVES-1) } ] [ -name new_name_arg ] [ -slowwritepriority { { latency | redundancy } } ] { mdiskgrp_id | mdiskgrp_name }
Parameters
- -level
- (Required) Sets the RAID level for the array MDisk being created.
The following
requirements apply for RAID levels:
- RAID-0: Stripes data across all members, provides no redundancy.
- RAID-1: Mirrored pair of drives, allows reading from either drive. Can tolerate either drive
failing.
- RAID-5: These arrays stripe data over the member drives with one
parity strip on every stripe and can tolerate no more than one member drive failure.
- RAID-6: These arrays stripe data over the member drives with two
parity strips on every stripe and can tolerate any two concurrent member drive failures.
- RAID-10: These arrays are in a set of up to eight mirrored pairs with the data
striped across mirrors. They can tolerate the failure of one drive in each mirror and they allow
reading from both drives in a mirror. (You cannot use RAID-10 with distributed arrays.)
- -drive drive_id_list
- (Optional) Identifies the drive or drives to use as members of the RAID array.
For RAID-1 and RAID-10 arrays, drives are specified as a sequence
of mirrored drive pairs. For example, if an array is created with -drive a:b:c:d,
drive b contains the mirror copy of drive a, and drive
d contains the mirror copy of drive c. (You cannot use RAID-10 with distributed
arrays.)
This list shows how many member drives are allowed in
each supported RAID type:
- RAID-0: Allows one-member to eight-member drives.
- RAID-1: Allows two-member drives.
- RAID-5: Allows three-member to sixteen-member drives.
- RAID-6: Allows five-member to sixteen-member drives.
- RAID-10: Allows drives with:
- Two members
- Four members
- Six members
- Eight members
- Ten members
- Twelve members
- Fourteen members
- Sixteen members
Each pair of drives must contain a drive from a node in the I/O group and a drive from the
other node. (You
cannot use RAID-10 with distributed arrays.)
- -strip 128 | 256
- (Optional) Sets strip size (in KB) for the array MDisk being created.
The default is 256 KB.
- -sparegoal 0-(MAX_DRIVES-1)
- (Optional) Sets the number of spares that this array's members
must be protected by. The default is 1 (except
for RAID-0 arrays, which have a default of 0).
- -name new_name_arg
- (Optional) Specifies the name to which you want to apply the array
MDisk.
- -slowwriteprioritylatency
| redundancy
- (Optional) Controls array ability to complete write
operations that take too long, even if it temporarily compromises
redundancy.
The value can be either
latency or
redundancy:
- latency implies the feature is enabled for normal
I/O operations
- redundancy implies the feature is not enabled
for normal I/O operations
The default value is
latency mode for existing
arrays, unless the array is RAID-0 (in which case
redundancy mode
is required).
Important: Do not change the mode of a RAID-0
array.
- mdiskgrp_id | mdiskgrp_name
- (Required) Identifies the storage pool (by name or ID) to which you want to add the created
array MDisk.
Description
This
command creates an array MDisk RAID array and adds it to a storage
pool. Although the array tier is automatically determined, you can
change it later using the chmdisk command.
An
array MDisk being added to a storage pool used for active-active relationships
must match other MDisks in the storage pool.
Remember: This command cannot
be used to add an array to a child pool.
If the raid_level is
RAID-1 or RAID-10, and the drive list contains drives that do not
share a SAS port connection chain, the array attempts to continue
to maintain the location balance between the mirrored pairs. (You cannot use RAID-10 with distributed arrays.) Configuration
changes indicate a member drive might not be goal-balanced depending
on its current chain. This is relative to both the drive that created
the array member goals and the current chain of the mirror partner.
If
the MDisk group has an encryption key, the array must be encrypted.
An invocation
example (to create arrays)
mkarray -level raid0 -drive 0:1:2:3 raid0grp
The
resulting output:
MDisk, id [0], successfully created
An invocation
example (to create fully redundant arrays)
mkarray -level raid1 -drive 4:5 -strip 128 mdiskgrp_4
The
resulting output:
MDisk, id [1], successfully created
An invocation example
(to create fully redundant arrays)
mkarray -level raid5 -drive 6:7:8:9:10 raid6grp
The
resulting output:
MDisk, id [2], successfully created