mkdistributedarray
Use the mkdistributedarray command to create a distributed array and add it to a storage pool.
Syntax
Parameters
- -level raid1 | raid6
- (Required) Specifies the RAID level for the array that is being created. The possible values
are:
- raid1
- raid6
- -driveclass driveclass_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).
- -drivecount 2 - 128
- (Required) Specifies the number of the drives. The value must be a number in the range 2 - 128. The value for distributed RAID 1 arrays must be in the range 2 - 16 for SSDs and SCMs. The value for distributed RAID 1 arrays must be in the range 3 - 16 for HDDs.
- -stripewidth 2-16
- (Optional) Indicates the width of a single unit of redundancy within a distributed set of
drives. The value must be:
- RAID 1:
2
- RAID 6:
5
-16
The default width for RAID 6 is
12
. The width plus the number of rebuild areas must be less than or equal to the drive count.If -stripewidth is not specified and drivecount - rebuildareas is less than the default stripewidth (12 for RAID 6), then stripewidth is set to drivecount - rebuildareas. If drivecount - rebuildareas is less than the minimum allowed (5 for RAID 6), the command fails.
- RAID 1:
- -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 is equal to or greater than drive B's. Solid-state drives (SSDs) are higher speed than all hard disk drives (HDDs). For SSDs, tech_type tier0_flash is considered to have better performance than tier1_flash.
- 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.
- Drives A and B have the same transport protocol.
- Drives A and B are both not compressing drives or Drives A and B are both compressing drives of the same physical capacity and logical capacity.
- Drives A and B are
- -rebuildareas 0 |1 | 2 | 3 | 4
- (Optional) Specifies the overhead capacity that is distributed across all drives available to an
array. This capacity restores data after a drive failure. The values are:
0
1
2
3
4
- -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 that are specified for the array.
- -strip 256
- (Optional) Specifies the strip size in KiB for the array that is being configured. The value is
256
. - -name new_name_arg
- (Optional) Specifies the name of the array.
- -encrypt yes | no
- (Optional) Specifies the array to encrypt. The values are
yes
andno
. This parameter defaults toyes
when lsencryption has its status set toenabled
and all nodes in the I/O group that the array is being defined on are encryption-capable.Note: The value can beIf you specifyyes
only if encryption is enabled on the array's I/O group.-encrypt yes
when the I/O group does not support encryption, the command fails. - -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
orredundancy
:latency
implies that the feature is enabled for normal I/O operationsredundancy
implies that the feature is not enabled for normal I/O operations
latency
mode for existing arrays).Important: An array can cause member drives to become unsynchronized (to preserve response time) if the value islatency
. If the value isredundancy
, 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.
If you are adding an MDisk to a pool that uses a provisioning policy, the capabilities of the MDisk must match the capacity savings method that the provisioning policy defines. For example, an MDisk that uses self-compressing drive technology cannot be added to a data reduction pool that defines a provisioning policy that uses compression and deduplication.
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