Skip to main content

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.

ConventionDefinition
a | bAlternative ("a" or "b")

italicized-words

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 SyntaxSyntax Value
autoconfigure-vols-attr- value-listautoconfigure-vols-attr-value-pair {autoconfigure-vols-attr-value-pair}
autoconfigure-vols-attr- value-pair
driveType=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231482" className="keyword varname">drive-type</var> | 
driveMediaType=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231483" className="keyword varname">drive-media-type</var> |
raidLevel=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231484" className="keyword varname">raid-level</var> |
volumeGroupWidth=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231485" className="keyword varname">integer-literal</var> |
volumeGroupCount=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231486" className="keyword varname">integer-literal</var> |
volumesPerGroupCount=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231487" className="keyword varname">integer-literal</var><sup className="ph sup">6</sup>|
hotSpareCount=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231488" className="keyword varname">integer-literal</var> |
segmentSize=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231489" className="keyword varname">segment-size-spec</var> |
cacheReadPrefetch=(TRUE | FALSE)
securityType=(none | capable | enabled)<sup className="ph sup">7</sup>|
dataAssurance=(none | enabled)<sup className="ph sup">5</sup>

boolean
(TRUE | FALSE)

cache-flush-modifier- setting
immediate, 0, .25, .5, .75, 1, 1.5, 2, 5, 10, 20, 60, 120, 300, 1200, 3600, infinite
capacity-specinteger-literal [KB | MB | GB | TB | Bytes]
count-based-repository- spec
repositoryRAIDLevel =<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231464" className="keyword varname">repository-raid-level</var> 
repositoryDriveCount=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231465" className="keyword varname">integer-literal</var>
[repositoryVolumeGroupUserLabel =<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231466" className="keyword varname">user-label</var>]
[driveType=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231467" className="keyword varname">drive-type</var><sup className="ph sup">4</sup>]
[trayLossProtect=(TRUE | FALSE)<sup className="ph sup">1</sup>] |
[drawerLossProtect=(TRUE | FALSE)<sup className="ph sup">2</sup>] |
[dataAssurance=(none | enabled)<sup className="ph sup">5</sup>] |
create-raid-vol-attr- value-listcreate-raid-volume-attribute-value-pair {create-raid-volume-attribute-value-pair}
create-raid-volume- attribute-value-pair
capacity=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231440" className="keyword varname">capacity-spec</var> | 
owner=(<span className="ph">a</span> | <span className="ph">b</span>) |
cacheReadPrefetch=(TRUE | FALSE) |
segmentSize=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231441" className="keyword varname">integer-literal</var> |
usageHint=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231442" className="keyword varname">usage-hint-spec</var>

create-volume-copy-attr- value-listcreate-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-spectrayID,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-listdrive-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)
ethernet-port-options
enableIPv4=(TRUE | FALSE) | 
enableIPv6=(TRUE | FALSE) |
IPv6LocalAddress=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231496" className="keyword varname">
ipv6-address</var> | IPv6RoutableAddress=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231497" className="keyword varname">ipv6-address</var> |
IPv6RouterAddress=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231498" className="keyword varname">ipv6-address</var> |
IPv4Address=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231499" className="keyword varname">ip-address</var> |
IPv4ConfigurationMethod= (static | dhcp) | IPv4GatewayIP=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231500" className="keyword varname">ip-address</var> |
IPv4SubnetMask=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231501" className="keyword varname">ip-address</var> |
duplexMode=(TRUE | FALSE) |
portSpeed=(autoNegotiate | 10 | 100 | 1000)

feature-identifier
Note
All features in ThinkSystem SAN OS 11.40 are enabled by default.
filenamestring-literal
gidstring-literal
hex-literalA literal in the range of 0x00 - 0xFF.
host-card-identifier(1 | 2 | 3 | 4)
host-typestring-literal | integer-literal
instance-based- repository-spec
(repositoryRAIDLevel =<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231458" className="keyword varname">repository-raid-level</var> 
repositoryDrives= (<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231459" className="keyword varname">drive-spec-list</var>)
[repositoryVolumeGroupUserLabel =<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231460" className="keyword varname">user-label</var>]
[trayLossProtect=(TRUE | FALSE)<sup className="ph sup">1</sup>]) |
[drawerLossProtect=(TRUE | FALSE)<sup className="ph sup">2</sup>]) |
(repositoryVolumeGroup=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231462" className="keyword varname">user-label</var>
[freeCapacityArea=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231463" className="keyword varname">integer-literal</var><sup className="ph sup">3</sup>])

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.

iscsi-host-port
(1 | 2 | 3 | 4)

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

iscsi-host-port-options
IPv4Address=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231502" className="keyword varname">ip-address</var> | 
IPv6LocalAddress=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231503" className="keyword varname">ipv6-address</var> |
IPv6RoutableAddress=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231504" className="keyword varname">ipv6-address</var> |
IPv6RouterAddress=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231505" className="keyword varname">ipv6-address</var> |
enableIPv4=(TRUE | FALSE) |
enableIPv6=(TRUE | FALSE) |
enableIPv4Priority=(TRUE | FALSE) |
enableIPv6Priority=(TRUE | FALSE) |
IPv4ConfigurationMethod=(static | dhcp) |
IPv6ConfigurationMethod= (static | auto) |
IPv4GatewayIP=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231506" className="keyword varname">ip-address</var> |
IPv6HopLimit=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231507" className="keyword varname">integer</var> |
IPv6NdDetectDuplicateAddress=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231508" className="keyword varname">integer</var> |
IPv6NdReachableTime=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231509" className="keyword varname">time-interval</var> |
IPv6NdRetransmitTime=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231510" className="keyword varname">time-interval</var> |
IPv6NdTimeOut=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231511" className="keyword varname">time-interval</var> |
IPv4Priority=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231512" className="keyword varname">integer</var> |
IPv6Priority=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231513" className="keyword varname">integer</var> |
IPv4SubnetMask=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231514" className="keyword varname">ip-address</var> |
IPv4VlanId=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231515" className="keyword varname">integer</var> |
IPv6VlanId=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231516" className="keyword varname">integer</var> |
maxFramePayload=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231517" className="keyword varname">integer</var> |
tcpListeningPort=<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231518" className="keyword varname">tcp-port-id</var> |
portSpeed=(autoNegotiate | 1 | 10)
iscsiSession
[<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231495" className="keyword varname">session-identifier</var>]
nvsram-offsethex-literal
nvsramBitSettingnvsram-mask, nvsram-value = 0xhexadecimal, 0xhexadecimal | integer-literal

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

nvsramByteSettingnvsram-value = 0xhexadecimal | integer-literal

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

portID
(0-127)

raid-level
(0 | 1 | 3 | 5 | 6)

recover-raid-volume-attr- value-listrecover-raid-volume-attr-value-pair {recover-raid-volume-attr-value-pair}
recover-raid-volume-attr- value-pair
owner=(<span className="ph">a</span>|<span className="ph">b</span>) |cacheReadPrefetch=(TRUE | FALSE) | dataAssurance=(none | enabled)

repository-raid-level
(1 | 3 | 5 | 6)

repository-specinstance-based-repository-spec | count-based-repository-spec
segment-size-specinteger-literal - all capacities are in base-2.
serial-number
string-literal

slotID

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 ([ ]).

(<span className="ph"> drive=(trayID,[drawerID,]slotID) </span>|
<span className="ph"> drives=(<var className="keyword varname">trayID1,[drawerID1,]slotID1
... trayIDn,[drawerIDn,]slotIDn</var>) </span> )
test-devices
controller=(<span className="ph">a</span>|<span className="ph">b</span>) 
esms=(<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231521" className="keyword varname">esm-spec-list</var>)drives=(<var id="GUID-27B44A94-CF78-4A35-85BA-0E3466B9AB1F__V1231522" className="keyword varname">drive-spec-list</var>)
test-devices-listtest-devices {test-devices}
time-zone-spec
(GMT+HH:MM | GMT-HH:MM) [dayLightSaving=HH:MM]
trayID-listtrayID {trayID}
usage-hint-spec
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-labelstring-literal

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

user-label-listuser-label {user-label}
volumeGroup-numberinteger-literal
wwIDstring-literal

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

LevelCriteria for Shelf Loss ProtectionMinimum number of shelves required
Pool

The pool contains no more than two drives in a single shelf.

6
RAID 6

The volume group contains no more than two drives in a single shelf.

3
RAID 3 or RAID 5

Each drive in the volume group is located in a separate shelf.

3
RAID 1

Each drive in a RAID 1 pair must be located in a separate shelf.

2
RAID 0

Cannot achieve Shelf Loss Protection.

Not applicable

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

LevelCriteria for drawer loss protectionMinimum number of drawers required
PoolThe pool includes drives from all five drawers and there are an equal number of drives in each drawer. A 60-drive shelf can achieve Drawer Loss Protection when the pool contains 15, 20, 25, 30, 35, 40, 45, 50, 55, or 60 drives.5
RAID 6The volume group contains no more than two drives in a single drawer.3
RAID 3 or RAID 5Each drive in the volume group is located in a separate drawer.3
RAID 1Each drive in a mirrored pair must be located in a separate drawer.2
RAID 0Cannot 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 storage system. DA enables the storage array to check for errors that might occur when data is moved between the controllers and 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 not written to disk.

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.)