TPMCLI is a command line interface RAID management utility for SGI Total Performance 9100 (TP9100) storage systems. A large number of functions are available to the user. The main benefit of TPMCLI is the ability to invoke it from shell scripts to automate configuration and array management tasks.
The tpmcli executable should be run only by the root user. Attempting to run the utility without root privilege results in an error message.
TPMCLI is supported on the following versions of the IRIX operating system:
TPMCLI tool is supported on TP9100 systems with 1-Gb/s FFX RAID controllers (firmware version 7.75) and TP9100 systems with 2-Gb/s FFX2 RAID controllers (firmware versions 8.40, 8.50 and 9.03).
TPMCLI is supported on the IRIX operating system, version 6.5.16 or later.
TPMCLI is supported on SGI Altix series servers with the following Linux versions:
SGI Linux Environment 7.2 with SGI ProPack 2.1
SGI Advanced Linux Environment 2.1 or later with SGI ProPack 2.2 or later
SGI CXFS shared filesystem
SGI FailSafe high-availability filesystem
In all cases the “-” character is used to differentiate command parameters from arguments. By default, all commands issue warning confirmation messages if the requested command degrades the system. For example, a confirmation message displays when you attempt to force a drive that is part of an optimal array offline. You can override the confirmation message by using the -o, -force or -y command line parameter.
| Caution: Use caution when you override confirmation messages. Customer data can be lost. |
For many of the commands, a verbose output option is available. To use this mode, simply append the command with -v. All command examples in this document that support this mode show the difference between the standard and verbose displays.
The -syslog command line option may be used to log commands in the system log file.
| Caution: SGI recommends that you create backups before you make any changes to an optimal array that contains customer data. |
The tpmcli command sends RAID storage management and configuration requests to an application programmer's interface (API) on the local machine or remote machine. The RAID storage management device consists of several classes of customer replaceable units (CRUs), including disk drives, power supplies, fans, a battery backup unit (BBU), and an optional second RAID controller.
For many commands, verbose output is available. To use this mode simply append the command with the -v parameter. All commands that support this mode show the difference between the standard and verbose displays.
To display the version level of tpmcli, use the -version parameter. For example tpmcli -version.
The -syslog optional parameter enables you store output from the -help or -disp command line arguments to the system log file.
tpmcli -disp -dev -v -syslog |
The following is an excerpt from system log file:
Sep 10 09:39:46 serverA tpmcli: ./tpmcli -disp -dev -syslog -v RC=0: Command Completed okay |
If the CLI_HOME environment variable is not set, a warning message displays to standard-error each time a command is invoked. If the environment variable CLI_HOME is not set, commands default to your current directory.
After the specified command completes, it returns a code number and displays a message to the standard output.
>RC=0: Command Completed okay |
The commands, command parameters and optional parameters are not case sensitive.
Use this command to cancel a background process. This command cancels all background tasks of the same process type on all LUNs.
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
tpmcli -cancel {-background | -back} <process type> [-o]
|
Where:
<process type> can be either
check | cc | Consistency check |
checkrestore | cr | Check and restore |
init | Initialization |
bginit | Background initialization |
rebuild | rb | Rebuild |
all | Cancels all background processes |
Example:
tpmcli -cancel -background init Attempting to cancel the Initialisation background task on SD 0 Attempting to cancel the Initialisation background task on SD 1 Attempting to cancel the Initialisation background task on SD 2 |
Use this command to check the parity or consistency of any LUN. Use the tpmcli -display -back check command or the tpmcli -check -restore command to start a consistency check in the background. It is then your responsibility to monitor the progress of the process. The tpmcli -check -wait or tpmcli -check -restore -wait command issues the command and then polls the controller to wait for the command to complete.
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
tpmcli {-check | -check restore} [-wait] <sd #> [-o]
|
Where:
-wait | Causes the command to wait for completion before returning. If -wait is not specified, then the command returns immediately and progress must be monitored by using the tpmcli -display -back check command. |
sd # | The number of the system drive (LUN) that you want to check. If sd # is set to all and the -wait option is used, then all LUNs are checked consecutively. Note that the all argument is not valid without the -wait option. |
Examples:
Checks system drive 4 only.
tpmcli -check 4 SD 4 is being Checked in the background. Use -disp -back check to monitor progress |
Checks and restores system drive 6. This command waits for the consistency check to complete.
tpmcli -check -restore -wait 6 Waiting for Check and Restore of SD 6 to complete. 10.0 % complete |
Use this command to clear a configuration completely. All array information is erased.
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
tpmcli {-clear | -clr} [-o]
|
Example:
tpmcli -clear Clearing Configuration .. |
Use this command to clear the host-specific information from the SAN mapping table. This command enables all attached hosts to have access to all system drives (LUNs) on all ports. This command is equivalent to the “Enable All Hosts” option found in the TPM configuration utility. LUN IDs remain unchanged. It is NOT possible to clear the host-specific information if multiple arrays have the same controller firmware.
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
tpmcli {-clear | clr} {-san | -mapping} [-o]
|
Example:
tpmcli -clear -san Resetting all host tables to enable all hosts .. |
Use these commands to create LUNs.
| Note: SGI does not support non-redundant (RAID 0) and redundant (fault-tolerant) RAID levels within a dive pack (LUN). |
Simple LUN creation enables you to create new LUNs by using a minimal number of options. This makes creating LUNs easy, but with limited flexibility.
| Note: Performance is degraded during background initialization because every write requires access to all drives in the RAID group. Sites requiring optimal performance, running acceptance tests or running performance tests should take this into account and initialize LUNs in the foreground. Published performance levels are not guaranteed when using background initialization. |
| Note: When you use simple LUN creation, some restrictions exist: The maximum number of drives that are used is currently fixed at one pack of sixteen drives. Also, SAN mapping is not supported. LUNs are available to all hosts. If greater flexibility is required, use “Selective LUN Creation”. |
tpmcli -create <RAID type> <size> <cache> <stripe size> [ports[hosts]] [-o] |
Where:
RAID type | 0, 1, 3, 5 or 0+1 |
size | Actual size of the array in MB |
cache | 0 for disabled or 1 for enabled |
stripe size | 8, 16, 32 or 64 |
ports | 0, 1, 2, 3 or all for all 4 ports |
hosts | Set to all for access by all hosts |
Example:
Create a 1-GB (1000-MB) RAID 5 LUN and use a 64-K stripe size that has write-cache enabled.
tpmcli -create 5 1000 1 64 Creating a 1000 MB RAID 5 with Write Cache Enabled using a 64KB stripe on port 0 by this host |
There are a number of rules governing which drives are used in simple array creation:
SGI does not support non-redundant (RAID 0) and redundant (fault-tolerant) RAID levels within a dive pack (LUN).
Calling this command multiple times results in arrays that are created alongside each other using the rules listed below:
The LUN IDs are assigned consecutively. A new array is assigned the next available ID. The size requested by the user is the actual or logical size and not the physical size. For example, a 100 MB RAID 1 (mirror) occupies 200 MB physically, but only 100 MB is available to the user. The second 100 MB is used for the mirrored data.
The maximum possibilities for any array is 2 TB or 2,097,138 MB.
Once one logical drive has been created, all future logical drives will have the same stripe size, regardless of whether a value is chosen by the user. If you use selective LUN deletion to make additional space, the new array fills the largest available space whose array type matches what you have chosen.
Rules for array creation:
Due to the simplicity of this command, the following rules exist to allocate disk drives and available space:
In all cases, if you choose an array of a specific type that can coexist using the same drives as a previously created array, and if space exists, then the new array can be created on those drives using the available space. The largest available space is filled first.
If you select a RAID array, and there is no space available on any drive in use by a previous RAID array of the same type, then the new LUN occupies the smallest available drives that provide enough space.
If there is not enough space to build the requested array, then an array will be created using the maximum amount of free space possible. An error will occur when there is either no space available or when the array does not match any previously created arrays and no available drives exist.
A RAID 0 array occupies a minimum of two drives and a maximum of sixteen drives (one pack).
A RAID 3, 5, or 0+1 array occupies a minimum of three drives and a maximum of sixteen drives (one pack).
A RAID 1 array always occupies two drives.
Simple array creation occupies the maximum number of drives possible. For example, if sixteen 34-GB drives are available, and the user requests a 200-GB RAID 5, all sixteen drives are used. The software does not attempt to use the minimum number of drives. If this is required, use “Selective LUN Creation” and choose the drives.
Simple array creation attempts to fit the requested array size to the available drives. For example, if sixteen drives are available, and fifteen drives are 70-GB, and one is 34-GB, and you attempt to create a 1-TB RAID 5 array, then applying rule 7 results in all sixteen drives being used with the RAID 5 array totaling 510-GB. However, by selecting only the fifteen 70-GB drives using “Selective LUN Creation”, you could create a 1-TB array.
Simple array creation is limited to sixteen drives or one pack. Spanning is not supported. If you require this feature, refer to “Selective LUN Creation”.
Selective LUN creation uses a text file to enable the user to specify many more options. It offers greater flexibility than simple LUN creation.
| Note: The current restrictions on the maximum number of drives that can be used, is sixteen packs with sixteen drives each. |
| Note: SGI does not support non-redundant (RAID 0) and redundant (fault-tolerant) RAID levels within a dive pack (LUN). |
tpmcli -create -file <filename> [-o] |
Where:
filename | The name of the text file that contains the LUN creation information |
The maximum possible size of any array is 2 TB or 2,097,136 MB.
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
Each line must end with a semicolon (;).
If the same type of definition is repeated multiple times with different arguments then the last value read is used to create the array. For example, if within one array definition, RAID=5 is followed by RAID=0, then the array created is a RAID 0.
It is possible that not all packs are used if a small array size with multiple packs are chosen. If it is possible to fit the array on fewer packs than the number you chose, then fewer packs are used. There is no way to override this feature. This feature is consistent with other array configuration utilities.
You must create multiple configuration files (see example below) if you want to create multiple LUNs. You must execute tpmcli -create -file /pathname/filename, for each configuration file you create until the desired number of LUNs have been created.
Configuration file definitions
Table 1-1. Configuration File Definitions
Command | Definition |
|---|---|
#SysDriveDef | Denotes the beginning of a new system drive definition. This must precede each array description. All following definitions until a subsequent #SysDriveDef command or the end of the file is reached, apply to a single RAID array. |
// | Denotes a line containing a comment. Example: // This is an example of a comment |
SIZE= xxxxx | Denotes the actual or logical size of the array in MB. Note: The physical size may be greater. For example, a request for a 1000-MB RAID 1 results in 2000 MB's of physical space used. The additional 1000 MB is the mirrored information. Example: SIZE=10000 Creates a 10,000-MB system drive. |
SIZE=ALL | Forces the tpmcli to assign the maximum possible size using the selected drives. |
RAID= x | Denotes the RAID level requested. Valid values are: 0 - striped 1 - mirrored 3 - stripe with fixed drive parity 5 - Striped with floating drive parity 0+1 - Mylex RAID 6 Example: RAID=5 creates a RAID 5 array. |
CACHE= x | Denotes whether write cache is enabled (1) or disabled (0). Example: CACHE=1 enables write-back cache on the system drive. |
STRIPE= xx | Denotes the stripe size in KB to be used. Valid values are 8, 16, 32, or 64. Note: This option is only valid for the first array configured. All subsequent arrays use the same stripe size as the first system drive. Example: STRIPE=32 Creates the system drive using a 32K stripe |
PACK x= y- zzz | Contains a list of the drives to be used in the array. x denotes the pack number in the range 0 to 15. y denotes the channel and zzz the ID of the drive to be added. Channel and ID are separated using the minus (-) character. Drives are separated using the comma (,) character. Example: PACK=0-5,0-7,1-3,1-9; creates an array using the drives at channel 0, ID 5; channel 0, ID 7; channel 1, ID 3; and channel 1, ID 9. |
PORT= xxxx, y | Contains the LUN mapping for the specified port. xxxx denotes the controller and port number. Valid values are c0p0, c0p1, c1p0 and c1p1. y is the LUN ID mapped to the selected port. Valid values are 0 to 31. Setting y to nothing (PORT=c0p0, ;) results in the port being allocated the first available LUN ID. Example: PORT=c0p0,5; creates an array using LUN ID 5 on port 0 of controller 0. |
HOST x= yyyy | Contains the host mapping information. x is the port number. Valid values are 0 for c0p0, 1 for c0p1, 2 for c1p0 and 3 for c1p1. yyyy is the world wide name (WWN) of the host, which has exclusive access to this system drive on this port. The value of yyyy can be set to all, which means the system drive is available to all hosts on this port. The value of yyyy can be set to nothing (HOST0=;), which results in a system drive that is not available to any host. Note: Add only one WWN at a time. For multiple hosts, use the HOST definition multiple times. The maximum number of hosts is 256 (firmware 8.xx or later). Example: HOST0=20-00-00-E0-8B-00-47-8E; assigns port 0 (c0p0) to host 20-00-00-E0-8B-00-47-8E. |
Example 1:
cat > /path/name/myfile.cfg // file: myfile.cfg - RAID 5 array #SysDriveDef; RAID=5; SIZE=100000; CACHE=1; STRIPE=64; PACK0=0-125,1-124,0-123,1-122; PACK1=0-121,1-120,0-119,1-118; PORT=c0p0,1; HOST0=20-00-00-E0-8B-00-33-41; CTRL-D tpmcli -create -file /path/name/myfile.cfg Creating a 100000 MB RAID 5 with Write Cache Enabled using a 64KB stripe |
This creates a 100-GB (100000-MB) RAID 5 LUN spanning two packs, each using four drives, with write cache enabled. The LUN is accessible from port 0 on controller 0, set to LUN ID 1, and is only available to the host whose world wide name (WWN) is 20-00-00-E0-8B-00-33-41.
Example 2:
cat > /pathname/myfile_array.cfg // file: myfile_array.cfg - RAID 5 array #SysDriveDef; RAID=5; SIZE=50000; CACHE=1; STRIPE=64; PACK0=0-5,0-7,0-9,0-11; PORT=c0p0, ; HOST0=20-00-00-E0-8B-00-CD-08; CTRL-D tpmcli -create -file /pathname/myfile_array.cfg Creating a 50000 MB RAID 5 with Write Cache Enabled using a 64KB stripe tpmcli -create -file /pathname/myfile_array.cfg Creating a 50000 MB RAID 5 with Write Cache Enabled using a 64KB stripe tpmcli -create -file /path/name/myfile_array.cfg Unable to create a 50000 MB array. Largest possible is 4128 MB Creating a 4128 MB RAID 5 with Write Cache Enabled using a 64KB stripe |
Example 2 creates 3 LUNs that span the same pack of disk drives. The RAID level for the LUNs is RAID 5, and the stripe size is 64 KB, with write cache enabled. The size of the first and second LUN is 50000 MB and the size of the last LUN is 4128 MB (all of the remaining available space). All of the LUNs are accessible from port 0 on controller 0 The LUNs are set to LUN ID x (where x is the next available sequential LUN ID). Also, the LUNs are only available to the host whose WWN is 20-00-00-E0-8B-00-CD-08.
Example 3:
cat > /pathname/myfile_array1.cfg // file: myfile_array1.cfg - RAID 5 array #SysDriveDef; RAID=5; SIZE=50000; CACHE=1; STRIPE=64; PACK0=1-6,1-8,1-16,1-18; PORT=c0p0,0; HOST0=20-00-00-E0-8B-04-A6-5C; CTRL-D cat > /path/name/myfile_array2.cfg // file: myfile_array2.cfg - RAID 0+1 array #SysDriveDef; RAID=0+1; SIZE=all; CACHE=1; STRIPE=64; PACK0=1-6,1-8,1-16,1-18; PORT=c0p0,1; HOST0=20-00-00-E0-8B-04-A6-5C; CTRL-D tpmcli -create -file /pathname/myfile_array1.cfg Creating a 50000 MB RAID 5 with Write Cache Enabled using a 64KB stripe tpmcli -create -file /pathname/myfile_array2.cfg Creating a 36088 MB RAID 0+1 with Write Cache Enabled using a 64KB stripe |
Example 3 creates two LUNs that span the same pack of disk drives.
The RAID level for the first LUN is RAID 5 and the stripe size is 64 KB, with write cache enabled and a capacity of 50000 MB. This LUN is accessible from port 0 on controller 0 and is set to LUN 0 and only available to the host whose WWN is 20-00-00-E0-8B-04-A6-5C.
The RAID level for the second LUN is RAID 0+1 and the stripe size is 64 KB, with write cache enabled and a capacity of 36088 MB (all of the remaining space available). This LUN is accessible from port 0 on controller 0 and is set to LUN 1 and only available to the host whose WWN is 20-00-00-E0-8B-04-A6-5C.
Use this command to delete a LUN. Selective LUN deletion is only available when you use controller firmware levels above 8.25.
| Note: If you attempt to select and delete a LUN when using a firmware revision below 8.25, the last LUN is deleted. |
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
tpmcli {-delete | -del} <sd #> [-o]
|
Where:
sd # | The number of the system drive (LUN) to be deleted (only applicable on post 8.25 firmware). This variable can be left blank to delete the last LUN. When you attempt to select a LUN and delete it when using firmware versions below 8.25, the last LUN is deleted. |
Example:
tpmcli -delete 3 WARNING - This command will delete the selected array (SD03). |
This command displays physical device(s), disk drive(s), background process(es), array system drive (LUN), controller status, controller parameters or enclosure information.
tpmcli {-display | -disp } {-background | -back} <process type>
|
-background | Display a background process. Use this command to display the progress of a background process such as an initialization (init) or consistency check (check). |
Where:
<process type> can be either:
check | cc | Consistency check |
init | Initialization |
bginit | Background initialization |
rebuild | rb | Rebuild |
more | Online RAID expansion |
all | Online RAID expansion. Default - shows all of the above options. |
| Note: If the <process type> is left blank the argument defaults to all. |
Example:
tpmcli -display -background check
System Drive 0 - RAID 5
Consistency Check Status : Not in progress
System Drive 1 - RAID 1
Consistency Check Status : Not in progress
System Drive 2 - RAID 0+1
Consistency Check Status : Not in progress
|
-battery | Display battery backup unit (BBU) status. |
tpmcli {-display | -disp} {-battery | -bbu}
|
Example:
tpmcli -display -battery
Current Power : 5560 minutes (92.67 hrs)
Maximum Power : 5560 minutes (92.67 hrs)
Power Threshold : 2275 minutes (37.92 hrs)
Charge Level : 100%
Hardware Version Number : 1
Battery Type : Nickel Metal Hydride
Operation Status : No reconditioning since power up
Reconditioning needed
|
-config | Display hexadecimal configuration. Use this command to display a hex dump of the configuration structures. |
tpmcli {-display | -disp} {-config | -cfg}
|
Example:
tpmcli -display -config Controller Information - MDACIOCTL_GETCONTROLLERINFO 0000: 00 01 6D 00 00 00 01 00 02 00 00 00 00 00 00 00 ..m............. 0010: 46 46 78 32 20 20 20 20 20 00 00 00 00 00 00 00 FFx2 ....... 0020: 4D 59 4C 45 58 20 44 41 43 46 46 78 32 20 20 20 MYLEX DACFFx2 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0040: 08 19 00 07 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0050: 00 00 00 00 00 00 00 00 10 10 80 00 20 00 00 00 ............ ... 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0080: 00 00 00 00 4D 59 4C 45 58 20 20 20 20 20 20 20 ....MYLEX 0090: 20 20 20 20 03 00 00 00 00 00 00 00 20 00 80 00 ........ ... 00a0: 05 00 00 00 00 00 09 00 07 00 00 00 00 00 F4 00 ................ 00b0: 02 00 02 00 7E 7E 00 00 00 00 00 00 00 00 00 00 ....~~.......... 00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
-cont | Display controller status. |
tpmcli {-display | -disp} {-controller | -cont} [-v]
|
Use this command to display the status information on the installed controllers. For more detailed information use the -v option.
Example:
tpmcli -display -cont
Master/Slave Controller State : Disabled or in Simplex mode |
Status from some background tasks are not accessible from the controller in slot 1 (usually the slave controller). The variable CLIRAID_CONTSTATE contains the last queried state of the controllers. The possible values are SIMPLEX, OFFLINE, DUAL ACTIVE, C0 FAIL and C1 FAIL. To query the contents of CLIRAID_CONTSTATE use:
tpmcli -query CLIRAID_CONTSTATE |
-device | Display all available devices. |
This command displays all physical devices that are attached to your system. All internal hard drives, CD-ROMs, and RAID devices are displayed. As well as a description of the device, this command displays the physical device path. Use the physical device path in conjunction with the tpmcli -set -dev command to open a path to the selected device. All subsequent commands use this path.
tpmcli {-display | -disp} {-device | -dev} [-v]
Where:
-v | Enable verbose output. |
Example:
tpmcli -display -device
Phys Dev Path Vendor Product C0 WWN /hw/scsi/sc3d4l0 SGI TP9100 FFX2 20-00-00-50-CC-00-42-3C |
-drive | Display drive information. |
Use this command to display information about a drive. This can be either a single drive or all drives. When a single drive is selected, the returned string in standard format is placed in the environment variable CLIRAID_DRIVE. This is true even when the verbose output flag (-v) is used.
| Note: By default, if the <ch>, <id> or <all> variables are not specified all disk drives are displayed. |
tpmcli {-display | -disp} {-drive | -drv} [{<ch> <id> | {available | avail}}] [-v]
|
Where:
< ch> | The channel of the drive to be displayed. If all is used instead of < ch>, then the < id> field is ignored. |
< id> | The ID of the drive to be displayed. |
<available> | Display drives that have a state of online and are not assigned to a drive group. |
tpmcli -display -drive Vendor Model S/N Phys Size Ch ID State uCode ------ ----- --- --------- -- -- ----- ----- SGI ST373405FC 3EK28R3F 70007 MB 0 19 Optimal 2702 SGI ST373405FC 3EK28ZMR 70007 MB 1 4 Optimal 2702 SGI ST373405FC 3EK28W6G 70007 MB 1 16 Optimal 2702 |
-enclosure | Display SCSI enclosure services (SES) information. |
Use this command to display the enclosure information.
| Note: This is sometimes referred to as the SCSI enclosure services (SES) information. |
tpmcli {-display | -disp} {-enclosure | -enc | -ses} [-v]
Where:
-v | Enable verbose output. |
Example:
tpmcli -display -enclosure
Enclosure 0
--------- --
Vendor ID : XYRATEX
Product ID : RS1600-FC2-FFX2S
Product Revision Level : 37
World Wide Name (WWN) : 20-00-00-50-CC-00-42-3C
Number of Bays : 16
Enclosure Address Switch : 1
Enclosure Status : Present
Primary Path [ 1:04] : Normal
Secondary Path [ 0:19] : Normal
SES Available : Present
|
-host | Display host WWN information. |
Use this command to display the World Wide Names (WWN) of the hosts that are attached to the controller.
tpmcli {-display | -disp} {-host | -hostwwn}
|
Example:
tpmcli -display -host Host 10-00-00-60-69-20-15-72 is not available on any ports. Host 20-00-00-E0-8B-01-0B-58 is not available on any ports. Host 20-00-00-E0-8B-05-1E-66 is not available on any ports. Host 20-00-00-E0-8B-04-F0-C5 is available on port(s) C0P0. |
-log | Display the controller event log. |
Use this command to display the event log of the controller.
tpmcli {-display | -disp} -log [-ctime] [-v]
|
Where:
-ctime | Displays the time in standard date and time format. |
-v | Enable verbose output. |
Example:
tpmcli -display -log Seq Time Sev Event Description --- ------ --- ----- ------------------------------------------ 0 0 I 384 Array management server software started... 1 0 I 518 Automatic reboot count has changed. 2 1 I 13 A new physical disk has been found. 3 1 I 13 A new physical disk has been found. 4 1 I 13 A new physical disk has been found. 5 1 I 13 A new physical disk has been found. 6 1 I 13 A new physical disk has been found. |
Using -ctime argument results in the following output:
Seq Date Time Sev Event Description --- ------ ------- --- ----- ------------------------------------ 0 05Dec02 12:00:05 W 422 Dual controllers enabled. 1 05Dec02 12:00:07 I 384 Array management server software... 2 05Dec02 12:00:09 I 518 Automatic reboot count has changed. 3 05Dec02 12:00:15 W 419 Updated partner's status. |
-lun | Display LUN Information. |
Use this command to display LUN information.
tpmcli {-display | -disp} -lun [<sd #>] [-v]
Where:
sd # | The number of the LUN (system drive) whose information is required. This variable also can be all or left blank to display all currently configured arrays. |
-v | Enable verbose output. |
Example:
tpmcli -display -lun
SD # Act. Size RAID Phys Size Cache Status Stripe ---- ---------- ------ ---------- ------- ------- ------ 0 173560 MB RAID 3 208272 MB Enabled Online 64KB |
-parms | Display controller parameters |
Use this command to display the controller parameters.
tpmcli {-display | -disp} {-parameters | -parms}
Example:
tpmcli -display -parms
Read Ahead ~r : Enabled Reassign Restricted to 1 blk ~r : Disabled True Verification of Data ~r : Disabled Write Through Verify ~rm: Disabled Super Read Ahead ~r : Disabled Coalescing Optimization ~f : Disabled Automatic Rebuild Management ~f : Enabled Operational Fault Management ~r : Enabled |
Where:
~f | On-the-fly, no controller reboot required. |
~r | Controller reboot required. |
m | Is dependent on the firmware level as to whether it can be modified. |
x | Cannot be modified with certain controllers and firmware levels. |
-realtimeclock | Display real-time clock information. |
Use this command to display the real-time clock.
tpmcli {-display | -disp} {-realtimeclock | -clock | -clk} [-v]
Where:
-v | Enable verbose output. |
tpmcli -realtimeclock Realtime Clock = 1059622415 seconds which equates to Wed Jul 30 20:33:35 2003 |
-san | Display SAN mapping information. |
Use this command to display details of the SAN mapping for all arrays.
tpmcli {-display | -disp} {-san | -mapping} [-v]
Where:
-v | Enable verbose output. |
Example:
tpmcli -display -san
Controller 0 Port 0
-------------------
System Drive SD00 SD01
------ ----- ---- ----
Host LUN 0 1
Port Mapped X X
Enable All Hosts X X
Controller 0 Port 1
-------------------
System Drive SD00 SD01
------ ----- ---- ----
Host LUN 0 1
Port Mapped X X
Enable All Hosts X X
|
The above shows that system drive 0 (SD00) is mapped to LUN 0 on both controller 0 port 0 (c0p0) controller 1 port 0 (c1p0). It is visible on these ports and is available to all hosts. System drive 1 (SD01) is mapped to LUN 2 on controller 0 port 0 (c0p0) and LUN 1 on controller 1 port 0 (c1p0). SD01 is also visible on both ports but host mapping has been used on c0p0. It is available to all hosts on c1p0. Use the verbose option (-v) to view the host mapping table.
Use this command to flush the cache that is in the attached controllers to the disk drives.
tpmcli -flush {-controller | -cont}
Example:
tpmcli -flush -controller
Flushing Controller Cache to disk |
Use this command to display the tpmcli help.
tpmcli {-help | -h}
Example:
tpmcli <-help>
TPMCLI - Version #.## (Build ##) Usage: TPMCLI [Options] |
Options for devices:
-disp -dev | Display all available RAID devices. |
-set -dev < device> | Set current device to < device>. |
Use this command to identify a disk drive or LUN by flashing the green disk drive enclosure LEDs.
Note the -identify operation only last for 30 seconds.
tpmcli {-identify | -id} {-lun <sd #> | -drive <ch> <id>}
Where:
sd # | System drive (LUN) number of the array to identified. |
ch | Channel of the disk drive to be identified. |
id | ID of the disk drive to be identified. |
Examples:
Flashes the LED of the disk drive that is attached to channel 0 at ID 115:
tpmcli -identify -drive 0 115 Illuminating or Flashing LED on Drive 0:115 for 30 seconds |
Flashes the LEDs of all disk drives that are part of system drive (LUN) 0:
tpmcli -identify -lun 0 Illuminating or Flashing LEDs on System Drive 0 for 30 seconds |
Use this command to initialize the selected LUN.
tpmcli {-initialize | -init} [-wait] [-fore] <sd #> [-o]
Where:
-wait | Causes the command to wait for completion before returning. If -wait is not specified then the command returns immediately and progress must be monitored by using tpmcli -display -back init command. |
-fore | Forces initialization to be done as a foreground task even though the background flag is enabled. |
sd # | The system drive (LUN) you want to initialize. If the sd # variable is set to all, then the command attempts to initialize all system drives. If the sd # variable is set to allnot, then the command attempts to initialize all system drives that are not already initialized. |
The tpmcli -init command starts the initialization and returns. It is then the responsibility of the user to monitor the progress of the process. The tpmcli -init -wait command issues the command and then polls the controller that is waiting for its completion. It is possible to run the initialization process in the background on the controller. To do this, the “Background Initialization” controller parameter must be changed from the default “Disabled” to “Enabled” by using the tpmcli -set <-parameters | -parms> <filename> command. The advantage of this feature is that it is possible to use the array while it is initializing. This option is valid only for redundant arrays. Non-redundant arrays are forced to run in the foreground.
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately. A similar confirmation message displays if the array is already initialized. You can override this by using the -o option.
Example:
tpmcli -initialize -wait 0 Waiting for initialization of SD 0 to complete. 2.1 % complete |
Use this command to set a controller's partner offline.
tpmcli -kill {-controller | -cont} [-o]
|
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
Example:
tpmcli -kill -controller Killing Partner Controller |
Use this command to load the controller configuration data.
tpmcli {-load | -ld} {-config | -cfg} <filename> [-o]
|
Where:
< filename> | Name of the file to load from or to save to |
| Note: TPMCLI saves the configuration data in the same format as the web-based TPM tool. The configuration can be saved by one tool and loaded with the other tool. |
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
Example:
tpmcli -load -cfg /path/name/mycfg.cfg Loading configuration ......... The configuration was successfully saved to file "/path/name/mycfg.cfg". |
Use this command to query the current value of an environment variable.
tpmcli {-query | -qry} {<variable name> | all} [-v]
|
Where:
< variable name> | One of the values listed below. If this is set to all, then every environment variable that is set is displayed. |
-v | Enable verbose output. |
| Note: If the <variable name> is left blank the argument defaults to all. |
CLIRAID_DEVICE - holds the identity of the device being controlled
CLIRAID_RC - last return code number reported by tpmcli
CLIRAID_RC_DESC - last return code description reported by tpmcli
CLIRAID_LASTDRIVE - last drive queried or set by tpmcli (set to 9999 if no drive commands have been issued)
CLIRAID_LASTLUN - last LUN queried or set by tpmcli (set to 9999 if no LUN commands have been issued)
CLIRAID_CONTSTATE - the state of the controller after the last tpmcli -disp -cont command. Possible values are “Simplex”, “Dual Active”, “Controller 0 Failure” or “Controller 1 Failure”.
CLIRAID_DRIVE - contains information on the last queried drive using tpmcli -disp -drv <ch> <id>. Only valid if a specific drive was queried.
CLIRAID_SENSE - contains the sense information (KEY, ASC, ASCQ) from the last SCSI command issued.
CLIRAID_SENSEKEY - contains the decode of the sense key for the last SCSI command issued.
Examples:
Standard output displays the contents of CLIRAID_DEVICE variable.
tpmcli -query cliraid_device
/hw/scsi/sc3d4l0 |
Verbose output displays the contents of CLIRAID_DEVICE variable.
tpmcli -query cliraid_device -v
The Variable CLIRAID_DEVICE is set to /hw/scsi/sc3d4l0 |
Use this command to relinquish or place online the controller's partner.
tpmcli {-relinquish | -rel} {-controller | -cont} [-o]
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
Example:
tpmcli -relinquish -controller
Relinquishing Partner Controller............................... |
Use this command to issue a controller reset.
tpmcli {-reset | -rst | -r} [{-nowait | -now}] [-o]
|
Where:
-nowait | -now | Returns immediately after the controller(s) is reset without waiting for the device to become ready. If the -nowait parameter is not specified, then this command polls the controller and waits for the reset to complete. The timeout of the polling process is set to 5 minutes. An error is returned if the reset does not complete successfully within this time. |
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
This command polls the controller and waits for the reset to complete. The timeout for the polling process is set to 5 minutes. An error is returned if the reset does not complete successfully within this time.
Example:
tpmcli -reset Resetting......................................... |
Use this command to save the controller configuration data.
tpmcli {-save | -sv} {-config | -cfg} <filename> [-o]
|
Where:
< filename> | Name of the file to load from or to save to. |
| Note: The TPMCLI tool saves the configuration data in the same format as the web-based TPM tool. The configuration can be saved by one tool and loaded with the other tool. |
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
Example:
tpmcli -save -cfg /path/name/mycfg.cfg
Saving configuration .........
The configuration was successfully saved to file
"/path/name/mycfg.cfg".
|
Use this command to select a device path, to modify disk drive states, or to modify array controller parameters.
tpmcli -set {-battery | -bbu} {threshold {<x> | <hh:mm>} | recondition | discharge | fastcharge | stoprecon | test | shutdown | cancel}
Where:
threshold < x> or hh:mm | Sets the BBU threshold in minutes or hours and minutes |
recondition | Starts a BBU recondition |
discharge | Discharges the BBU |
fastcharge | Places the BBU into fast charge mode |
stoprecon | Stops a previously started BBU recondition |
test | Initiates the battery test |
shutdown | Initiates a BBU shutdown |
cancel | Cancels a BBU shutdown request |
-battery | -bbu | Set battery backup unit parameters |
Use this command to set the battery backup unit (BBU) parameters.
Examples:
tpmcli -set -bbu threshold 1200
Setting BBU threshold to 1200 minutes tpmcli -set -bbu threshold 20:30 Setting BBU threshold to 1230 minutes |
-device | Selects a device. |
| Note: This command must be invoked before all other tpmcli commands with the exception of tpmcli -display -device. Failure to do this displays an error message. |
Use this command to open a path to a device. The identity of the selected device is stored in the environment variable CLIRAID_DEVICE. Refer to “Query Command” for details on how to access these variables. All subsequent tpmcli commands use this value. To change to a different device, run this command with a different value.
tpmcli -set {-device | -dev} <Physical Device Path>
Where:
< Physical Device Path> | Value returned by invoking |
Example:
tpmcli -display -device
Phys Dev Path Vendor Product C0 WWN /hw/scsi/sc3d4l0 SGI TP9100 FFX2 20-00-00-50-CC-00-42-3C |
tpmcli -set -device /hw/scsi/sc3d4l0
Device has been set to /hw/scsi/sc3d4l0 |
-drive | Modify drive state. |
Use this command to modify the current state of a drive.
tpmcli -set {-drive | -drv} <ch> <id> <state> [-o]
Where:
< ch> | The channel of the drive to be modified. |
< id> | The ID of the drive to be modified. |
< state> | Either online or optimal, online, hotspare or spare, unconfigured | unconf | dead. |
If the <ch> field contains all, then the <id> field is ignored and the command attempts to modify the state of all drives attached.
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
| Note: You cannot modify the state of any drive before you create valid configuration. |
Examples:
tpmcli -set -drive 0 20 offline The drive at Ch 0 ID 20 was successfully modified to SGI ST318304FC 3EL05CPF 17560 MB 0 20 Offline 2706 tpmcli -set -drive 0 120 hotspare The drive at Ch 0 ID 120 was successfully modified to SGI ST318304FC 3ED04CPF 17560 MB 0 120 Hotspare 2706 |
-lun | Set the LUN ID. |
Use the following command to set the LUN ID of a selected LUN:
tpmcli -set -lun <sd #> <port> <lun> [-o] |
Where:
sd # | System drive (LUN) that you want to update. |
port | The port ID that you want to update. |
lun | The new LUN ID. |
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
Example:
Set the LUN ID for port c0p0 on the system drive (LUN) 0 to 5.
tpmcli -set -lun 0 c0p0 5 Mapping port C0P0 to LUN ID 5 on SD 0... Update complete |
-lun | Set LUN write cache. |
Use this command to enable or disable the write-cache on a selected LUN.
tpmcli -set -lun <sd #> <state> [-o]
Where:
sd # | The system drive (LUN) that you want to update. |
state | Either wce (write-cache enabled) or wcd (write-cache disabled). |
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
Example:
Enable the write-cache on system drive (LUN) 0.
tpmcli -set -lun 0 wce Write cache disabled on array 0 |
-san | Set host mapping information. |
Use this command to set a world wide name (WWN) to have access to a specific system drive (LUN) and port.
tpmcli -set {-san | -mapping} <sd #> <port> <wwn> [<lunid>] [-o]
Where:
sd # | The system drive (LUN) on which you want to change the host mapping. |
port | The port associated with the above system drive. |
wwn | The world wide name (WWN) that you want to have sole access to the above system drive and port. The format of the WWN is xx-xx-xx-xx-xx-xx-xx-xx. The hyphens are minus characters (-). If < wwn> is set to all, then the selected system drive (LUN) is set to enable all hosts access on the specified port. |
lunid | The ID that you want to assign to the above system drive (LUN), port and host. If you leave this field blank, the current LUN ID is left unchanged. |
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
An option to reset a system drives (LUN) mapping page regardless of whether the drive is configured or not may be achieved using a reset option. For example the SAN map for the system drive is set to invalid for all ports using the following command:
tpmcli -set -san 5 reset any_char any_char |
Where: any_char is any alpha-numeric character (0-9, a-z)
Examples:
Make system drive 0 available only to the host whose WWN is 20-00-00-e7-f2-e8-00-47 on port 0 of controller 0 (c0p0). Leave its LUN ID unchanged.
tpmcli -set -san 0 c0p0 20-00-00-e7-f2-e8-00-47 Updating port C0P0 to give 320-00-00-e7-f2-e8-00-47 sole access to SD 0... Update complete |
Make system drive 2 available only to the host whose WWN is 20-00-00-a3-e4-f2-00-55 on port 0 of controller 0 (c0p0) and change its LUN ID to 7.
tpmcli -set -san 2 c0p0 20-00-00-a3-e4-f2-00-55 7 Updating port C0P0 to give 20-00-00-a3-e4-f2-00-55 sole access to SD 2... Attempting to update LUN ID to 7 Update complete |
-parameters | Set controller parameters. |
Use this command to set the controller parameters.
tpmcli -set {-parameters | -parms} <filename>
|
To set the controller parameters, you must create a text file that contains a list of the parameters that you want to modify. The text file is parsed and checked for errors, then applied to the attached controllers. The text file format is the same as the output from the display controller parameters command.
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message using the -o option. No confirmation message is displays when you use the -o option; the command proceeds immediately.
Example: A typical way of using this command would be to issue a display controller parameters command and redirect the output to a file:
tpmcli -disp -params > /path/name/myfiles.prm |
Using a text editor, modify contents of the specified files to match your requirements. Note that it is possible to add comments to the file by using the following syntax:
// This is a comment which describes ... |
Issue the set controller parameters command to apply changes:
tpmcli -set -parms /path/name/myfiles.prm |
Controller Parameters and Possible Values
This is a list of the possible values for each of the controller parameters. A parsing routine checks the completed source file and invalid arguments cause an error message to display. The error message returns the incorrect line along with pointer to the offending object within that line.
Table 1-2. Controller Parameter Categories
Category | Descriptions |
|---|---|
~f | On-the-fly, no controller reboot required. |
~r | Controller reboot required. |
m | Dependent on the firmware level as to whether it can be modified. |
x | Cannot be modified with certain controllers and firmware levels. |
Table 1-3. Controller Parameter Values
Parameter | Possible Values | Category |
|---|---|---|
Read Ahead | Enabled or Disabled | ~r |
Reassign Restricted to 1 block | Enabled or Disabled | ~r |
True Verification of Data | Enabled or Disabled | ~r |
Write Through Verify | Enabled or Disabled | ~rm |
Super Read Ahead | Enabled or Disabled | ~r |
Coalescing Optimization | Enabled or Disabled | ~f |
Automatic Rebuild Management | Enabled or Disabled | ~f |
Operational Fault Management | Enabled or Disabled | ~r |
Default Rebuild Rate/CC Rate | 0 to 50 | ~f |
Queue Limit | 1 to 255 | ~f |
Disk Startup mode or On Command | Automatic, On Power | ~f |
Startup No of Devices | 1 to 8 | ~f |
Startup Delay | 0 to 255 | ~f |
SCSI Start Delay 2 | 0 to 255 | ~f |
Vendor Unique TUR | Enabled or Disabled | ~r |
Disable CC for Invalid LUN | Enabled or Disabled | ~r |
No Pause on ctrlr not ready | Enabled or Disabled | ~r |
On Queue Full give Busy | Enabled or Disabled | ~r |
Disable Busy on Failback | Enabled or Disabled | ~r |
SAF-TE use of UPS | Enabled or Disabled | ~f |
Reset Propagation | Enabled or Disabled | ~f |
Multiport Reset | Enabled or Disabled | ~f |
RS232 Port Type | Debug or SLP/VT100 | ~r |
RS232 Baud Rate | 2400, 4800, 9600 or 19200 | ~rm |
Smart Large Transfers | Enabled or Disabled | ~f |
Frame Size | 512, 1024 or 2048 | ~r |
PCI Latency Control | Short (512 Bytes), Medium (1024 Bytes), Long (2048 Bytes) | ~r |
Auto Failback/Restore | Enabled or Disabled | ~r |
Force Simplex | Enabled or Disabled | ~r |
Conservative Cache Mode | Enabled or Disabled | ~f |
Simplex no RSTCOM | Enabled or Disabled | ~rm |
Controller 0, Port 0, 0 to 125 | Enabled or Disabled | ~r |
Controller 0, Port 1, 0 to 125 | Enabled or Disabled | ~r |
Controller 1, Port 0, 0 to 125 | Enabled or Disabled | ~r |
Controller 1, Port 1, 0 to 125 | Enabled or Disabled | ~r |
Topology | Multiport or MultiTID | ~r |
Node Name Retention | Enabled or Disabled | ~r |
Debug Dump | Enabled or Disabled | ~f |
ROF Rearm Interval, CAUTION: Do not set to “Never”, if “ROF Reboot Count” is set to disabled or 0. | Never (Disabled), 3 mins, 5 mins, 15 mins, 30 mins, 60 mins, 90 mins, 2 hours, 4 hours, 8 hours, 12 hours, 16 hours, 24 hours, 2 days, 4 days or 7 days | ~f |
ROF Reboot Count | Disabled (or 0) or 1 to 15 | ~f |
Background Initialization | Enabled or Disabled | ~f |
Host Channel Speed - C0P0 (> 8.xx) WARNING: Do not change from factory default (Auto Negotiate) setting, see notations below | Auto Negotiate, 1Gb/s or 2 Gb/s | ~f |
Host Channel Speed - C0P1 (> 8.xx) WARNING: Do not change from factory default (Auto Negotiate) setting, see notations below | Auto Negotiate, 1Gb/s or 2 Gb/s | ~f |
Host Channel Speed - C1P0 (> 8.xx) WARNING: Do not change from factory default (Auto Negotiate) setting, see notations below | Auto Negotiate, 1Gb/s or 2 Gb/s | ~f |
Host Channel Speed - C1P1 (> 8.xx) WARNING: Do not change from factory default (Auto Negotiate) setting, see notations below | Auto Negotiate, 1Gb/s or 2 Gb/s | ~f |
Drive Channel 0 Speed (> 8.xx) | Auto Negotiate | ~fx |
Drive Channel 1 Speed (> 8.xx) | Auto Negotiate | ~fx |
Drive Channel 2 Speed (> 8.xx) | Auto Negotiate | ~fx |
Drive Channel 3 Speed (> 8.xx) | Auto Negotiate | ~fx |
Thermal Disk Shutdown (> 9.xx) | Enabled or Disabled | ~f |
Kill Disk on PFA (> 9.xx) | Enabled or Disabled | ~f |
Enable PFA Polling (> 9.xx) | Enabled or Disabled | ~r |
PFA Polling Interval (> 9.xx) | 0 to 255, 0 or 30 min, 255 or No delay, 1 to 254 = 1 to 254 mins | ~r |
| Important: TP9100 2Gb RAID controllers currently support 1 Gb/s or 2 Gb/s Fibre Channel transfer data rates only. All ports connected to a loop must be set to the same data rates; if not, the ports will not start up. The Fibre Channel drive port data rate defaults to auto negotiate. These are on-the-fly parameters and they take effect immediately. A controller reset is not required. |
| Warning: SGI does not recommend or support changing of the host channel or disk data rates parameters. Changing of these parameters can make the RAID controller and all of its logical units inaccessible from your host. SGI TP9100 users must leave both host channel and disk data rates parameters set to “Auto negotiate”. If a different data rate is required then it must be set and controlled by the enclosures OPS module switch settings only. |
-realtime | Set real-time clock. |
Use this command to set the controllers real-time clock to the number of seconds since Jan 1, 1970 (EPOCH). This value is taken from the host's internal clock. If the host's clock is incorrect, then the controller's real-time clock is also incorrect.
tpmcli -set {-realtimeclock | -clock | -clk}
|
Example:
tpmcli -set -clock Clock set successfully |
Use the tpmcli -upgrade command to upgrade disk drive or controller firmware.
-controller | Upgrade controller firmware. |
Use this command to upgrade controller firmware to the level found in filename.
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
The command fails if any background jobs are running.
tpmcli {-upgrade | -up} {-controller | -cont} [-rolling] <filename> [-o]
Where:
-rolling | Enables rolling upgrade capability on duplex RAID configurations only. The controller firmware may be upgraded from 9.03 to a later version without controller reset interruption. This scheme uses the failover and failback capability of the TP9100 RAID subsystem to upgrade the controller firmware of one of the two controllers. Once failback has occurred, autoflash is used to upgrade the firmware of the second controller. Warning: Performance is affected during a rolling upgrade. Rolling upgrades are supported only on SGI IRIX platforms and SGI Altix series servers running an SGI Linux environment of 7.2 or later with SGI ProPack 2.1 or later. |
< filename> | The name of the file that contains the firmware image. |
Example:
Upgrade the controller firmware by using the contents of sgi_8.50.ima:
| Note: The specified firmware file must reside in the /opt/dam (CLI_HOME) directory. |
tpmcli -upgrade -controller sgi_8.50.ima
Reading firmware file and storing image to controller
Transferring image...................................
...................................................
...................................................
...................................................
...............................................
The new firmware image has been stored successfully.
Flashing image to controller
The new firmware image has been flashed successfully.
Please now perform either a cold-boot or a controller
reset of your subsystem.
|
-drive | Upgrade disk drive firmware. |
Use this command to upgrade disk drive firmware to the level found in filename.
tpmcli {-upgrade | -upg} {-drive | -drv} <ch> <id> <filename> [-o]
|
This command displays a confirmation message and does not continue until you enter YES or Y. You can override the confirmation message by using the -o option. No confirmation message is displayed when you use the -o option; the command proceeds immediately.
| Important: Only Seagate disk drives are supported. If this command is issued against any other make of disk drive, it may result in significant damage to that drive. |
Operational fault management must be disabled before you download disk drive firmware by using a parameters file as shown below:
% echo "Operational Fault Management : Disabled \ > /pathname/filename.prm tpmcli -set -parms /pathname/filename.prm |
Where:
< ch> | The channel of the drive that you want to upgrade. |
< id> | The ID of the drive to you want to upgrade. |
< filename> | The name of the file that contains the firmware image. |
Example:
To upgrade the disk drive that is located at channel 0, ID 5 to the firmware contained in ST373453FC_FC_2701.lod, enter the following command:
| Note: The specified firmware file must reside in the /opt/dam (CLI_HOME) directory. |
tpmcli -upgrade -drive 0 5 ST373453FC_FC_2701.lod
Loading Firmware to drive....
Flashing Firmware to drive.........................
.........
Firmware updated successfully
|
After completing disk drive firmware update, Operational Fault Management must be reenabled using a parameters file as shown below:
% echo "Operational Fault Management: Enabled" \ > /pathname/filename.prm |
tpmcli -set -parms /pathname/filename.prm
Refer to the “Query Command” for a list of environment variables.
| Note: If the environment variable CLI_HOME is not set, then the current working directory is used as the default. |
Examples:
setenv CLI_HOME /opt/dam (C Shell, tcsh) export CLI_HOME=/opt/dam (Bourne, Bash, Ksh Shell) |
| Note: Variable names are represented with a percent sign (such as %i) or italics font in the following error code descriptions. |
Table 1-4 lists the general error codes.
Table 1-4. General Error Codes
0 | Command completed OK |
1 | Command aborted by user |
2 | Invalid command detected by parser |
3 | Unable to open environment variable file |
4 | Unable to open temporary file |
5 | The variable variable does not exist. *Please check the spelling and retry. |
6 | The given argument argument was invalid. *Please check the spelling and retry. |
7 | Unable to allocate memory for device |
8 | Invalid parameter supplied (parameter). A numerical value is required. |
Table 1-5 lists the controller configuration error codes.
Table 1-5. Controller Configuration Error Codes
10 | Unable to open the configuration file (filename). *Please check the spelling and retry. |
11 | The selected file does not contain valid configuration data. |
12 | Unable to load the configuration data to the controller. |
13 | Unable to save the configuration data to the controller. |
Table 1-6 lists the RAID device error codes.
Table 1-6. RAID Device Error Codes
20 | Unable to open device scan file. *Please rerun tpmcli -disp -dev |
21 | The selected device is invalid (see CLIRAID_DEVICE). *Use -set -dev to correct it. |
Table 1-7 lists the communication error codes.
Table 1-7. Communication Error Codes
30 | Unable to communicate with selected controller |
31 | SCSI command failure. *Sense Key: 0x%X, ASC: 0x%X, ASCQ: 0x%X |
32 | Unable to communicate with selected device |
33 | Timed out waiting for reset to complete |
34 | Failed to reset the controller(s) |
Table 1-8 lists the command error codes
Table 1-8. Command Error Codes
40 | Invalid size requested. *Min Size is 1MB. Max Size possible is somesize MB |
41 | A rebuild or check is already in progress. |
42 | No RAID devices found. *Please check your system to determine if it is configured correctly. |
43 | There are currently NO LUNS configured |
44 | System Drive (systemdrive) is invalid or does not exist |
45 | Selected LUN (lun) is invalid or does not exist |
46 | Unable to set drive at %i:%i (hex %x:%x) to %s |
47 | Unable to communicate with the drive at %i:%i (hex %x:%x) |
48 | Unable to delete the array, which was created last |
49 | The ALL argument is not valid without the -wait parameter |
50 | %s %s does not exist. Please re-enter a valid value |
51 | Port port does not exist. Please re-enter a valid value |
52 | There are currently NO DRIVES attached to this controller |
53 | Drive State changes are invalid without a configuration |
54 | Selected LUN (lun) is already in use by another system drive |
55 | A disk patrol is already in progress. |
Table 1-9 lists the RAID creation error codes.
Table 1-9. RAID Creation Error Codes
60 | Selected RAID type does not match previously created RAID arrays *Hence there is no space available to complete request. |
61 | No space available to create the requested array |
62 | Invalid RAID type requested. *Please check the spelling and retry |
63 | Invalid Stripe Size requested. *Please re-enter a valid value |
64 | Write Cache must be either 0 (disabled) or 1 (enabled). *Please re-enter a valid value |
65 | The selected file (filename) does not contain valid data. |
66 | Invalid Drive (%i:%i) found in %s. *Please check the value and retry |
67 | Cannot recreate an existing system drive (%i). |
68 | Invalid RAID type (raidtype) found %s %i in %s |
69 | Invalid size (size) found %s %i in %s *Limits are minimum 1MB, maximum %ld |
70 | Invalid value for CACHE (value) found %s %i in %s*Possible values are 0 (disabled) and 1 (enabled)" |
71 | Invalid value for AUTOINIT (value) found on line %i in %s*Possible values are Y (Yes) and N (No) |
72 | Invalid value for STRIPE (value) found %s %i in %s *Possible values are 8, 16, 32 and 64 |
73 | Invalid pack number (packnumber) or pack numbers not contiguous. *Found %s %i in %s. Limits are minimum 0, maximum %i |
74 | Unable to open the array creation configuration file (filename). *Please check the spelling and retry |
75 | Maximum number of arrays (numarrays) already configured. |
76 | Invalid channel (channel) found in pack packnum of SD %i in %s. *Limits are minimum 0, maximum %i |
77 | Invalid ID (%i) found in pack packnum of SD %i in %s. *Limits are minimum 0, maximum %i |
78 | Invalid line format found in pack packnum of SD %i in %s. |
79 | Drive (%i:%i) already in use by incompatible RAID type (RAID %i vs %i). *Please select another drive. |
80 | Incorrect number of drives (drives) found in pack on line %i in %s. *Number expected was %s for %s. |
81 | Unable to create array as SAN Mapping is invalid. *LUN IDs may be duplicated in array configuration file. |
82 | Invalid value for PORT (%s) found %s %i in %s *See documentation for help. |
83 | Semicolon missing from end of line %i in %s |
84 | Invalid port number (portnum). *Found %s %i in %s. Limits are minimum 0, maximum %i |
85 | RAID 0 packs must contain an even number of drives unless SIZE=ALL. *Found %i drives in a pack in %s. |
86 | There are only %i drives available. *There must be at least %i. |
Table 1-10 lists the firmware error codes.
Table 1-10. Firmware Error Codes
90 | Unable to open the controller firmware file (filename). *Please check the spelling and retry |
91 | Invalid controller firmware file (filename). |
92 | Unknown Drive manufacturer (%s) found at %i:%i. |
93 | Unable to open the drive firmware file (filename). *Please check the spelling and retry |
94 | Operational fault management must be disabled. |
Table 1-11 lists the controller parameter error codes.
Table 1-11. Controller Parameters Error Codes
100 | Unable to open the parameter configuration file (filename). *Please check the spelling and retry |
101 | Invalid value (value) found. *The parameter was parameter in file filename |
102 | Invalid line found in file filename. *%s |
103 | Invalid controller number found in file %s within line *%s |
104 | Invalid port number found in file %s within line *%s |
105 | Invalid ID found in file %s within line *%s |
106 | Unable to communicate with enclosure. *Check to determine if operational fault management is enabled. |
Table 1-12 lists the controller commands error codes.
Table 1-12. Controller Commands Error Codes
120 | Unable to read the Battery Backup Unit status |
121 | Unable to retrieve Debug Information as it does not exist. |
122 | Unable to communicate with the Battery Backup Unit |
123 | Unable to set realtime clock on controller |
124 | Unable to read the status of the controller's health |
125 | Unable to flush the controller's cache |
126 | Unable to read the host WWN table |
127 | Host hostname cannot be found. *Please check all connections are correct |
128 | Selective LUN Deletion is not supported by firmware level %.2f. *Please upgrade to at least version 8.25. |
129 | This feature is not supported by firmware level %.2f. *Please upgrade to at least version 9.00. |
130 | Clearing ALL Host info on arrays with the same LUN ID is invalid. |
131 | LUN ID lunid already in use by this host on SD %i |