mkdistributedarray

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

Read syntax diagramSkip visual syntax diagram
>>- 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 -+-'     '- -name -- new_name_arg -'      
               '- 256 -'                                        

>-- --+-------------------------------------+-- ---------------->
      '- -slowwritepriority--+-latency----+-'      
                             '-redundancy-'        

>--+- mdiskgrp_id ---+-----------------------------------------><
   '- mdiskgrp_name -'   

Parameters

-level raid5 | raid6
(Required) Specifies the RAID level for the array being created. The values are:
  • raid5
  • raid6
-driveclass driveclass_id
(Required) Specifies the class being used to create the array. The driveclass_id must be a numeric value (specified with the lsdriveclass command).
-drivecount 4 - 128
(Required) Specifies the number of drives to use for the array. The minimum drive count for:
  • RAID-5: 4
  • RAID-6: 6
-stripewidth 3-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
-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:
  1. Drives A and B are use=candidate
  2. Drives A and B are in the same I/O group.
  3. 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).
  4. Drive A's capacity is equal to or greater than drive B's.
  5. Drive A has a block size that is smaller than or equal to drive B.
-rebuildareas 1 | 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:
  • 1
  • 2
  • 3
  • 4
The value is 1 - 4 (inclusive) for RAID-5 and RAID-6 arrays.
-rebuildareasgoal 0 | 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 specified for the array.
The values are:
  • 0
  • 1
  • 2
  • 3
  • 4
-strip 128 | 256
(Optional) Specifies the strip size in KiB for the array being configured. The values are 128 or 256.
-name new_name_arg
(Optional) Specifies the name of the array.
-slowwritepriority latency | 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).
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.

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