Create RAID volume (automatic drive select)
The create volume
command creates a volume group across the drives in the storage array and a new volume in the volume group. The storage array controllers choose the drives to be included in the volume.
Supported Arrays
This command applies to any individual storage array, including the E2700, E5600, E2800, E5700, EF600 and EF300 arrays, as long as all SMcli packages are installed.
Roles
To execute this command on an E2800, E5700, EF600, or EF300 storage array, you must have the Storage Admin role.
Context
If you have drives with different capacities, you cannot automatically create volumes by specifying the |
Syntax
create volume driveCount=numberOfDrives [volumeGroupUserLabel="volumeGroupUserLabel"] raidLevel=(0 | 1 | 3 | 5 | 6) userLabel="userLabel" driveMediaType=(HDD | SSD | unknown | allMedia) [driveType=(SAS | NVMe4K)] [capacity=volumeCapacity] [owner=(a|b)] [mapping=(none | default)] [cacheReadPrefetch=(TRUE | FALSE)] [segmentSize=segmentSizeValue] [usageHint=(fileSystem | dataBase | multiMedia)] [trayLossProtect=(TRUE | FALSE)] [drawerLossProtect=(TRUE | FALSE)] [dssPreAllocate=(TRUE | FALSE)] [securityType=(none | capable | enabled)] [secureDrives=(fips | fde )] [dataAssurance=(none | enabled)] [resourceProvisioningCapable=(TRUE | FALSE)] [blockSize=blockSizeValue]
create volume driveCount=numberOfDrives [volumeGroupUserLabel="volumeGroupName"] raidLevel=(0 | 1 | 5 | 6) userLabel="volumeName" driveMediaType=(HDD | SSD | unknown | allMedia) [driveType=SAS] [capacity=volumeCapacity] [owner=(a|b)] [mapping=(none | default)] [cacheReadPrefetch=(TRUE | FALSE)] [segmentSize=segmentSizeValue] [usageHint=(fileSystem | dataBase | multiMedia)] [trayLossProtect=(TRUE | FALSE)] [drawerLossProtect=(TRUE | FALSE)] [dssPreAllocate=(TRUE | FALSE)] [securityType=(none | capable | enabled)] [secureDrives=(fips | fde )] [dataAssurance=(none | enabled)] [resourceProvisioningCapable=(TRUE | FALSE)] [blockSize=blockSizeValue]
Parameters
Parameter | Description | ||
---|---|---|---|
|
The number of unassigned drives that you want to use in the volume group. |
||
|
The name that you want to give the new volume group. Enclose the new volume group name in double quotation marks (" ").
|
||
|
The RAID level of the volume group that contains the volume. Valid values are |
||
|
The name that you want to give to the new volume. Enclose the new volume name in double quotation marks (" ").
|
||
|
The type of drive media that you want to use for the volume group. These drive media are valid:
|
||
|
The type of drive that you want to use in the volume. You cannot mix drive types. You must use this parameter when you have more than one type of drive in your storage array. These drive types are valid:
If you do not specify a drive type, the command defaults to |
||
|
The size of the volume that you are adding to the storage array. Size is defined in units of |
||
|
The controller that owns the volume. Valid controller identifiers are |
||
|
The setting to turn on or turn off cache read prefetch. To turn off cache read prefetch, set this parameter to |
||
|
The amount of data (in KB) that the controller writes on a single drive in a volume before writing data on the next drive. Valid values are |
||
|
The setting for both |
||
|
The setting to enforce tray loss protection when you create the volume group. To enforce tray loss protection, set this parameter to |
||
|
The setting to enforce drawer loss protection when you create the mirror repository volume group. To enforce drawer loss protection, set this parameter to |
||
|
The setting to make sure that reserve capacity is allocated for future segment size increases. The default value is |
||
|
The setting to specify the security level when creating the volume groups and all associated volumes. These settings are valid:
|
||
|
The setting to specify if resource provisioning capabilities are enabled. To disable resource provisioning, set this parameter to |
||
|
This parameter enables you to map the volume to a host. If you want to map later, set this parameter to |
||
|
This parameter sets the block size of the volume being created. A value of 0 or the parameter not set uses the default block size. |
Notes
You can use any combination of alphanumeric characters, hyphens, and underscores for the names. Names can have a maximum of 30 characters.
The driveCount
parameter lets you choose the number of drives that you want to use in the volume group. You do not need to specify the drives by tray ID and slot ID. The controllers choose the specific drives to use for the volume group.
The owner
parameter defines which controller owns the volume.
If you do not specify a capacity using the capacity
parameter, all of the drive capacity that is available in the volume group is used. If you do not specify capacity units, bytes
is used as the default value.
Segment size
The size of a segment determines how many data blocks that the controller writes on a single drive in a volume before writing data on the next drive. Each data block stores 512 bytes of data. A data block is the smallest unit of storage. The size of a segment determines how many data blocks that it contains. For example, an 8-KB segment holds 16 data blocks. A 64-KB segment holds 128 data blocks.
When you enter a value for the segment size, the value is checked against the supported values that are provided by the controller at run time. If the value that you entered is not valid, the controller returns a list of valid values. Using a single drive for a single request leaves other drives available to simultaneously service other requests. If the volume is in an environment where a single user is transferring large units of data (such as multimedia), performance is maximized when a single data transfer request is serviced with a single data stripe. (A data stripe is the segment size that is multiplied by the number of drives in the volume group that are used for data transfers.) In this case, multiple drives are used for the same request, but each drive is accessed only once.
For optimal performance in a multiuser database or file system storage environment, set your segment size to minimize the number of drives that are required to satisfy a data transfer request.
Usage Hint
You do not need to enter a value for the |
Usage hint | Segment size setting | Dynamic cache read prefetch setting |
---|---|---|
File system |
128 KB |
Enabled |
Database |
128 KB |
Enabled |
Multimedia |
256 KB |
Enabled |
Cache read prefetch
Cache read prefetch lets the controller copy additional data blocks into cache while the controller reads and copies data blocks that are requested by the host from the drive into cache. This action increases the chance that a future request for data can be fulfilled from cache. Cache read prefetch is important for multimedia applications that use sequential data transfers. Valid values for the cacheReadPrefetch
parameter are TRUE
or FALSE
. The default is TRUE
.
Security type
Use the securityType
parameter to specify the security settings for the storage array.
Before you can set the securityType
parameter to enabled
, you must create a storage array security key. Use the create storageArray securityKey
command to create a storage array security key. These commands are related to the security key:
-
create storageArray securityKey
-
export storageArray securityKey
-
import storageArray securityKey
-
set storageArray securityKey
-
enable volumeGroup [volumeGroupName] security
-
enable diskPool [diskPoolName] security
Secure drives
Secure-capable drives can be either Full Disk Encryption (FDE) drives or Federal Information Processing Standard (FIPS) drives. Use the secureDrives
parameter to specify the type of secure drives to use. The values you can use are fips
and fde
.
Tray loss protection and drawer loss protection
To enable tray/drawer loss protection, refer to the following tables for additional criteria:
Level | Criteria for Tray Loss Protection | Minimum number of trays required |
---|---|---|
|
The disk pool contains no more than two drives in a single tray. |
6 |
|
The volume group contains no more than two drives in a single tray. |
3 |
|
Each drive in the volume group is located in a separate tray. |
3 |
|
Each drive in a RAID 1 pair must be located in a separate tray. |
2 |
|
Cannot achieve Tray Loss Protection. |
Not applicable |
Level | Criteria for drawer loss protection | Minimum number of drawers required |
---|---|---|
|
The pool includes drives from all five drawers and there are an equal number of drives in each drawer. A 60-drive tray can achieve Drawer Loss Protection when the disk pool contains 15, 20, 25, 30, 35, 40, 45, 50, 55, or 60 drives. |
5 |
|
The volume group contains no more than two drives in a single drawer. |
3 |
|
Each drive in the volume group is located in a separate drawer. |
3 |
|
Each drive in a mirrored pair must be located in a separate drawer. |
2 |
|
Cannot achieve Drawer Loss Protection. |
Not applicable |
Example command
create volume driveCount=2 volumeGroupUserLabel="FIPS_VG" raidLevel=1 userLabel="FIPS_V"
driveMediaType=HDD securityType=capable secureDrives=fips
Minimum firmware level
7.10 adds RAID Level 6 capability and the dssPreAllocate
parameter.
7.50 adds the securityType
parameter.
7.60 adds the drawerLossProtect
parameter.
7.75 adds the dataAssurance
parameter.
8.25 adds the secureDrives
parameter.
8.63 adds the resourceProvisioningCapable
parameter.
11.70 adds the blockSize
parameter.