Skip to main content
SANtricity commands

Create RAID volume (free extent based select)

Contributors netapp-driley

The create volume command creates a volume in the free space of a volume group.

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.


To execute this command on an E2800, E5700, EF600, or EF300 storage array, you must have the Storage Admin role.


create volume volumeGroup="volumeGroupName"
[mapping=(none | default)]
[cacheReadPrefetch=(TRUE | FALSE)]
[usageHint=(fileSystem | dataBase | multiMedia)]
[dssPreAllocate=(TRUE | FALSE)]
[securityType=(none | capable | enabled)]
[dataAssurance=(none | enabled)]


Parameter Description


The name of a specific volume group in your storage array. Enclose the volume group name in double quotation marks (" ").


The name that you want to give the new volume. Enclose the new volume name in double quotation marks (" ").


This parameter is required.


The index number of the free space in an existing volume group that you want to use to create the new volume. Free capacity is defined as the free capacity between existing volumes in a volume group. For example, a volume group might have the following areas: volume 1, free capacity, volume 2, free capacity, volume 3, free capacity. To use the free capacity following volume 2, you would enter this index number:



Run the show volumeGroup command to determine whether the free capacity area exists.


If this parameter is not specified, the volume is created in the lowest-numbered free capacity area with sufficient capacity for the volume.


The size of the volume that you are adding to the storage array. Size is defined in units of bytes, KB, MB, GB, or TB.


The controller that owns the volume. Valid controller identifiers are a or b, where a is the controller in slot A, and b is the controller in slot B. If you do not specify an owner, the controller firmware determines the owner.


The setting to turn on or turn off cache read prefetch. To turn on cache read prefetch, set this parameter to TRUE. To turn off cache read prefetch, set this parameter to FALSE.


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 8, 16, 32, 64, 128, 256, or 512.


The settings for both the cacheReadPrefetch parameter and the segmentSize parameter to be default values. The default values are based on the typical I/O usage pattern of the application that is using the volume. Valid values are fileSystem, dataBase, or multiMedia.


The setting to make sure that reserve capacity is allocated for future segment size increases. The default value is TRUE.


The setting to specify the security level when creating the volume groups and all associated volumes. These settings are valid:

none — The volume group and volumes are not secure.

capable — The volume group and volumes are capable of having security set, but security has not been enabled.

enabled — The volume group and volumes have security enabled.


This parameter enables you to map the volume to a host. If you want to map later, set this parameter to none. If you want to map now, set this parameter to default. The volume is mapped to all hosts that have access to the storage pool. The default value is none.


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.


You can use any combination of alphanumeric characters, hyphens, and underscores for the names. Names can have a maximum of 30 characters.

The owner parameter defines which controller owns the volume. The preferred controller ownership of a volume is the controller that currently owns the volume group.

If you do not specify a capacity using the capacity parameter, all of the available capacity in the free capacity area of 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 cacheReadPrefetch parameter or the segmentSize parameter. If you do not enter a value, the controller firmware uses the usageHint parameter with fileSystem as the default value. Entering a value for the usageHint parameter and a value for the cacheReadPrefetch parameter or a value for the segmentSize parameter does not cause an error. The value that you enter for the cacheReadPrefetch parameter or the segmentSize parameter takes priority over the value for the usageHint parameter. The segment size and cache read prefetch settings for various usage hints are shown in the following table:

Usage hint Segment size setting Dynamic cache read prefetch setting

File system

128 KB



128 KB



256 KB


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

Minimum firmware level

7.10 adds the dssPreAllocate parameter.

7.50 adds the securityType parameter.

7.75 adds the dataAssurance parameter.

11.70 adds the blockSize parameter.