Use the mkdistributedarray command to create a distributed array and
add it to a storage pool. (Use the mkarray command to create nondistributed
arrays).
Syntax
mkdistributedarray -level { raid5 | raid6 } -driveclass driveclass_id -drivecount 4 - 128 [ -stripewidth 3-16 ] [ -allowsuperior ] [ -rebuildareas { 1 | 2 | 3 | 4 } ] [ -rebuildareasgoal { 0 | 1 | 2 | 3 | 4 } ] [ -strip { 128 | 256 } ] [ -name new_name_arg ] [ -encrypt { yes | no } ] [ -slowwritepriority { latency | redundancy } ] { mdiskgrp_id | mdiskgrp_name }
Parameters
- -levelraid5 | raid6
- (Required) Specifies the RAID level for the array that is being created. The values are:
- -driveclassdriveclass_id
- (Required) Specifies the class that is being used to create the array. The
driveclass_id must be a numeric value (specified with the
lsdriveclass command).
- -drivecount4 - 128
- (Required) Specifies the number of drives to use for the array. The minimum drive count
for:
- -stripewidth3-16
- (Optional) Indicates the width of a single unit of redundancy within a distributed set of
drives. The value must be:
- RAID-5: 3 - 16
- RAID-6: 5 - 16
The default width for RAID-6 is 12 and the default width for RAID-5
is 10. The width plus the number of rebuild areas must be less than or equal
to the drive count.
- -allowsuperior
- (Optional) Specifies that you can use drives that are not an exact match to the drive class
used when creating the array (such as drives that use different capacity or technology). The
system attempts to select the closest match to the class when satisfying the drive count. You
can select higher capacity members of the same technology type before you select higher
technology members.
Note: For a drive A to be considered superior to drive B, these situations
must be true:
- Drives A and B are use=candidate
- Drives A and B are in the same I/O group.
- Drive A's speed (RPM) is equal to or greater than drive B's. Solid-state drives (SSDs)
are higher speed than all hard disk drives (HDDs).
- Drive A's capacity is equal to or greater than drive B's.
- Drive A has a block size that is smaller than or equal to drive B.
- -rebuildareas1 | 2 | 3 | 4
- (Optional) Specifies the reserved capacity that is distributed across all drives available
to an array. This capacity restores data after a drive failure. The values are:
The value is 1 - 4 (inclusive) for RAID-5 and RAID-6 arrays.
The
default number of rebuild areas increases as the drive count increases.
Note: The number of
rebuild areas plus the stripe width must be less than or equal to the total drive
count.
- -rebuildareasgoal0 | 1 | 2 | 3 | 4
- (Optional) Specifies the number of rebuild areas that the array can target to keep
available. If the number available in the array falls below this number, a system alert is
raised.
Note: The goal value should not exceed the number of rebuild areas that are specified
for the array.
The values are:
- -strip128 | 256
- (Optional) Specifies the strip size in KiB for the array that is being configured. The
values are 128 or 256.
Note: This command fails if 128 is specified and the size of the candidate
drives is greater than 4 TB.
- -namenew_name_arg
- (Optional) Specifies the name of the 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.
If
you specify -encrypt yes when the I/O group does not support encryption, the
command fails.
- -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).
Important: An array can cause member drives to become unsynchronized (to preserve
response time) if the value is latency. If the value is
redundancy, the array cannot cause member drives to become unsynchronized
(to preserve time) and I/O performance is impacted.
- mdiskgrp_id | mdiskgrp_name
- (Required) Indicates the MDisk array ID or name.
Description
This command creates
distributed arrays.
Remember: You cannot create an unencrypted array to add to an encrypted storage
pool.
Each distributed array occupies 16 slots, which start at an MDisk ID that is
divisible by 16. See the
lsmdisk command for more information.
An invocation example to create an array that uses 40 drives of
class 3 with 3 rebuild
areas
mkdistributedarray -level raid6 -driveclass 3 -drivecount 40 -stripewidth 10 -rebuildareas 3 mdiskgrp5
The
detailed resulting
output:
MDisk, id [16], sucessfully created
An invocation example to create an array with a drive
class
mkdistributedarray -level raid5 -driveclass 0 -drivecount 56 -stripewidth 8 -allowsuperior mdiskgrp2
The
detailed resulting
output:
MDisk, id [32], sucessfully created
An invocation example to create an array with maximum rebuild areas that logs an
error on using the second rebuild
area
mkdistributedarray -level raid5 -driveclass 5 -drivecount 60 -rebuildareas 4 -rebuildareasgoal 3 mdiskgrp2
The
detailed resulting
output:
MDisk, id [16], sucessfully created
An invocation example to create an array that might affect I/O performance
mkdistributedarray -driveclass 10 -slowwritepriority redundancy 0
The detailed resulting output:
MDisk, id [32], sucessfully created
An invocation example to make an encrypted distributed array that uses 40 drives of class
3 with three rebuild areas
mkdistributedarray -level raid6 -driveclass 3 -drivecount 40 -stripewidth 10 -rebuildareas 3 -encrypt yes mdiskgrp5
The detailed resulting output:
MDisk, id [16], sucessfully created