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 16-member drives.
- RAID-6: Allows five-member to 16-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 that the feature is enabled for normal I/O operations
- redundancy implies that 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
that is 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 that 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