Recurring syntax elements

Recurring syntax elements are a general category of parameters and options that you can use in the script commands. The following table lists the conventions used in the recurring syntax elements.

Convention Definition
a | b Alternative ("a" or "b")


Needs user input to fulfill a parameter (a response to a variable)
[ ... ] (square brackets) Zero or one occurrence (square brackets are also used as a delimiter for some command parameters)
{ ... } (curly braces) Zero or more occurrences
(a | b | c) Choose only one of the alternatives

The following table lists the recurring syntax parameters and the values that you can use with the recurring syntax parameters.

Recurring Syntax Syntax Value
autoconfigure-vols-attr- value-list autoconfigure-vols-attr-value-pair {autoconfigure-vols-attr-value-pair}
autoconfigure-vols-attr- value-pair
driveType=drive-type | driveMediaType=drive-media-type | 
raidLevel=raid-level | volumeGroupWidth=integer-literal | 
volumeGroupCount=integer-literal | volumesPerGroupCount=integer-literal6| 
hotSpareCount=integer-literal | segmentSize=segment-size-spec | cacheReadPrefetch=(TRUE | FALSE) 
securityType=(none | capable | enabled)7| dataAssurance=(none | enabled)5
cache-flush-modifier- setting
immediate, 0, .25, .5, .75, 1, 1.5, 2, 5, 10, 20, 60, 120, 300, 1200, 3600, infinite
capacity-spec integer-literal [KB | MB | GB | TB | Bytes]
count-based-repository- spec
repositoryRAIDLevel =repository-raid-level repositoryDriveCount=integer-literal 
[repositoryVolumeGroupUserLabel =user-label] [driveType=drive-type4
] [trayLossProtect=(TRUE | FALSE)1] | [drawerLossProtect=(TRUE | FALSE)2] | 
[dataAssurance=(none | enabled)5] |
create-raid-vol-attr- value-list create-raid-volume-attribute-value-pair {create-raid-volume-attribute-value-pair}
create-raid-volume- attribute-value-pair
capacity=capacity-spec | owner=(a | b) | 
cacheReadPrefetch=(TRUE | FALSE) | segmentSize=integer-literal | 
create-volume-copy-attr- value-list create-volume-copy-attr-value-pair {create-volume-copy-attr-value-pair}
create-volume-copy-attr- value-pair
copyPriority=(highest | high | medium | low | lowest) | 
targetReadOnlyEnabled=(TRUE | FALSE) | copyType=(offline | online) | 
repositoryPercentOfBase=(20 | 40 | 60 | 120 | default) | 
repositoryGroupPreference=(sameAsSource | otherThanSource | default)
drive-media-type (HDD | SSD | unknown | allMedia)

HDD means hard disk drive. SSD means solid state disk.

drive-spec trayID,slotID or trayID,drawerID,slotID

A drive is defined as two or three integer literal values separated by a comma. Low-density trays require two values. High-density trays, those trays that have drawers, require three values.

drive-spec-list drive-spec drive-spec
drive-type (fibre | SATA | SAS)
Note: Only SAS drives are supported for firmware versions 7.86 and later.
error-action (stop | continue)
enableIPv4=(TRUE | FALSE) | enableIPv6=(TRUE | FALSE) | 
IPv6LocalAddress=ipv6-address | IPv6RoutableAddress=ipv6-address | 
IPv6RouterAddress=ipv6-address | IPv4Address=ip-address | 
IPv4ConfigurationMethod= (static | dhcp) | IPv4GatewayIP=ip-address | 
IPv4SubnetMask=ip-address | duplexMode=(TRUE | FALSE) | portSpeed=(autoNegotiate | 10 | 100 | 
Note: All features in SANtricity 11.40 are enabled by default.
filename string-literal
gid string-literal
hex-literal A literal in the range of 0x00 - 0xFF.
host-card-identifier (1 | 2 | 3 | 4)
host-type string-literal | integer-literal
instance-based- repository-spec
(repositoryRAIDLevel =repository-raid-level repositoryDrives= (drive-spec-list) 
[repositoryVolumeGroupUserLabel =user-label] [trayLossProtect=(TRUE | FALSE)1]) | 
[drawerLossProtect=(TRUE | FALSE)2]) | (repositoryVolumeGroup=user-label 

Specify the repositoryRAIDLevel parameter with the repositoryDrives parameter. Do not specify the RAID level or the drives with the volume group. Do not set a value for the trayLossProtect parameter when you specify a volume group.

ip-address (0-255).(0-255).(0-255).(0-255)
ipv6-address (0-FFFF):(0-FFFF):(0-FFFF):(0-FFFF): (0-FFFF):(0-FFFF):(0-FFFF):(0-FFFF)

You must enter all 32 hexadecimal characters.

(1 | 2 | 3 | 4)

The host port number might be 2, 3, or 4 depending on the type of controller you are using.

IPv4Address=ip-address | IPv6LocalAddress=ipv6-address | 
IPv6RoutableAddress=ipv6-address | IPv6RouterAddress=ipv6-address | 
enableIPv4=(TRUE | FALSE) | enableIPv6=(TRUE | FALSE) | enableIPv4Priority=(TRUE | FALSE) | 
enableIPv6Priority=(TRUE | FALSE) | IPv4ConfigurationMethod=(static | dhcp) | 
IPv6ConfigurationMethod= (static | auto) | IPv4GatewayIP=ip-address | 
IPv6HopLimit=integer | IPv6NdDetectDuplicateAddress=integer | 
IPv6NdReachableTime=time-interval | IPv6NdRetransmitTime=time-interval | 
IPv6NdTimeOut=time-interval | IPv4Priority=integer | 
IPv6Priority=integer | IPv4SubnetMask=ip-address | 
IPv4VlanId=integer | IPv6VlanId=integer | 
maxFramePayload=integer | tcpListeningPort=tcp-port-id | 
portSpeed=(autoNegotiate | 1 | 10)
nvsram-offset hex-literal
nvsramBitSetting nvsram-mask, nvsram-value = 0xhexadecimal, 0xhexadecimal | integer-literal

The 0xhexadecimal value is typically a value from 0x00 to 0xFF.

nvsramByteSetting nvsram-value = 0xhexadecimal | integer-literal

The 0xhexadecimal value is typically a value from 0x00 to 0xFF.

(0 | 1 | 3 | 5 | 6)
recover-raid-volume-attr- value-list recover-raid-volume-attr-value-pair {recover-raid-volume-attr-value-pair}
recover-raid-volume-attr- value-pair
owner=(a|b) |cacheReadPrefetch=(TRUE | FALSE) | dataAssurance=(none | enabled)
(1 | 3 | 5 | 6)
repository-spec instance-based-repository-spec | count-based-repository-spec
segment-size-spec integer-literal - all capacities are in base-2.

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.

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

drives=(trayID1,[drawerID1,]slotID1 ... trayIDn,[drawerIDn,]slotIDn) )
test-devices-list test-devices {test-devices}
(GMT+HH:MM | GMT-HH:MM) [dayLightSaving=HH:MM]
trayID-list trayID {trayID}
usageHint=(multiMedia | database | fileSystem)

