Using the create Command

Related Topics

Use this command and its parameters to do the following:

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 4884 storage subsystem, up to 256 logical drives are supported. For the 4774 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.

If you want to...

Use this command and parameters

create a logical drive

Back to the top

Base Command and Required Parameters

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

Back to the top

  • 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 4774 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 4774 storage subsystem, limit the total number of standard logical drives to 256.
    • Caution: This parameter applies only to the 4774 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 4774 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 you do not specify a value, None is used by default.

Note: You can specify all other logical drive parameters using the set command.

Examples

Back to the top

Command statement to create a logical drive using any unassigned drives (unconfigured capacity):

create logicalDrive driveCount=4 RAIDLevel=1 capacity=10GB owner=a readAheadMultiplier=5 segmentSize=256 userLabel="Chevelle" mapping=none;

Execution results:

  • A RAID 1, 10 GB logical drive is created with the name "Chevelle" using 4 available, unassigned drives.
  • The logical drive is owned by the controller in slot A with a cache read ahead multiplier of 5 and a segment size of 256K.
  • None is used by default for the mapping usage.

Command statement to create a logical drive using specific unassigned drives (unconfigured capacity):

create logicalDrive drives=(1,1 1,2 1,3 1,4 1,5) RAIDLevel=5 userLabel="Nova";

Execution Results:

  • A RAID 5 logical drive is created with the name "Nova" using the 5 specified drives with the enclosureID, slotID designation.
  • The logical drive's capacity uses the entire capacity included on the 5 specified drives minus the factor included for redundancy.
  • Because the owner was not specified, it is determined by the controller firmware.
  • FileSystem is used by default for the specified logical drive usage.

Command statement to create an array on array 3 (use free capacity):

create logicalDrive array=3 capacity=2000MB userLabel="Chevy II";

Execution Results:

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

create a FlashCopy logical drive

Back to the top

Base Command and Required Parameters

create FlashCopylogicaldrive baselogicaldrive=<baselogicaldrive>;

where:

<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

Back to the top

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

Examples

Back to the top

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:

create FlashCopylogicaldrive baselogicaldrive="Chevelle";

Execution results:

  • 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:

create FlashCopylogicaldrive baselogicaldrive="Chevelle" repositoryDriveCount=4 userLabel="Chevelle-S1" repositoryPercentofBase = 25 repositoryRAIDLevel = 1 repositoryUserLabel = "Chevelle-R1";

Execution results:

  • 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

create FlashCopylogicaldrive baselogicaldrive="Chevelle" repositoryDrives=(1,1 1,2 1,3 1,4 1,5) userLabel="Chevelle-S1" repositoryPercentofBase=25 repositoryRAIDLevel=5 repositoryUserLabel="Chevelle-R1";

Execution results:

  • 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:

create FlashCopylogicaldrive baselogicaldrive="Chevelle" repositoryarray=3 userLabel="Chevelle-S1" repositoryPercentofBase=25 repositoryRAIDLevel=1 repositoryUserLabel="Chevelle-R1";

Execution results:

  • 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

create storage partition topology

Back to the top

Base Command and Required Parameters to Define a Host Group

create hostGroup userLabel=<"group label">;

where:

<"group label"> = the name you want to give the newly defined host group, surrounded by double quotes (").

Important: You must surround the group label string with double quotes.

Base Command and Required Parameters to Define a Host

Back to the top

create host userLabel=<"host label">;

where:

<"host label"> = the name you want to give the newly defined host, surrounded by double quotes (")

Important: You must surround the host label string with double quotes.

Additional Parameter You Can Use When Defining a Host

Back to the top

hostGroup=<hostGroup>

where:

hostGroup = the defined name (group label) of the host group to which you want the newly defined host to belong, surrounded by double quotes (").

Important: You must surround the host group label string with double quotes.

Note: If you do not use this optional parameter to specify a host group, then the newly defined host will not belong to a host group.

Base Command and Required Parameters to Define a Host Port

Back to the top

create hostPort host=<"host label"> userLabel="<"port label"> identifier=<WWN> hostType=<hostTypeIdentifier>;

where:

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

Examples

Back to the top

Command statement to create a host group definition:

create hostGroup userLabel="Midwest Group";

Execution results:

  • You have created a defined host group named "Midwest Group".
  • This host group appears in the Subsystem Management Window Mappings View.

Command statement to create a host definition and assign the host to host group Midwest Group:

create host userLabel="Kansas City" hostGroup="Midwest Group";

Execution results:

  • You have created a defined host named "Kansas City".
  • This host appears as a child node of the host group "Midwest Group" in the Subsystem Management Window Mappings View

Command statement to create a host port definition for host Kansas City:

create hostPort host="Kansas City" userLabel="Kansas City A-1" identifier="3538373039333532" hostType=1;

Execution results:

  • You have created a defined host port named "Kansas City A-1" on host Kansas City.
  • The defined host port appears as a child node of host "Kansas City" in the Subsystem Management Window Mappings View.

create a logical drive -to-LUN mapping

Back to the top

Base Command and Required Parameters

create mapping logicalDrive=<"logical drive label"> logicalUnitNumber=<logicalUnitNumber>;

where:

<"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

Back to the top

host or hostGroup=<host or hostGroup>

where:

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.

Example

Back to the top

Command statement:

create mapping logicalDrive="Chevelle-S1" logicalUnitNumber=4 host=BackupServer;

Execution results:

  • You have granted specific access by host BackupServer to the FlashCopy logical drive "Chevelle-S1".
  • BackupServer will use LUN 4 to access this logical drive.

Related Topics

Learn About the Script Editor

Using the Script Editor

Command Reference

Learn About the Command Line Interface

Using the Command Line Interface