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 } -drivedrive_id_list [ -strip { 128 | 256 } ] [ -sparegoal { 0-(MAX_DRIVES-1) } ] [ -namenew_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 the 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