Skip to main content
SANtricity commands

Set volume attributes for a volume in a volume group

Contributors netapp-driley

The set volume command defines the properties for volumes in 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.

Roles

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

Context

You can use most parameters to define properties for one or more volumes. You also can use some parameters to define properties for only one volume. The syntax definitions are separated to show which parameters apply to several volumes and which apply to only one volume.

Note

In configurations where volume groups consist of more than 32 volumes, the operation can result in host I/O errors or internal controller reboots due to the expiration of the timeout period before the operation completes. If you experience host I/O errors or internal controller reboots, quiesce the host I/O and try the operation again.

Syntax applicable to one or more volumes

set (allVolumes | volume [volumeName] |
volumes [volumeName1 ... volumeNameN] | volume <"wwID">)
cacheFlushModifier=cacheFlushModifierValue
cacheWithoutBatteryEnabled=(TRUE | FALSE)
mediaScanEnabled=(TRUE | FALSE)
mirrorCacheEnabled=(TRUE | FALSE)
modificationPriority=(highest | high | medium | low | lowest)
owner=(a|b)
preReadRedundancyCheck=(TRUE | FALSE)
readCacheEnabled=(TRUE | FALSE)
writeCacheEnabled=(TRUE | FALSE)
cacheReadPrefetch=(TRUE | FALSE)
dataAssuranceDisabled=(TRUE | FALSE)
set (allVolumes | volume [volumeName] |
volumes [volumeName1 ... volumeNameN] | volume <"wwID">)
cacheFlushModifier=cacheFlushModifierValue
cacheWithoutBatteryEnabled=(TRUE | FALSE)
mediaScanEnabled=(TRUE | FALSE)
mirrorCacheEnabled=(TRUE | FALSE)
modificationPriority=(highest | high | medium | low | lowest)
owner=(a|b)
preReadRedundancyCheck=(TRUE | FALSE)
readCacheEnabled=(TRUE | FALSE)
writeCacheEnabled=(TRUE | FALSE)
cacheReadPrefetch=(TRUE | FALSE)
dataAssuranceDisabled=(TRUE | FALSE)
set (allVolumes | volume ["volumeName"] |
volumes ["volumeName1" ... "volumeNameN"] | volume <"wwID">)
cacheFlushModifier=cacheFlushModifierValue
cacheWithoutBatteryEnabled=(TRUE | FALSE)
mediaScanEnabled=(TRUE | FALSE)
mirrorCacheEnabled=(TRUE | FALSE)
modificationPriority=(highest | high | medium | low | lowest)
owner=(a|b)
preReadRedundancyCheck=(TRUE | FALSE)
readCacheEnabled=(TRUE | FALSE)
writeCacheEnabled=(TRUE | FALSE)
cacheReadPrefetch=(TRUE | FALSE)
dataAssuranceDisabled=(TRUE | FALSE)
set (allVolumes | volume [volumeName] |
volumes [volumeName1 ... volumeNameN] | volume <"wwID">)
cacheFlushModifier=cacheFlushModifierValue
cacheWithoutBatteryEnabled=(TRUE | FALSE)
mediaScanEnabled=(TRUE | FALSE)
mirrorCacheEnabled=(TRUE | FALSE)
modificationPriority=(highest | high | medium | low | lowest)
owner=(a|b)
readCacheEnabled=(TRUE | FALSE)
writeCacheEnabled=(TRUE | FALSE)
cacheReadPrefetch=(TRUE | FALSE)
dataAssuranceDisabled=(TRUE | FALSE)
set (allVolumes | volume ["volumeName"] |
volumes ["volumeName1" ... "volumeNameN"] | volume <"wwID">)
cacheFlushModifier=cacheFlushModifierValue
cacheWithoutBatteryEnabled=(TRUE | FALSE)
mediaScanEnabled=(TRUE | FALSE)
mirrorCacheEnabled=(TRUE | FALSE)
modificationPriority=(highest | high | medium | low | lowest)
owner=(a|b)
readCacheEnabled=(TRUE | FALSE)
writeCacheEnabled=(TRUE | FALSE)
cacheReadPrefetch=(TRUE | FALSE)
dataAssuranceDisabled=(TRUE | FALSE)
set (allVolumes | volume [volumeName] |
volumes [volumeName1 ... volumeNameN] | volume <"wwID">)
cacheFlushModifier=cacheFlushModifierValue
cacheWithoutBatteryEnabled=(TRUE | FALSE)
mediaScanEnabled=(TRUE | FALSE)
mirrorCacheEnabled=(TRUE | FALSE)
modificationPriority=(highest | high | medium | low | lowest)
owner=(a|b)
readCacheEnabled=(TRUE | FALSE)
writeCacheEnabled=(TRUE | FALSE)
cacheReadPrefetch=(TRUE | FALSE)
reservedFutureOption1=(TRUE | FALSE)

