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) } ] [ -name new_name_arg ] [ -slowwritepriority { { latency | redundancy } } ] [ -encrypt { yes | no } ] { mdiskgrp_id | mdiskgrp_name }
Parameters
- -level
- 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
- 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.
- -encryptyes | no
- (Optional) Specifies the array to encrypt. The values are yes and no.
This
parameter defaults to
yes when
lsencryption has
its status set to
enabled and all nodes in the I/O
group that the array is being defined on are encryption-capable.
Note: The
value can be yes only if encryption is enabled
on the array's I/O group.
- mdiskgrp_id | mdiskgrp_name
- 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
An
invocation example for creating an unencrypted array on encrypted
hardware
mkarray -level raid10 -drives 0:1:2:3:4:5 -encrypt no 0
The
resulting output:
MDisk, id [1], successfully created