Caution: It can take an extended period of time to create several hundred logical drives at once when using a script. For example, a script that creates 2048 logical drives may take several hours, possibly up to 24 hours, to execute.
Caution: To avoid possible problems with the client software, it is recommended that if you are creating more than 512 logical drives with a script that you first close any open Subsystem Management Windows before running this script and that you leave the Subsystem Management Windows closed while the script is running.
Important: When the Remote Mirroring premium feature is in use, there are limits to the number of logical drives that are supported on a given storage subsystem. For the 1742-90U/90X and 1742-1RU/1RX storage subsystems, up to 256 logical drives are supported. For the 3552 storage subsystem, up to 128 logical drives are supported.
For more information on standard logical drive creation, FlashCopy logical drive creation, remote logical drive mirroring, storage partition topology or logical drive-to-LUN mapping, see the Subsystem Management Window online help.
This reference contains commands and parameters that are current with the latest storage management software. If you are managing storage subsystems running firmware for previous releases, not all of these commands may be supported. See thefor a complete list of commands and their associated firmware levels.
create logicalDrive userLabel =<userLabel> [driveCount=<number of drives> OR drives=<drive list> OR array=<array number>];
where:
<userLabel> = any string up to 30 characters, surrounded by double quotes (").
Important:
The string cannot contain a new line.
You must surround the user label string with double quotes.
Choose a unique user label for the logical drive, or you will receive an error message.
Specify the unconfigured or free capacity to use to create the logical drive using one of the following parameters (square braces shown above are not required):
driveCount=<number of drives> where <number of drives> = number of unassigned drives you want to use.
drives=<drive list> where <drive list> = enclosureID, slotID of each unassigned drive, separated by spaces and surrounded by parenthesis
array=<array number> where <array number> = the sequence number of the array
Additional Parameters You Can Use When Creating a Standard Logical Drive
enforceSoftLimit = True or False, where True disallows creating more than 512 standard logical drives (including FlashCopy repository logical drives and mirror repository logical drives) on a 3552 storage subsystem.
Important: When you create a FlashCopy logical drive, you create an associated FlashCopy repository logical drive. Each FlashCopy repository logical drive counts against the 512 logical drive total. If you intend to create a FlashCopy logical drive for every standard logical drive in the 3552 storage subsystem, limit the total number of standard logical drives to 256.
Caution: This parameter applies only to the 3552 storage subsystem and should be specified only in very specific circumstances. Creating more than a total of 512 logical drives may result in severe performance or functional problems. If you must exceed this limit, use enforceSoftLimit=False. If you do not specify this parameter, by default the keyword value is True and the recommended limit of 512 standard logical drives on a 3552 storage subsystem will be enforced.
capacity = integer or decimal value + capacity units where capacity units = Bytes, KB, MB, GB, or TB. If you do not specify a capacity, all drive capacity available in the array is used. If you do not specify a capacity unit, Bytes is used by default.
owner = a or b where a = controller in slot A and b = controller in slot B. If you do not specify an owner, the owner is determined by the controller firmware.
RAIDLevel = 0, 1, 3, or 5 (RAID 1 is also commonly referred to as RAID 10 or 0+1).
readAheadMultiplier = any positive integer value. This is the parameter that sets the cache read ahead multiplier for the logical drive. This value is checked against the supported values provided by the controller at run time. If the value entered is not valid, the controller will return a list of appropriate values.
segmentSize = any positive integer value. This value is checked against the supported values provided by the controller at run time. If the value entered is not valid, the controller will return a list of appropriate values.
usageHint = fileSystem, dataBase, or multiMedia. This parameter sets default values for both the readAheadMultiplier and segmentSize parameters, based on the typical I/O usage pattern of the application using the logical drive (file system, database, or multimedia).
Important: If you do not specify either the readAheadMultiplier and/or the segmentSize parameter, the parameter associated with the fileSystem usageHint is used by default. If you specify either or both parameters, the specific value is used.
mapping = default or None. This value causes the logical drive to be created using the specified mapping setting. If no mapping parameter is specified, this value is automatically set to default. However, if no mapping parameter is specified and Storage Partitioning is enabled, this value defaults to None.
Note: You can specify all other logical drive parameters using the set command.
An additional 2000 MB logical drive is created on array 3 with the name "Chevy II".
The logical drive is owned by the controller owning the other logical drives on array 3.
The RAID level of the logical drive is the RAID level of the other logical drives on array 3.
FileSystem is used by default for the specified logical drive usage, which sets the segment size and cache read ahead multipliers to appropriate values for an application with I/O patterns typical of a file system.
Note: You can specify different controller owners for logical drives in the same array.
<baseLogicalDrive> = the userLabel of the base logical drive for the FlashCopy
Important:
If the baseLogicalDrive user label contains more than one word, white space, or any special character(s), then enclose the label in double quotes.
The <repositoryRAIDLevel> optional parameter is also required when you use the repositoryDriveCount or repositoryDrives optional parameters to place the repository logical drive on unconfigured capacity.
Additional Parameters You Can Use When Creating a FlashCopy Logical Drive
<userLabel> = any string up to 30 characters, surrounded by double quotes (").
<repositoryUserLabel> = any string up to 30 characters, surrounded by double quotes (").
Important: When you name the FlashCopy and repository logical drives:
The strings cannot contain a new line.
You must surround the string with double quotes.
Choose a unique user label for the logical drives, or you will receive an error message.
If you do not use the <userLabel> parameter, then the default name of the base logical drive is:
[base logical drive name] - sequence number
where sequence number is the chronological number of the FlashCopy relative to the base logical drive.
If you do not use the <repositoryUserLabel> parameter, then the default name for the associated repository logical drive is:
[base logical drive name] - R + sequence number
where sequence number is the chronological number of the FlashCopy relative to the base logical drive.
Specify the unconfigured or free capacity to use for the repository logical drive using one of the following parameters:
repositoryDriveCount= <number of drives>
where: <number of drives> = number of unassigned drives you want to use for the repository logical drive
repositoryDrives = <drive list>
where: <drive list> = enclosureID, slotID of each unassigned drive, separated by spaces and surrounded by parenthesis, that you want to use for the repository logical drive
repositoryArray = <array number>
where: <array number> = the sequence number of the array on which to place the repository logical drive
Important: If you do not specify the unconfigured or free capacity to use, the repository logical drive is placed on the same array as the base logical drive for the FlashCopy. If there is not enough room on the array where the base logical drive resides, then the command will fail.
<repositoryRAIDLevel> = 0, 1, 3, or 5 (RAID 1 is also commonly referred to as RAID 10 or 0+1)
Important: The <repositoryRAIDLevel> optional parameter is required when you use the repositoryDriveCount or repositoryDrives optional parameters to place the repository logical drive on unconfigured capacity.
warningThresholdPercent = integer value of the repository full percentage threshold before you receive a warning. If you do not specify a value, the value 50% is used by default.
repositoryPercentofBase = integer value of the percentage of the base logical drive to use as the size for the repository logical drive. If you do not specify a value, 20% is used by default.
repositoryFullPolicy = failBaseWrites or failFlashCopy. This value specifies the behaviour of the controller when the repository logical drive fills up. If you do not specify a value, failFlashCopy is used by default.
Note: You can specify or change the WarningThresholdPercent and repositoryFullPolicy values later using the set command.
Command statement to create a FlashCopy logical drive and place the associated repository logical drive, by default, on the same array as the base logical drive:
A FlashCopy logical drive named "Chevelle-Sequence #" is created based on the standard logical drive "Chevelle"
where sequence number is the chronological number of the FlashCopy relative to the base logical drive.
A repository logical drive called "Chevelle-R Sequence #" that is 20% the size of the base logical drive "Chevelle" is created. This logical drive is placed on the same array where the base logical drive "Chevelle" resides. The array will already have a particular RAID level.
The R is used to distinguish the logical drive as a repository logical drive, and sequence number is the chronological number of the FlashCopy relative to the base logical drive
By default, the FlashCopy will fail if the associated repository logical drive fills up, and you will receive a warning when the repository logical drive fills to 50% full.
Command statement to create a FlashCopy logical drive using any unassigned drives (unconfigured capacity) for the associated repository logical drive:
A FlashCopy logical drive named "Chevelle-S1" is created based on the standard logical drive "Chevelle"
Four available, unassigned drives are used for a RAID 1 repository logical drive called "Chevelle-R1" that is 25% the size of the base logical drive "Chevelle"
By default, the FlashCopy will fail if the associated repository logical drive fills up, and you will receive a warning when the repository logical drive fills to 50% full.
Command statement to create a FlashCopy logical drive using specific unassigned drives (unconfigured capacity) for the associated repository logical drive
A FlashCopy logical drive named "Chevelle-S1" is created based on the standard logical drive "Chevelle"
An associated RAID 5 repository logical drive is created with the name "Chevelle-R1," using the 5 specified drives with the enclosureID, slotID designation
The associated repository logical drive is 25% the size of the base logical drive "Chevelle"
By default, the FlashCopy will fail if the associated repository logical drive fills up, and you will receive a warning when the repository logical drive fills to 50% full
Create a FlashCopy logical drive using free capacity on Array 3 (an existing array) for the associated repository logical drive:
A FlashCopy logical drive named "Chevelle-S1" is created based on the standard logical drive "Chevelle"
Free capacity on Array 3 is used for a RAID 1 repository logical drive called "Chevelle-R1" that is 25% the size of the base logical drive "Chevelle"
By default, the FlashCopy will fail if the associated repository logical drive fills up, and you will receive a warning when the repository logical drive fills to 50% full
<"host label"> = the user label of the host for which you are defining a host port, surrounded by double quotes (")
<"port label"> = the name you want to give the newly defined host port, surrounded by double quotes (")
<WWN> = the World-Wide Name of the host port, surrounded by double quotes ("). Important: The Script Engine does not check the validity of WWNs. Use an OS-specific utility to find the correct WWNs of the host bus adapters.
<hostTypeIdentifier> = the index number of the host port's host type. To obtain a list of available hostTypeIdentifiers, use the show storageSubsystem hostTypeTable; command.
Important: You must surround the host label, port label, and WWN strings with double quotes. The hostTypeIdentifier will also need to be surrounded by quotes if the label contains numbers or spaces.
<"logical drive label"> = the user label of the logical drive you want to use in the mapping.
Important: If the logical drive user label contains more than one word, white space, or any special character(s), then enclose the label in double quotes.
and
<logicalUnitNumber> = the integer value of the LUN you want to use in the mapping. Note that each host has it's own LUN address space, and the LUN you specify must be available on the host participating in the mapping. If you are mapping to a host group the LUN you specify must be available on every host in the host group.
Additional Parameters You Can Use When Creating a Mapping
host or hostGroup = the defined name of the host or host group topological element that you are granting logical drive access to.
Important: If the host or hostGroup user label contains more than one word, white space, or any special character(s), then enclose the label in double quotes.
Note: If you do not use these optional parameters to specify a host or a host group when creating a mapping, the Default Host Group is used by default.