Set volume attributes for a volume in a volume group
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.
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 | ||||
---|---|---|---|---|---|
|
This parameter sets the properties for all of the volumes in the storage array. |
||||
|
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. |
||||
|
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 (< >).
|
||||
|
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:
If the volume names have special characters or numbers, enter the names using these rules:
|
||||
|
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. |
||||
|
The setting to turn on or turn off caching without batteries. To turn on caching without batteries, set this parameter to |
||||
|
The setting to turn on or turn off media scan for the volume. To turn on media scan, set this parameter to |
||||
|
The setting to turn on or turn off the mirror cache. To turn on the mirror cache, set this parameter to |
||||
|
The priority for volume modifications while the storage array is operational. Valid values are |
||||
|
The controller that owns the volume. Valid controller identifiers are |
||||
|
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
|
||||
|
The setting to turn on or turn off the read cache. To turn on the read cache, set this parameter to |
||||
|
The setting to turn on or turn off the write cache. To turn on the write cache, set this parameter to |
||||
|
The setting to turn on or turn off cache read prefetch. To turn off cache read prefetch, set this parameter to |
||||
|
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.
To remove data assurance from a volume that supports data assurance, set this parameter to
To reset data assurance for the data on a volume, from which you removed data assurance, perform these steps:
|
||||
|
The setting to increase the storage size (capacity) of the volume for which you are defining properties. Size is defined in units of |
||||
|
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 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 |
||||
|
The setting to turn on or turn off redundancy checking during a media scan. To turn on redundancy checking, 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 new name that you want to give an existing volume. Enclose the new volume name in double quotation marks (" "). |
||||
|
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 |
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 |
---|---|
|
Data is flushed as soon as it is placed into the cache. |
|
Data is flushed after 250 ms. |
|
Data is flushed after 500 ms. |
|
Data is flushed after 750 ms. |
|
Data is flushed after 1 s. |
|
Data is flushed after 1500 ms. |
|
Data is flushed after 2 s. |
|
Data is flushed after 5 s. |
|
Data is flushed after 10 s. |
|
Data is flushed after 20 s. |
|
Data is flushed after 60 s (1 min.). |
|
Data is flushed after 120 s (2 min.). |
|
Data is flushed after 300 s (5 min.). |
|
Data is flushed after 1200 s (20 min.). |
|
Data is flushed after 3600 s (1 hr). |
|
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. |
Do not set the value of the |
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.