Syntax applicable to only one volume

set (volume [volumeName] | volume <wwID>)
addCapacity=volumeCapacity
[addDrives=(trayID1,drawerID1,slotID1 ... trayIDn,drawerIDn,slotIDn)]
redundancyCheckEnabled=(TRUE | FALSE)
segmentSize=segmentSizeValue
userLabel=volumeName
preReadRedundancyCheck=(TRUE | FALSE)
set (volume ["volumeName"] | volume <wwID>)
addCapacity=volumeCapacity
[addDrives=(trayID1,drawerID1,slotID1
... trayIDn,drawerIDn,slotIDn)]
redundancyCheckEnabled=(TRUE | FALSE)
segmentSize=segmentSizeValue
userLabel=volumeName
preReadRedundancyCheck=(TRUE | FALSE)
set (volume [volumeName] | volume <wwID>)
addCapacity=volumeCapacity
[addDrives=(trayID1,slotID1 ... trayIDn,slotIDn)]
redundancyCheckEnabled=(TRUE | FALSE)
segmentSize=segmentSizeValue
userLabel=volumeName
preReadRedundancyCheck=(TRUE | FALSE)

Parameters

Parameter Description

allVolumes

This parameter sets the properties for all of the volumes in the storage array.

volume

The name of the volume for which you want to define properties. Enclose the volume name in square brackets ([ ]). If the volume name has special characters or numbers, you must enclose the volume name in double quotation marks (" ") inside square brackets.

volume

The World Wide Identifier (WWID) of the volume for which you want to define properties. Enclose the WWID in double quotation marks (" ") inside angle brackets (< >).

Note

When running this command, do not use colon separators in the WWID.

volumes

The names of several volumes for which you want to define properties. All of the volumes will have the same properties. Enter the names of the volumes using these rules:

  • Enclose all of the names in square brackets ([ ]).

  • Separate each of the names with a space.

If the volume names have special characters or numbers, enter the names using these rules:

  • Enclose all of the names in square brackets ([ ]).

  • Enclose each of the names in double quotation marks (" ").

  • Separate each of the names with a space.

cacheFlushModifier

The maximum amount of time that data for the volume stays in cache before the data is flushed to physical storage. Valid values are listed in the Notes section.

cacheWithoutBatteryEnabled

The setting to turn on or turn off caching without batteries. To turn on caching without batteries, set this parameter to TRUE. To turn off caching without batteries, set this parameter to FALSE.

mediaScanEnabled

The setting to turn on or turn off media scan for the volume. To turn on media scan, set this parameter to TRUE. To turn off media scan, set this parameter to FALSE. (If media scan is disabled at the storage array level, this parameter has no effect.)

mirrorCacheEnabled

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

modificationPriority

The priority for volume modifications while the storage array is operational. Valid values are highest, high, medium, low, or lowest.

owner

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. Use this parameter only if you want to change the volume owner.

preReadRedundancyCheck

The setting to turn on or turn off pre-read redundancy checking. Turning on pre-read redundancy checking verifies the consistency of RAID redundancy data for the stripes containing the read data. Pre-read redundancy checking is performed on read operations only. To turn on pre-read redundancy checking, set this parameter to TRUE. To turn off pre-read redundancy checking, set this parameter to FALSE.

Note

Do not use this parameter on non-redundant volumes, such as RAID 0 volumes.

readCacheEnabled

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

writeCacheEnabled

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

cacheReadPrefetch

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

dataAssuranceDisabled

The setting to turn off data assurance for a specific volume.

For this parameter to have meaning, your volume must be capable of data assurance. This parameter changes a volume from one that supports data assurance to a volume that cannot support data assurance.

Note

This option is only valid for enablement if the drives support DA.

To remove data assurance from a volume that supports data assurance, set this parameter to TRUE.

Note

If you remove data assurance from a volume, you cannot reset data assurance for that volume.