The usage hint, or expected I/O characteristics, of the volume are used by the controller to indicate an appropriate default volume segment size and dynamic cache read prefetch. For file system and database, a 128 KB segment size is used. For multimedia, a 256 KB segment size is used. All three usage hints enable dynamic cache read prefetch.

user-label string-literal

Valid characters are alphanumeric, the dash, and the underscore.

user-label-list user-label {user-label}
volumeGroup-number integer-literal
wwID string-literal

1For tray loss protection to work, your configuration must adhere to the following guidelines:

Level Criteria for Tray Loss Protection Minimum number of trays required
Disk Pool The disk pool contains no more than two drives in a single tray. 6
RAID 6 The volume group contains no more than two drives in a single tray. 3
RAID 3 or RAID 5 Each drive in the volume group is located in a separate tray. 3
RAID 1 Each drive in a RAID 1 pair must be located in a separate tray. 2
RAID 0 Cannot achieve Tray Loss Protection. Not applicable

2For drawer loss protection to work, your configuration must adhere to the following guidelines:

Level Criteria for drawer loss protection Minimum number of drawers required
Disk Pool 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
RAID 6 The volume group contains no more than two drives in a single drawer. 3
RAID 3 or RAID 5 Each drive in the volume group is located in a separate drawer. 3
RAID 1 Each drive in a mirrored pair must be located in a separate drawer. 2
RAID 0 Cannot achieve Drawer Loss Protection. Not applicable

If you have a storage array configuration in which a volume group spans several trays, you must make sure that the setting for drawer loss protection works with the setting for tray loss protection. You can have drawer loss protection without tray loss protection. You cannot have tray loss protection without drawer loss protection. If the trayLossProtect parameter and the drawerLossProtect parameter are not set to the same value, the storage array returns an error message and a storage array configuration will not be created.

3 To determine if a free capacity area exists, run the show volumeGroup command.

4 The default drive (drive type) is SAS.

The driveType parameter is not required if only one type of drive is in the storage array. If you use the driveType parameter, you also must use the hotSpareCount parameter and the volumeGroupWidth parameter.

5 The dataAssurance parameter relates to the Data Assurance (DA) feature.

The Data Assurance (DA) feature increases data integrity across the entire storage system. DA enables the storage array to check for errors that might occur when data is moved between the hosts and the drives. When this feature is enabled, the storage array appends error-checking codes (also known as cyclic redundancy checks or CRCs) to each block of data in the volume. After a data block is moved, the storage array uses these CRC codes to determine if any errors occurred during transmission. Potentially corrupted data is neither written to disk nor returned to the host.

If you want to use the DA feature, start with a pool or volume group that includes only drives that support DA. Then, create DA-capable volumes. Finally, map these DA-capable volumes to the host using an I/O interface that is capable of DA. I/O interfaces that are capable of DA include Fibre Channel, SAS, and iSER over InfiniBand (iSCSI Extensions for RDMA/IB). DA is not supported by iSCSI over Ethernet, or by the SRP over InfiniBand.

Note: When all the required hardware and the I/O interface is DA-capable, you can set the dataAssurance parameter to enabled and then use DA with certain operations. For example, you can create a volume group that includes DA-capable drives, and then create a volume within that volume group that is DA-enabled. Other operations that use a DA-enabled volume have options to support the DA feature.

6 The volumesPerGroupCount parameter is the number of equal-capacity volumes per volume group.

7 The securityType parameter enables you to specify the security setting for a volume group that you are creating. All of the volumes are also set to the security setting that you choose. Available options for setting the security setting include:
  • none – The volume group is not secure.
  • capable – The volume group is security capable, but security has not been enabled.
  • enabled – The volume group is security enabled.
Note: A storage array security key must already be created for the storage array if you want to set securityType=enabled. (To create a storage array security key, use the create storageArray securityKey command.)