To reset data assurance for the data on a volume, from which you removed data assurance, perform these steps:

  1. Remove the data from the volume.

  2. Delete the volume.

  3. Recreate a new volume with the properties of the deleted volume.

  4. Set data assurance for the new volume.

  5. Move the data to the new volume.

addCapacity

The setting to increase the storage size (capacity) of the volume for which you are defining properties. Size is defined in units of bytes, KB, MB, GB, or TB. The default value is bytes.

addDrives

For high-capacity drive trays, specify the tray ID value, the drawer ID value, and the slot ID value for the drive. For low-capacity drive trays, specify the tray ID value and the slot ID value for the drive. Tray ID values are 0 to 99. Drawer ID values are 1 to 5.

All slot ID maximums are 24. Slot ID values either begin at 0 or 1, depending on the tray model. Drive trays compatible with E2800 and E5700 controllers have slot ID numbers starting at 0. Drive trays compatible with E2700 and E5600 controllers have slot ID numbers starting at 1.

Enclose the tray ID value, the drawer ID value, and the slot ID value in square brackets ([ ]).

Use this parameter with the addCapacity parameter if you need to specify additional drives to accommodate the new size.

redundancyCheckEnabled

The setting to turn on or turn off redundancy checking during a media scan. To turn on redundancy checking, set this parameter to TRUE. To turn off redundancy checking, set this parameter to FALSE.

segmentSize

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.

userLabel

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

preReadRedundancyCheck

The setting to check the consistency of RAID redundancy data on the stripes during read operations. Do not use this operation for non-redundant volumes, for example RAID Level 0. To check redundancy consistency, set this parameter to TRUE. For no stripe checking, set this parameter to FALSE.

Notes

Host I/O errors might result in volume groups with more than 32 volumes. This operation might also result in internal controller reboots due to the expiration of the timeout period before the operation completes. If you experience this issue, quiesce host I/O, and try the operation again.

When you use this command, you can specify one or more of the optional parameters.

You can apply these parameters to only one volume at a time:

  • addCapacity

  • segmentSize

  • userLabel

  • logicalUnitNumber

Add capacity, add drives, and segment size

Setting the addCapacity parameter, the addDrives parameter, or the segmentSize parameter starts a long-running operation that you cannot stop. These long-running operations are performed in the background and do not prevent you from running other commands. To show the progress of long-running operations, use the show volume actionProgress command.

Cache flush modifier

Valid values for the cache flush modifier are listed in this table.

Value Description

Immediate

Data is flushed as soon as it is placed into the cache.

.25

Data is flushed after 250 ms.

.5

Data is flushed after 500 ms.

.75

Data is flushed after 750 ms.

1

Data is flushed after 1 s.

1.5

Data is flushed after 1500 ms.

2

Data is flushed after 2 s.

5

Data is flushed after 5 s.

10

Data is flushed after 10 s.

20

Data is flushed after 20 s.

60

Data is flushed after 60 s (1 min.).

120

Data is flushed after 120 s (2 min.).

300

Data is flushed after 300 s (5 min.).

1200

Data is flushed after 1200 s (20 min.).

3600

Data is flushed after 3600 s (1 hr).

Infinite

Data in cache is not subject to any age or time constraints. The data is flushed based on other criteria that are managed by the controller.

Note

Do not set the value of the cacheFlushModifier parameter above 10 seconds. An exception is for testing purposes. After running any tests in which you have set the values of the cacheFlushModifier parameter above 10 seconds, return the value of the cacheFlushModifier parameter to 10 or fewer seconds.

Cache without battery enabled

Write caching without batteries enables write caching to continue if the controller batteries are completely discharged, not fully charged, or not present. If you set this parameter to TRUE without an uninterruptible power supply (UPS) or other backup power source, you can lose data if the power to the storage array fails. This parameter has no effect if write caching is disabled.

Modification priority

Modification priority defines the amount of system resources that are used when modifying volume properties. If you select the highest priority level, the volume modification uses the most system resources, which decreases the performance for host data transfers.

Cache read prefetch

The cacheReadPrefetch parameter enables the controller to 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. The configuration settings for the storage array that you use determine the number of additional data blocks that the controller reads into cache. Valid values for the cacheReadPrefetch parameter are TRUE or FALSE.

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.

Minimum firmware level

5.00 adds the addCapacity parameter.

7.10 adds the preReadRedundancyCheck parameter.

7.60 adds the drawerID user input.

7.75 adds the dataAssuranceDisabled parameter.

8.10 corrects the values for the cacheFlushModifier parameter in the cache flush table.