IRIX 6.5 » Books » Administrative »
Origin FibreVault and Fibre Channel RAID Administrator's Guide
(document number: 007-3715-002 / published: 1998-12-23)
table of contents | additional info | download find in page
Chapter 6. The Fibre Channel RAID Command-Line Interface
The Fibre Channel RAID command-line interface, ssmcli, communicates with the SP (storage processor) in the Fibre Channel RAID enclosure. The ssmcli program communicates directly with the Fibre Channel RAID agent ssmagent. It provides an alternative to the RAID GUI (ssmgui). The CLI is accessible using a serial-port terminal, or remote login.
This chapter introduces the ssmcli, explains the ssmcli command, and describes each subcommand for the ssmcli command in these sections:
Using the Fibre Channel CLI
The RAID CLI is typically run on a management station, such as a console or terminal attached to an Origin2000 workstation, although it can also run on an array server. Like the RAID GUI, the RAID CLI can run locally or remotely (communicating with the agent ssmagent over the network).
You can use the CLI to configure, control, and retrieve status from the Fibre Channel RAID enclosure. You can also use the RAID CLI to automate disk-array management functions by writing shell scripts or batch files that incorporate the ssmcli command.
You run the RAID CLI in an IRIX shell. Each ssmcli command consists of the ssmcli command (and switches) together with another subcommand (and its switches). The ssmcli command does not perform any function when executed by itself. However, when used in combination with the other commands described in this chapter, you can configure and manage the Fibre Channel RAID storage systems.
The ssmcli command sends RAID storage device management and configuration requests to an API (application programming interface) on a local or remote server. The RAID storage device consists of disk drives, power supplies, fans, a standby power supply (SPS), and a second RAID storage processor (SP); ssmcli subcommands monitor and control these components.
This section contains the following topics;
For more information on ssmcli, see its man page ssmcli(7M).
The ssmcli command syntax is
ssmcli [-help] [-d device] [-m] [-p] [-t timeout] -[v|q] [-h hostname] command [optional switches]
 | Note: You must be logged in as root or as the system administrator (sysadm) for this command.
|
Optional switches are as follows:
| -help | | Display the help screen and do not start the ssmcli process.
| | command | | One of a set of subcommands that are used with the ssmcli command to configure and manage a storage system, such as bind or getdisk. See “ssmcli Subcommands”.
| | -d device | | The target RAID device. If you do not specify the -d switch, the environment variable RaidAgentDevice is the default value for the device. (RaidAgentDevice is explained later in this section.) If RaidAgentDevice is not set and the -d switch is not present, an error is generated on all commands that need device information. Unless the environment variable indicates otherwise, every instance of the ssmcli command must have the -d switch. The -d switch overrides the RaidAgentDevice environment variable. You can get a list of RAID devices present using the getagent command with ssmcli; see “getagent” for a complete description.
| | -h hostname | | The network name of the destination server. The environment variable RaidAgentHost is the default value for the server if the -h switch is not present. The -h switch overrides the RaidAgentHost setting. If RaidAgentHost is not set and the -h switch is not present, the local hostname is used.
| | -m | | Suppresses output except for values. This option is most useful when it is used as part of a script.
| | -p | | Parses the entered command without making a network call to the application programming interface (API). If the string does not parse correctly, an error message prints to stderr; otherwise a message verifying that the string parsed correctly prints to stderr.
| | -q | | Suppresses error messages. This switch can be useful in a script.
| | -t timeout | | Sets the timeout value in seconds. Default is 25 seconds unless the RaidAgentTimeout environment variable is set differently. See “Environment Variables RaidAgentHost, RaidAgentDevice, and RaidAgentTimeout” for more information.
| | -v | | Enables verbose error descriptions. This is the default unless -q is specified.
| | command [optional switches | | ]
A subcommand and its switches. These subcommands are described in “ssmcli Subcommands”; Table 6-1 on page 144 summarizes the subcommands.
|
Environment Variables RaidAgentHost, RaidAgentDevice, and RaidAgentTimeout
The environment variables RaidAgentHost, RaidAgentDevice, and RaidAgentTimeout are default values for the server and the device if -h, -d and -t switches are not supplied with the ssmcli command. (These switches are explained above.)
If RaidAgentDevice is not set and the -d switch is not present, an error is generated on all commands that need device information.
If RaidAgentTimeout is not set and the -t switch is not present, the default timeout value is 25 seconds.
The following examples illustrate environment command settings:
setenv RaidAgentDevice sc1d0l0
setenv RaidAgentHost panther
setenv RaidAgentTimeout 45
|
In these examples, sc1d0l0 is a device name and panther is a hostname.
This section explains all ssmcli subcommands. Table 6-1 summarizes the subcommands.
Table 6-1. ssmcli Subcommand Summary
Subcommand
| Page
| Purpose
|
|---|
bind
| page 146
| Binds (groups) physical disks into RAID types
| chglun
| page 151
| Changes parameters for a currently bound group
| clearlog
| page 155
| Destroys the contents of the SP error log and resets its counters to zero
| clearstats
| page 155
| Resets statistics logging on the SP, setting all log counters to 0
| failback
| page 155
| Returns control of the fibre loop to the specified SP
| getagent
| page 156
| Gets names and descriptions of devices controlled by the destination API
| getcache
| page 157
| Gets information about the storage-system caching environment
| getcontrol
| page 161
| Gets information about the SP configuration
| getcrus
| page 163
| Displays status information on all system components, such as the fan
module, SPS, and so on
| getdisk
| page 166
| Displays status information on disk modules in the system
| getlog
| page 170
| Displays the SP log, in which errors are stored, or displays the oldest or
newest entries
| getloop
| page 171
| Returns information about the fibre loop.
| getlun
| page 171
| Displays information about a disk group
| getsniffer
| page 178
| Displays background and sniff information for a LUN
| r3wrbuff
| page 180
| Sets RAID 3 write buffering
| rebootSP
| page 181
| Reboots one or both SPs in the system
| setcache
| page 181
| Changes information about the FC RAID controller's caching environment
| setraid5
| page 184
| Sets the state of mixed mode
| setsniffer
| page 185
| Sets sniffer and background verify parameters
| setspstime
| page 186
| Sets SPS battery test time
| setstats
| page 186
| Set statistics logging or returns its state
| trespass
| page 187
| Sets the trespass value of a LUN
| unbind
| page 188
| Deconfigures physical disks from their current logical configuration,
destroying all data on LUN
|
 | Note: You must be logged in as root or as the system administrator to use ssmcli.
|
The bind command groups physical disks into logical RAID types (levels). This section contains the following topics:
bind is used with ssmcli as follows:
ssmcli bind raid-type [lun-number] disk-names [optional switches]
Required parameters are as follows:
| raid-type | | Specifies the RAID type for the array:
r5 = RAID type 5
r3 = RAID type 3
r1 = RAID type 1
r1_0 = RAID type 1/0
r0 = RAID type 0
id = individual disk
hs = hot spare
| | disk-names | | Physical disks to bind, in the format e_d, where e is enclosure number (in hex) and d is the disk number on that bus.
For example, 2_3 represents enclosure 2, disk 3. Valid enclosure values are the hexadecimal numbers 0 through 9, A (the hex representation of 10), and B (the hex representation for 11). Valid disk numbers are 0 through 9.
|
Optional switches are as follows. For specific RAID types, some of these parameters are required.
| lun-number | | Logical unit number (LUN) to assign the unit (valid range: 0-31). If this parameter is not specified, the next lowest available LUN number is assigned.
| |
-c cache-flags | | Enables either read or write caching, both read and write caching, or neither type of caching for any type of LUN except for a RAID 3 LUN or a hot spare. If you enable any type of caching for the LUN, caching occurs only when storage-system caching is enabled; see “setcache”. Write caching has special hardware requirements; see “Hardware Requirements for Caching: LUNs Other than RAID 3” in Chapter 2.
Set the type of caching used as follows:
The default is none. Whether you should use caching for a specific LUN depends on the LUN's RAID type; see Table 6-2.
Table 6-2. Binding Restrictions for RAID Types and Caching
RAID Type
| Write Caching
| Read Caching
|
|---|
RAID 5
| Highly recommended
| Recommended
| RAID 3
| Not acceptable
| Not acceptable
| RAID 1
| Acceptable
| Recommended
| RAID 1/0
| Acceptable
| Recommended
| RAID 0
| Acceptable
| Recommended
| Individual disk
| Acceptable
| Recommended
| Hot spare
| Not acceptable
| Not acceptable
|
| | -n min_latency_read | |
For RAID 3 only, enables minimal latency reads functionality. A setting of 0 (the default) disables minimal latency reads; a setting of 1 enables it.
| |
-r rebuild-priority | |
Priority that the array assigns for reconstructing the data on either a hot spare or a new disk module that replaces a failed disk module in a LUN: ASAP (as soon as possible; 10 to 15 minutes per GB), High (15 to 30 minutes per GB), Medium (45 to 60 minutes per GB), or Low (75 to 90 minutes per GB). The rebuild priority applies to all RAID LUNs except RAID 0, individual disk LUNs, and hot spares. The default priority is High, which is adequate for most situations.
 | Note: You cannot change the rebuild priority for a LUN while the LUN is rebuilding. Any change to the rebuild priority takes effect as soon as the operation completes.
|
| | -s stripe-size | | Number of blocks per physical disk within a LUN. The default value is 128 and should be an even multiple of 16 sectors; supported values are 4, 8, 16, 32, 64, 128, and 256.
The stripe element size can affect the performance of a RAID 5 or RAID 1/0 LUN. This value is ignored for RAID 1 LUNs, individual disks, and hot spares. For RAID 3 binds, the only legal value is 1.
The smaller the stripe size, the more efficient the distribution of data read or written. However, if the stripe size is too small for a single I/O operation, the operation requires access to two stripes, which causes the hardware to read to or write from two disk modules instead of one. Generally, you should use the smallest stripe size that rarely forces access to another stripe.
| | -v verify-priority | |
Priority that the array allots for checking parity: ASAP (as soon as possible), High, Medium, or Low. If an SP detects parity inconsistencies, it starts a background process to check all the parity sectors in the LUN. The priority you specify determines the amount of resource the SP devotes to verifying instead of to normal I/O activity.
| |
-z stripe-count | | The number of stripes in a LUN. For example, when you bind a RAID 5 with a stripe count of 2, partition the LUN into 2 stripes, thus preventing access to the remainder of the available space. This switch is useful for short bind operations (minibinds). Legal values are any number greater than or equal to zero. The default value is 0, which binds the maximum number of stripes available.
|
The following example binds LUN 3 as disks 1, 2, 3, 4, and 5 from enclosure 1 into a RAID 5, with a medium rebuild priority, a 128-block stripe size per physical disk, and with read cache enabled.
ssmcli -d sc2d0l0 bind r5 3 1_1 1_2 1_3 1_4 1_5 -r Medium -s 128 -c read
|
This subcommand has no output. Errors are printed to stderr.
 | Note: If the agent is 2.04.xx and later (see getagent output), you can stop a bind in progress with unbind; see page 188.
|
LUN Binding Order and Restrictions
For greatest flexibility, bind LUNs in the following order in the array:
RAID 1/0
RAID 5, RAID 3, and RAID 0
RAID 1
individual units and hot spares
Before you start binding disk modules, read the restrictions and recommendations in Table 6-3.
Table 6-3. Binding Restrictions for RAID Types
LUN Type
| Disk Modules
| Notes
|
|---|
Any LUN
| Unbound disk modules only;
all must have the same
capacity
| For LUNs except RAID 3, you can deallocate RAID 3 memory.
Binding RAID 3 LUNs with other LUN types in the same array
is not supported.
| RAID 5
| 3 minimum (5 recommended
minimum), 16 maximum
| You can bind one less module per LUN that you eventually use
by selecting an empty slot icon. However, the LUN operates in
a degraded mode until a disk module is installed in the empty
slot and the array integrates it into the LUN. You can select the
modules in any order.
| RAID 3
| 5 or 9
| You can bind one less module per LUN than you eventually
use by selecting an empty slot icon. However, the LUN
operates in a degraded mode until a disk module is installed
in the empty slot and the array integrates it into the LUN. You
can select the modules in any order.
Check RAID 3 memory before binding. If you do not allocate
adequate memory to the RAID 3 partition, the LUN is
unowned.
Binding other LUN types in the same array is not supported.
| RAID 1
| 2
| You can select the modules in any order.
| RAID 1/0
| Even number:
4 minimum, 16 maximum
| Disk modules are paired into mirrored images in the order in
which you select them: see Figure 6-1 on page 151.
| RAID 0
| 3 minimum, 16 maximum
| You can select the modules in any order.
| Individual disk
| 1
|
| Hot spare
| 1
| You cannot bind as hot spares disk modules 0:0 through 0:8.
The capacity of a hot spare must be at least as great as the
capacity of the largest disk module that it might replace.
For a RAID 3 LUN, only one hot spare is used in case of disk
failure; a second hot spare is not used in case of a second disk
failure.
|
When a LUN is assigned to an SP, its state becomes Assigned. When you use the SP that owns the LUN as the communications path to the chassis, the state of its disk modules becomes Enabled.
If you need to change the raid-type or -s stripe-size parameters, you must unbind the LUN and then rebind it with the correct parameters. (The unbind subcommand is explained on page 188.) If you need to change the maximum rebuild time, read cache state, or write cache state, use the chglun command (see page 151).
Selecting Modules for Mirror Images for a RAID 1/0 LUN
If you are binding a RAID 1/0 LUN, select disk modules in alternating order for the primary and secondary images. Figure 6-1 diagrams this order.
The first and second modules selected for a RAID 1/0 LUN are a pair of peer image parts, the third and fourth modules are another pair of peer image parts, and so on.
The chglun subcommand changes parameters on a currently bound LUN. You must use the LUN number -l lun-number switch with this subcommand; you must also use at least one other switch with it.
chglun is used with ssmcli as follows:
ssmcli chglun -l lun-number [optional switches]
where -l lun-number specifies the logical unit to change. This switch is mandatory.
Optional switches are as follows:
| -a auto | | Automatically reassigns ownership of a LUN to an active SP if an SP failure occurs. By default this feature, known as auto assign, is disabled for all RAID types except hot spares, to which it does not apply. The values are
| | -c cache-flags | | See the description of this parameter on page 147 in “bind.”
| | -d default-owner | |
Change the default owner of the LUN.
| | -i idle-thresh | | Maximum number of I/Os that can be outstanding to a LUN for the LUN still to be considered idle. Used to determine cache flush start time. Valid values are 0 through 254; the default is 0.
| -t idle-delay-time
| | Amount of time in 100-ms units that a LUN must be below the idle-thresh in order to be considered idle. For example, 5 equals 500 ms. Once a LUN is considered idle, any dirty pages in the cache can begin idle time flushing. The default is 20.
| | -pc maxIO | | Maximum number of I/Os which the LUN can have outstanding and still perform prefetching. The default is 40; valid values are 1 through 100.
| | -v verify-priority | |
Priority that the array allots for checking parity: ASAP (as soon as possible), High, Medium, or Low. If an SP detects parity inconsistencies, it starts a background process to check all the parity sectors in the LUN. The priority you specify determines the amount of resource the SP devotes to verifying instead of to normal I/O activity.
| | -n min_latency_reads | |
Enables minimal latency reads functionality. A setting of 0 disables; a setting of 1 enables. This parameter applies to RAID 3 only.
| | -r rebuild-priority | |
Priority that the array assigns for reconstructing the data on either a hot spare or a new disk module that replaces a failed disk module in a LUN: ASAP (as soon as possible; 10 to 15 minutes per GB), High (15 to 30 minutes per GB), Medium (45 to 60 minutes per GB), or Low (75 to 90 minutes per GB). The rebuild priority applies to all RAID LUNs except RAID 0, individual disk LUNs, and hot spares. The default priority is High, which is adequate for most situations.
 | Note: You cannot change the rebuild priority for a LUN while the LUN is rebuilding. Any change to the rebuild priority takes effect as soon as the operation completes.
|
| | -w write-aside | | Sets the maximum write request size, in blocks, that bypasses the cache and goes directly to the disks. Write requests equal to or less than the write-aside value are written directory to disk, bypassing write cache.
| | -dp | | Sets the default prefetch parameter values.
| | -pf prefetch_type | |
Determines whether to prefetch data of a variable or constant length or to disable prefetching:
| | -pm prefetch_size/mult | |
Determines the amount of data prefetched for one host read request. The action of this option depends on the setting for the -pf option:
If prefetch_type is 1 (constant length), prefetch_size/mult specifies the number of blocks to prefetch. The range is 0 through 2048 blocks.
If prefetch_type is 2 (variable length), prefetch_size/mult specifies the prefetch multiplier, which is the amount of data to prefetch relative to the amount of data requested. For example, if the prefetch size is 8, the amount of data to prefetch is 8 times the amount of data requested. The range is 0 through 32; the default value is 4.
| | -mp maxblocks | | For variable-length prefetching, sets the absolute maximum number of disk blocks to prefetch in response to a read request. This value is ignored for constant length. The range is 0 through 2048 blocks; the default is 512.
| | -sm segment-size/mult | |
For constant-length prefetching, sets the number of blocks of data to prefetch for each read request. An SP reads one segment at a time from the LUN because smaller prefetch requests interfere less with other host requests.
For variable-length prefetching, determines the amount of data to retrieve from the LUN in a single prefetch operation. Specify a factor equal to or less than the prefetch multiplier. If the segment multiple is equal to the prefetch multiplier, prefetch operations are not divided into segments. The amount of data prefetched for each read request must equal or be less than the prefetch multiplier.
| | -pd min_size_disable | |
Sets the prefetch disable, which is the size in blocks of the smallest read request for which prefetching is disabled. Prefetching is disabled for all read requests whose size is equal or larger than the Prefetch Disable size. The range is 0 through 65534; the default value is 129 (blocks).
| | -rt retain_prefetch_data | |
Enables retaining prefetch data. A setting of 0 disables; a setting of 1 (the default) enables.
|
 | Note: RAID 3 LUNs do not use read or write caching.
|
If you are binding a RAID 1/0 LUN, the order in which you select modules is important; see “Selecting Modules for Mirror Images for a RAID 1/0 LUN”.
 | Note: A LUN cannot use write caching until you enable the storage-system write cache. Write caching requires two SPs with equal amounts of memory. The LUN cannot use read caching until you enable the read cache for the SP that owns the LUN (see “setcache”).
|
This example changes LUN 3 to perform write caching and with a medium rebuild priority:
ssmcli -d sc2d0l0 chglun -l 3 -c write -r Medium
|
This subcommand has no output. Errors are printed to stderr.
The clearlog command destroys the contents of the RAID SP's unsolicited error log. All log counters are reset to zero. clearlog is used with ssmcli as follows:
ssmcli clearlog
For example:
ssmcli -d sc2d0l0 clearlog
|
Example output is as follows:
SP unsolicited error log cleared.
|
The clearstats command resets statistics logging on the RAID SP. If statistics logging is on, it is turned off and then back on. If statistics logging is off, it is turned on and then off. clearstats is used with ssmcli as follows:
ssmcli clearstats
For example:
ssmcli -d sc2d0l0 clearstats
|
Example output is as follows:
Statistics successfully cleared, statistics logging disabled.
|
The failback command returns control of the fibre loop to the specified SP. failback is used with ssmcli as follows:
ssmcli failback
For example:
ssmcli -d sc2d0l0 failback
|
This subcommand has no output.
The getagent command returns the names of devices controlled by the destination API along with descriptions about each device that the API is configured to communicate with. If you use the getagent command without switches, all of the values are displayed. If you enter the getagent command with switches, only the values for those switches are displayed.
This subcommand is used with ssmcli as follows:
ssmcli getagent [optional switches]
You can use optional switches to get specific device information, as follows:
| -cabinet | | Cabinet type.
| | -desc | | ASCII description of the device.
| | -mem | | Size in MB of the SP's memory. Each SP in the storage system must have the same amount of memory to make full use of the memory.
| | -model | | Model number of the device.
| | -name | | Name of the device.
| | -node | | Location in file system of device.
| | -peersig | | Signature of peer SP.
| | -prom | | Revision level of the SP's PROM code. Each SP in the storage system runs the same revision of PROM code. PROM code is updated automatically when an SP's LIC is updated.
| | -rev | | Microcode revision number: the revision of the Licensed Internal Code (LIC) that the SP is running. Each SP in the storage system runs the same revision of LIC.
| | -scsiid | | SCSI ID number for the SP host connection, which is determined by switch settings on the SP. For information on these switch settings, see the Origin FibreVault and Fibre Channel RAID Owner's Guide
| | -serial | | Enclosure serial number.
| | -sig | | Unique SP signature.
| | -type | | Model type (deskside, rackmount).
| | -ver | | Agent revision number: the version of the agent that is running.
|
For example:
ssmcli -d sc2d0l0 getagent
|
Following is example output for one device:
Agent Rev: 3.01.02
Agent Rev: 3.01.01
Name: sc3d8-A
Desc: “Unit 5-spA”
Node: sc3d8l0
Signature: 119217664
Peer Signature: 469967616
Revision: 2.02.08
SCSI Id: 8
Model: 5400
Model Type: Deskside
Prom Rev: 3.95.00
SP Memory: 136
Serial No: eng-eval-3
Cabinet: DPE
|
The getcache subcommand returns information about the RAID SP's caching environment. This subcommand is used with ssmcli as follows:
ssmcli getcache [optional switches]
You can use optional switches to get specific information, as follows:
| -bbutd | | Day of the week that BBU self-test is performed.
| | -bbutt
| | Time of day that BBU self-test is performed. Format: hhmm.
| | -freebackend | | Free memory available in the back-end memory bank.
| | -freecontrol | | Free memory available in the control memory bank.
| | -freefrontend | | Free memory available in the front-end memory bank.
| | -high | | Write cache high watermark. The percentage of dirty pages that, when reached, causes the SP to begin flushing the cache. The default is 100%. A lower value causes the SP to start flushing the cache sooner. The high watermark cannot be less than the low watermark. Watermark processing is turned off when both the low and high watermark values are 100.
| | -low | | Write cache low watermark. The percentage of cache dirty pages that determines when cache flushing stops. When the write cache low watermark is reached during a flush operation, the SP stops flushing the cache. The default value is 50%. Do not set the low watermark higher than the high watermark. Watermark processing is turned off when both the low and high watermark values are 100.
| | -mirror | | Write cache mirrored state.
| | -page | | Size of a cache page in KB: 2, 4, 8, or 16 KB. The default size is 2 KB.
| | -pdp | | Percent dirty pages currently in cache. The percentage of pages that have been modified in the SP's write cache, but that have not yet been written to disk. A high percentage of dirty pages means the cache is handling many write requests.
| | -pmbackend | | Physical memory size for the back-end memory bank.
| | -pmfrontend | | Physical memory size for the front-end memory bank.
| | -pmcontrol
| | Physical memory size for the control memory bank.
| | -ppo | | Percent pages owned by SP.
| | -rh | | Read hit ratio: the percentage of cache read hits for the SP. A read hit occurs when the SP finds a sought page in cache memory, and thus does not need to read the page from disk. The ratio is meaningful only if the SP's read cache is enabled. High hit ratios are desirable because each hit indicates at least one disk access that was not needed.
You may want to compare the read and write hit ratios for the LUN with the read and write hit ratio for the entire storage system. For a LUN to have the best performance, the hit ratios should be higher than those for the storage system. A very low read or write hit rate for a busy LUN may mean that caching is not helping the LUN's performance.
| | -rm3a | | Amount of memory, in MB, reserved for the optimized RAID 3 data buffers on SP A.
| | -rm3b | | The amount of memory, in MB, reserved for the optimized RAID 3 data buffers on SP B.
| | -rsta | | Current internal state of the read cache on SP A.
| | -rstb | | Current internal state of the read cache on SP B.
| | -rsza | | Amount of read cache memory SP A is allowed to use (in MB).
| | -rszb | | Amount of read cache memory SP B is allowed to use (in MB).
| | -spa | | Number of pages owned by SP A. The total number of pages in the SP, each page with the cache page size you selected when setting up storage-system caching. This number equals the cache size divided by the cache page size, minus space for checksum tables. If the storage system has two SPs and both are working, they divide the total number of pages between them. If an SP is idle for a long period or fails, the active SP may increase its share of pages.
| | -spb | | Number of pages owned by SP B. The total number of pages in the SP, each page with the cache page size you selected when setting up storage-system caching. This number equals the cache size divided by the cache page size, minus space for checksum tables. If the storage system has two SPs and both are working, they divide the total number of pages between them. If an SP is idle for a long period or fails, the active SP may increase its share of pages.
| | -state | | Current state of the SP's read or write cache. The possible read cache states are Enabled, Disabling, and Disabled. An SP's read cache is automatically enabled on power-on if the cache size is a valid number and the SP has at least 8 MB of memory. The possible write cache states are Enabled or Disabled, and several transition states, such as Initializing, Enabling, Disabling, Dumping, and Frozen.
| | -ucp | | Unassigned cache pages (that is, owned by neither SP A nor B).
| | -wh | | Write hit ratio: the percentage of cache write hits for the SP's write cache. A write hit occurs when the SP finds and modifies data in cache memory, which usually saves a write operation. For example, with a RAID 5 LUN, a write hit eliminates the need to read, modify, and write the data. High hit ratios are desirable because each hit indicates at least one disk access that was not needed.
You may want to compare the read and write hit ratios for the LUN with the read and write hit ratio for the entire storage system. For a LUN to have the best performance, the hit ratios should be higher than those for the storage system. A very low read or write hit rate for a busy LUN may mean that caching is not helping the LUN's performance.
| | -wsta | | Write cache state for SP A; it is always the same as that of SP B.
| | -wstb | | Write cache state for SP B; it is always the same as that of SP A.
| | -wsza | | Write cache size for SP A; it is always equal to that of SP B.
| | -wszb | | Write cache size for SP B; it is always equal to that of SPA.
|
For example:
ssmcli -d sc2d0l0 getcache
|
Example output is as follows.
SP Read Cache State Disabled
SP Write Cache State Disabled
Cache Page size: 4
Write Cache Mirrored: YES
Low Watermark: 50
High Watermark: 100
SPA Cache pages: 1151
SPB Cache pages: 1152
Unassigned Cache Pages: 0
Read Hit Ratio: 0
Write Hit Ratio: 0
Prct Dirty Cache Pages = 0
Prct Cache Pages Owned = 0
SPA Read Cache State Disabled
SPB Read Cache State Disabled
SPA Write Cache State Disabled
SPB Write Cache State Disabled
SPS Test Day: Saturday
SPS Test Time: 00:00
Physical memory size of CPU Ram = 8
Physical memory size of Front-End = 128
Physical memory size of Back-End = 32
Free Memory Size of CPU Ram = 0
Free Memory Size of Front-End = 110
Free Memory Size of Back-End = 18
SPA Read Cache Size = 0
SPB Read Cache Size = 4
SPA Write Cache Size = 9
SPB Write Cache Size = 9
SPA Optimized Raid 3 Memory Size = 2
SPB Optimized Raid 3 Memory Size = 2
|
An SP's write cache is automatically enabled at power-on if the cache size is a valid number and the storage system has certain components; see “Hardware Requirements for Caching: LUNs Other than RAID 3” in Chapter 2.
 | Note: Caching statistics are meaningful only if the SP's write cache is enabled; use setcache.
|
The getcontrol subcommand returns information about the SP configuration. This subcommand is used with ssmcli as follows:
ssmcli getcontrol [optional switches]
You can use optional switches to get specific information, as follows:
| -allib | | Idle and busy ticks for both buses.
| | -arv | | Number of times a user request arrived while at least one other request was being processed.
| | -avg | | Average number of requests seen by the SP.
| | -busy | | Percentage of time the SP is busy.
| | -cbt | | Controller idle and busy ticks.
| | -date | | SP's system date.
| | -day | | SP's system day.
| | -flush | | Number of times the high watermark, low watermark, and idle unit turned on flushing. This parameter also displays the number of requests to flush write cache, and the number of write cache blocks flushed.
| | -he | | Number of hard errors the SP has seen.
| | -ib1 | | Displays internal bus 1 idle and busy ticks.
| | -ib2 | | Displays internal bus 2 idle and busy ticks.
| | -idle | | Percentage of time the SP is idle.
| | -max | | Maximum number of requests seen by the SP.
| | -read | | Number of reads received by the SP.
| | -rw | | Displays the following:
host read requests: the number of read requests that host makes to LUN
host write requests: the number of write requests from host to LUN
host blocks read: the number of blocks the host read from the LUN
host blocks written: the number of blocks the host wrote to the LUN
| | -sc | | Indicates whether system cache is disabled or enabled. For SP A, the output gives the state of both read and write cache; for example:
SP Read Cache State Disabled
SP Write Cache State Disabled
|
For SP B, the output is read cache only, because write cache is always the same as that for SP A.
| | -sf | | Indicates whether system fault LED is on or off.
| | -sl | | Indicates whether statistics logging is on or off.
| | -time | | SP's system time.
| | -write | | Number of writes received by SP.
|
For example:
ssmcli -d sc2d0l0 getcontrol
|
Example output is as follows:
System Fault LED: OFF
Statistics Logging: OFF
SP Read Cache State Disabled
SP Write Cache State Disabled
Max Requests: 0
Average Requests: 0
Hard errors: 0
Total Reads: 0
Total Writes: 0
Prct Busy: Not Available
Prct Idle: Not Available
System Date: 10/20/1998
Day of the week: Tuesday
System Time: 11:17:19
Read_requests: 0
Write_requests: 0
Blocks_read: 0
Blocks_written: 0
Sum_queue_lengths_by_arrivals: 0
Arrivals_to_non_zero_queue: 0
Hw_flush_on: 0
Idle_flush_on: 0
Lw_flush_off: 0
Write_cache_flushes: 0
Write_cache_blocks_flushed: 0
Internal bus 1 busy ticks: 0
Internal bus 1 idle ticks: 0
Internal bus 2 busy ticks: 0
Internal bus 2 idle ticks: 0
Internal bus 3 busy ticks: 0
Internal bus 3 idle ticks: 0
Internal bus 4 busy ticks: 0
Internal bus 4 idle ticks: 0
Internal bus 5 busy ticks: 0
Internal bus 5 idle ticks: 0
Controller busy ticks: 0
Controller idle ticks: 0
|
 | Note: Fibre Channel RAID SPs have only one internal bus. For 5400 model series, the internal bus 2 through 5 idle and busy ticks values are 0.
|
The getcrus command returns state information on all or selected CRUs (customer replaceable units) in the subsystem except for disks (see the getdisk command). The getcrus command displays the state of the following CRUs: fan packs, link controller cards (LCCs), storage processors (SPs), standby power supplies (SPSs), and power supplies (also called voltage semi-regulated converters, or VSCs). The external Fibre Channel Hub is transparent to ssmcli.
 | Note: Despite the command name, not every component for which the getcrus command returns state information is customer-replaceable. Only disk drives, fan packs, LCCs, and power supplies are customer-replaceable; see the Origin FibreVault and Fibre Channel RAID Owner's Guide for instructions. For failed SPs and SPSs, call your service provider.
|
getcrus is used with ssmcli as follows:
ssmcli getcrus [optional switches]
You can use optional switches to get specific information, as follows:
| -fana | | Gets the state information on fan module A, which is the fan module (tray, bank) for the drives (rear fan module) in a DPE, or the only fan module in a DAE.
If any fan in a module fails, a fault is displayed for its module, and other fans in the module speed up to compensate. They cool the storage system indefinitely; however, if failure occurs in the normally functioning module, the temperature rises and the storage system shuts down after two minutes.
If a fan bank is down, you can determine whether it has failed by whether its button is amber, the event log lists fan failures, or the replace light on the fan module is lit. If a fan module has failed, replace it as soon as is practical.
| | -fanb | | Gets the state information on fan module B, which is the SP fan pack in a DPE (front fan). See -fana for further information.
| | -lcca | | State information on the link controller card (LCC) for SP A.
| | -lccb | | State information on the LCC for SP B.
| | -spa | | Current operational state of SP A. It can be in any of these states:
Present: The SP is the communication channel you are using to communicate with the chassis.
Empty: The agent cannot talk to the SP because a communication channel specifying the SP is not in the agent's configuration file for the selected host. For example, the SP is connected to a different host than the SP in the communications channel for the chassis.
Not Present: The SP that is in the communication channel to the selected chassis has failed or been removed.
Removed: The SP was not present when the agent was started.
| | -spb | | Gets state information on SP B. See the description of -spa.
| | -spsa | | Gets state information on SPS (standby power supply) A.
| | -spsb | | Gets state information on SPS B.
| | -vsca | | Gets state information on power supply A.
If a chassis has the maximum number of VSCs, it can continue operating if one VSC fails, but shuts down immediately if a second VSC fails. If a VSC is Down, you can determine whether it has failed by seeing if its button is amber, looking at the event log for VSC failures, or seeing if the Replace light on the VSC is lit. If the VSC has failed, replace the VSC as soon as is practical.
| | -vscb | | Gets the state information on power supply B. You can use getcrus without any switches to get the state information for every CRU except disks.
Table 6-4 summarizes states.
Table 6-4. VSC States
VSC State
| Meaning
|
|---|
Present
| Operating normally.
| Empty
| Failed or removed before the agent started running.
| Not Connected
| For an SP: the agent cannot talk to the SP because a communication channel
specifying the SP is not in the agent's configuration file for the selected host. For
example, the SP is connected to a different host from the SP in the
communications channel for the chassis, or it failed or was removed before the
agent started running.
| Removed
| Not present when the agent was started.
|
|
For example:
ssmcli -d sc2d0l0 getcrus
|
Example output is as follows:
DPE Enclosure 0
SP A State: Present
SP B State: Present
Enclosure 0 Fan A State: Present
Enclosure 0 Fan B State: Present
Enclosure 0 Power A State: Present
Enclosure 0 Power B State: Present
Enclosure 0 SPS A State: Empty
Enclosure 0 SPS B State: Present
Enclosure 0 LCC A State: Present
Enclosure 0 LCC B State: Present
|
The getdisk command returns detailed status information about all or selected disks in the system. getdisk is used with ssmcli as follows:
ssmcli getdisk [optional switches]
You can use optional switches to get specific information, as follows:
| disk_position | | Use the format e_d, where e is the enclosure number (1-10) and d is the disk number (0-9). For example, 2_3 represents disk 3 in enclosure 2. Valid enclosure values are the hexadecimal numbers 0 through 9, A (the hex representation of 10), and B (the hex representation for 11). Valid disk numbers are 0 through 9.
When the disk-position is not entered, getdisk returns an inclusive report on all disks, regardless of what switches are set. To obtain only the information specified by the optional switches, set the disk-position switch in the getdisk command.
| | -bind | | Percent of the disk that is bound.
| | -capacity | | Disk capacity in blocks.
| | -hr | | Total hard read errors for all the disk modules in the LUN that persisted through all the retries. A growing number of hard errors may mean that one or more of the LUN's disk modules is nearing the end of its useful life.
| | -hs | | Hot spare information (NO if not hot spare).
| | -hw | | Total hard write errors for all the disk modules in the LUN that persisted through all the retries. A growing number of hard errors may mean that one or more of the LUN's disk modules is nearing the end of its useful life.
| | -lun | | Possible values include: a hexadecimal number, Unbound for an enclosure disk not bound to a LUN, or Empty for an empty enclosure disk slot.
| | -private | | Private space of disk in blocks.
| | -product | | Product ID of the disk.
| | -rb | | Percent of the disk that is rebuilt.
| | -read | | Total read requests made to the disk module. You might find the LUN read information in getlun more useful because it is for the entire LUN, and not just for one of the disk modules in the LUN.
| | -rev | | Product revision number of the disk module.
| | -rr | | Number of read retries. Total number of times read and write requests to the disk module were retried.
| | -rs | | Number of remapped sectors. Total number of disk sectors that were faulty when written to, and thus were remapped to a different part of the disk module.
| | -state | | State of disk, as summarized in Table 6-5.
Table 6-5. Disk States (getdisk -state Output)
Disk State
| Meaning
|
|---|
Binding
| Being bound into a LUN.
| Empty
| Failed or removed before the agent started running.
| Enabled
| Either a hot spare on standby or part of a bound LUN that is assigned to
(owned by) the SP you are using as the communication channel to the
chassis. If the storage system has another SP, this module's status is Ready
when you use the other SP as the communication channel to the chassis.
| Equalizing
| Data from a hot spare is being copied onto a replacement disk module.
| Failed
| Powered off or inaccessible.
| Powering Up
| Power is being applied to the disk module.
| Ready
| Module is part of a broken LUN or of a LUN that is bound and
unassigned. This can mean that the disk module is part of a LUN that is
not owned by the SP that you are using as the communication channel to
the chassis. If the disk module is part of a LUN assigned to an SP other
than the one you are using as the communication chassis, the module's
status is either Enabled or Ready. It is Enabled when you use the other SP
as the communication channel to the chassis.
| Rebuilding
| Module is either a hot spare or replacement disk module that replaced a
failed module in a LUN. The data is being rebuilt on a hot spare or a
replacement disk module.
| Removed
| Removed from the chassis; applies only to a disk module that is part of a
LUN.
| Hot Spare Ready
| Module is either a hot spare or replacement disk module that replaced a
failed module in a LUN. The data is being rebuilt on a hot spare or
replacement disk module.
| Unbound
| Ready to be bound into a LUN.
|
| | -sectors | | Number of user sectors.
| | -serial | | Serial number of the disk.
| | -sig | | Bind signature (automatically assigned during bind).
| | -sr | | Total soft read errors for all the disk modules in the LUN that disappeared before all the retries. A growing number of soft errors may indicate that one of the LUN's disk modules is nearing the end of its useful life.
| | -sw | | Total soft write errors for all the disk modules in the LUN that disappeared before all the retries. A growing number of soft errors may indicate that one of the LUN's disk modules is nearing the end of its useful life.
| | -type
| | LUN type of the disk.
| | -vendor | | Vendor ID of the disk.
| | -wr | | Number of write retries. Total number of times write requests to the disk module were retried.
| | -write | | Total write requests made to the disk module. You might find the LUN write information in getlun more useful because it is for the entire LUN, and not just for one of the disk modules in the LUN.
|
The following example returns information for disk 1 in disk array enclosure (FibreVault) 1 (DAE 1):
ssmcli -d sc2d0l0 getdisk 1_1
|
Example output is as follows:
Enclosure 0 Disk 0
Vendor Id: [disk manufacturer]
Product Id: ST19171F CLAR09
Product Revision: SG16
Lun: 1
Type: RAID5
State: Enabled
Hot Spare: NO
Prct Rebuilt: 100
Prct Bound: 100
Serial Number: LA461731
Sectors: 51200 (25)
Capacity: 8429
Private: 184320
Bind Signature: 0x1955bb, 0, 0
Hard Read Errors: 0
Hard Write Errors: 0
Soft Read Errors: 0
Soft Write Errors: 0
Read Retries: 0
Write Retries: 0
Remapped Sectors: 0
Number of Reads: 0
Number of Writes: 0
|
The getlog command returns the entire SP log, the newest entries to the log, or the oldest entries to the log. getlog is used with ssmcli as follows:
ssmcli getlog [optional switches]
Depending on the size of the unsolicited log, the getlog command may take several minutes to execute.
Optional switches are as follows:
| -h | | Display the getlog header.
| | +N | | Displays the oldest N entries in the log, with the oldest entry first. If there are fewer than N entries, the entire log is displayed. N must be greater than 0.
| | -N | | Displays the newest N entries in the log, with the oldest entry first. If there are fewer than N entries, the entire log is displayed. N must be greater than 0.
|
If a range of entries is not specified, the entire log is displayed, with the oldest entry first.
For example:
ssmcli -d sc2d0l0 getlog -5
|
The following example output shows the most recent entries in the log, which show a CRU that has failed, been replaced, rebuilt, and become enabled.
05/17/1999 08:08:11 SP B (6C3) (BE Fibre Loop Operational) [0x00]
05/17/1999 08:08:33 Enclosure 0 Disk 8 (608) (CRU Ready) [0x08]
05/17/1999 08:08:33 Enclosure 0 Disk 8 (603) (CRU Rebuild Started) [0x08]
05/17/1999 08:08:35 Enclosure 0 Disk 8 (602) (CRU Enabled) [0x08]
05/17/1999 08:08:35 Enclosure 0 Disk 8 (604) (CRU Rebuild Complete) [0x00]
|
The getloop command returns information about the fiber loop. getloop is used with ssmcli as follows:
ssmcli getloop
For example:
ssmcli -d sc2d0l0 getloop
|
Example output is as follows:
Has Data Loop Failed Over: NO
Can This SP Failover: NO
Private Loop Enabled: NO
Illegal Cross Loop: NO
Connection #0: Enclosure 0
|
The getlun command returns information about a LUN and the CRUs that make up that LUN. If statistics logging is disabled, some fields are not printed. Other switches must be used in conjunction with the -disk switch. getlun is used with ssmcli as follows:
ssmcli getlun lun-number [optional switches]
where lun-number is the number of the LUN about which to get information. If no LUN is specified, the command reports on all LUNs in the system.
You can get specific information with optional switches, as follows:
| -aa | | Auto-assign is enabled or disabled.
| | -at | | Auto-trespass is enabled or disabled.
| | -bind | | Percent of the LUN that is bound.
| | -bp | | Number of blocks prefetched by read cache. This field is not printed if statistics logging is disabled.
| | -bread | | Number of blocks read for each CRU. This switch must be used in conjunction with the -disk switch.
| | -brw | | Number of host block read and write requests. This field is not printed if statistics logging is disabled.
| | -busy | | Percentage of time that the disk is busy. This switch must be used in conjunction with the -disk switch.
| | -bwrite | | Number of blocks written for each CRU. This switch must be used in conjunction with the -disk switch.
| | -capacity | | LUN capacity in MB.
| | -crus | | Names and states of disks in this LUN.
| | -default | | SP is or is not the default owner of the LUN.
| | -disk | | Disk statistics for the LUN. Disk statistics switches are only valid when the -disk switch is included.
| | -element | | Stripe size (in blocks), which is the number of sectors that the storage system can read or write to a single disk module in the LUN. The default size is 128 sectors. This size was specified when the LUN was bound. Stripe element size does not apply to a RAID 1 LUN, individual disk, or hot spare.
| | -ena | | Disk is enabled or disabled. This switch must be used in conjunction with the -disk switch.
| | -ff | | Number of times that a write had to flush a page to make room in the cache. This field is not printed if statistics logging is disabled.
| | -idle | | Percentage of time that the LUN is idle. This switch must be used in conjunction with the -disk switch.
| | -idt | | Idle delay time for caching (in 100-ms intervals).
| | -it | | Idle threshold value for caching.
| | -mp | | For variable length prefetching, gets the absolute maximum number of disk blocks to prefetch in response to a read request.
| | -nminus | | Gets whether minimal latency reads is or is not supported. This field is not printed if statistics logging is disabled.
| | -owner | | Which SP currently owns the LUN, SPA or SPB.
| | -pd | | Gets the prefetch disable size, which is the size in blocks of the smallest read request for which prefetching is disabled. Prefetching is disabled for all read requests whose size is equal or larger than the Prefetch Disable size.
| | -pic | | Maximum number of I/Os that can be outstanding to the unit and have the unit still perform prefetching.
| | -prb | | Percentage of the LUN that is rebuilt.
| | -prefetch | | Type of prefetching that the LUN is using for read caching:
| | -prf | | Percentage of read requests that caused a flush.
| | -ps | | Prefetch size/multiplier. The amount of data prefetched for one host read request. For constant-length prefetching, gets the read request in blocks.
| | -psm | | Prefetch size/multiplier. The amount of data prefetched for one host read request. For variable-length prefetching, gets the multiplier used to calculate the amount of data to prefetch. For example, if the prefetch size is 8, the amount of data to prefetch is 8 times the amount of data requested.
| | -qavg | | Average queue depth for each CRU. This switch must be used in conjunction with the -disk switch.
| | -qmax | | Maximum queue depth for each CRU. This switch must be used in conjunction with the -disk switch.
| | -rb | | Maximum priority level for rebuilding failed disk.
| | -rc | | LUN's read cache state (enabled or disabled).
| | -rchm | | Read and write cache hits and misses. This field is not printed if statistics logging is disabled.
| | -reads | | Number of reads received for each CRU. This switch must be used in conjunction with the -disk switch.
| | -remap | | Number of remapped sectors. This switch must be used in conjunction with the -disk switch.
| | -ret | | Retention priority for retaining prefetched data when the read cache becomes full. If the priority is Equal Priority, prefetched data has priority over host-requested data. If it is Equal, both types of data have the same priority.
| | -rh | | Gets read-hit information if statistics logging is enabled. This field is not printed if statistics logging is disabled.
| | -rhist | | Read histogram, which is an array of 10 locations that contain the number of reads. Element n of the array contains the number of reads that were larger than or equal to 2n-1 and less than 2n blocks in size. For example, the first bucket contains 1 block reads, the second contains 2-3, the third 4-7 and so on. -rhist also displays read-histogram overflows, which are the number of I/O operations that were larger than 512 blocks. This field is not printed if statistics logging is disabled.
| | -rr | | Total number of times read requests to all the disk modules in the LUN were retried. This switch must be used in conjunction with the -disk switch.
| | -rwf | | Percent of write requests that caused a flush.
| | -rwr | | Host read and write requests. This field is not printed if statistics logging is disabled.
| | -service | | Average service time for each CRU. This switch must be used in conjunction with the -disk switch.
| | -srcp | | Read cache configuration.
| | -ss | | Prefetch segment size, the size of the segments that make up a prefetch operation. For constant-length prefetching, gets the segment size (in blocks) of data prefetched in one read operation from the LUN.
| | -ssm | | Prefetch segment multiplier. For variable length prefetching, gets the multiplier which determines the amount of data, relative to the amount of requested data, prefetched in one read operation. For example, if the segment multiplier is 4, the segment size is 4 times the amount of data requested.
| | -stripe | | Number of times an I/O crossed a stripe boundary on a RAID 5, RAID 0, or RAID 1/0 LUN.
| | -type | | RAID type of the LUN as follows:
RAID5: individual access array
RAID3: parallel access array
RAID1: mirrored pair
RAID1/0: mirrored RAID 0 group
RAID0: nonredundant individual access array
Disk: individual unit
Hot Spare: hot spare
| | -upb | | Number of prefetched blocks not used by the read cache. This field is not printed if statistics logging is disabled.
| | -verify | | Verification priority. This field is not printed if statistics logging is disabled.
| | -was | | Minimum block size request that bypasses cache.
| | -wc | | LUN's write cache state (enabled or disabled).
| | -wch | | Number of times that a write was completely satisfied by the cache, avoiding a disk operation. This field is not printed if statistics logging is disabled.
| | -wh | | Write hit information, if statistics logging is enabled. This field is not printed if statistics logging is disabled.
| | -whist | | Write histogram, which is an array of 10 locations that contain the number of writes. Element n of the array contains the number of writes that were larger than or equal to 2n-1 and less than 2n blocks in size. For example, the first bucket contains 1 block writes, the second contains 2 to 3 block writes, the third 4 to 7 block writes, and so on. -whist also displays the write histogram overflows, which are the number of I/O that were larger than 512 blocks. This field is not printed if statistics logging is disabled.
| | -wr | | Total number of times write requests to all the disk modules in the LUN were retried. This switch must be used in conjunction with the -disk switch.
| | -writes | | Number of writes received for each CRU. This switch must be used in conjunction with the -disk switch.
|
The following example retrieves information about LUN 0:
ssmcli -d sc2d0l0 getlun 0
|
Example output is as follows, with statistics logging enabled (see “setstats”)
Prefetch size (blocks) = 4
Prefetch multiplier = 4
Segment size (blocks) = 4
Segment multiplier = 4
Maximum prefetch (blocks) = 512
Prefetch Disable Size (blocks) = 129
Prefetch idle count = 40
Variable length prefetching YES
Prefetched data retained YES
Read cache configured according to
specified parameters.
Minimum latency reads N/A
Read Histogram[0] 0
Read Histogram[1] 0
Read Histogram[2] 0
Read Histogram[3] 0
Read Histogram[4] 0
Read Histogram[5] 0
Read Histogram[6] 0
Read Histogram[7] 0
Read Histogram[8] 0
Read Histogram[9] 0
Read Histogram overflows 0
Write Histogram[0] 0
Write Histogram[1] 0
Write Histogram[2] 0
Write Histogram[3] 0
Write Histogram[4] 0
Write Histogram[5] 0
Write Histogram[6] 0
Write Histogram[7] 0
Write Histogram[8] 0
Write Histogram[9] 0
Write Histogram overflows 0
Read Requests 0
Write Requests 0
Blocks read 0
Blocks written 0
Read cache hits 0
Read cache misses 0
Prefetched blocks 0
Unused prefetched blocks 0
Write cache hits 0
Forced flushes 0
Read Hit Ratio 0
Write Hit Ratio 0
RAID Type: RAID5
Stripe Crossing: 0
Element Size: 128
Current owner: SP A
Auto-trespass: DISABLED
Auto-assign: DISABLED
Write cache: ENABLED
Read cache: ENABLED
Idle Threshold: 0
Idle Delay Time: 20
Write Aside Size: 2048
Default Owner: SP A
Rebuild Priority: High
Verify Priority: ASAP
Prct Reads Forced Flushed: 0
Prct Writes Forced Flushed: 0
Prct Rebuilt: 100
Prct Bound: 100
Lun Capacity: 125
Enclosure 0 Disk 5 Enabled
Reads: 0
Writes: 0
Blocks Read: 0
Blocks Written: 0
Queue Max: 0
Queue Avg: 0
Avg Service Time: 0
Prct Idle Not Available
Prct Busy Not Available
Remapped Sectors: 0
Read Retries: 0
Write Retries: 0
Enclosure 0 Disk 6 Enabled
Reads: 0
Writes: 0
Blocks Read: 0
Blocks Written: 0
Queue Max: 0
Queue Avg: 0
Avg Service Time: 0
Prct Idle Not Available
Prct Busy Not Available
Remapped Sectors: 0
Read Retries: 0
Write Retries: 0
Enclosure 0 Disk 7 Enabled
Reads: 0
Writes: 0
Blocks Read: 0
Blocks Written: 0
Queue Max: 0
Queue Avg: 0
Avg Service Time: 0
Prct Idle Not Available
Prct Busy Not Available
Remapped Sectors: 0
Read Retries: 0
Write Retries: 0
|
The getsniffer command fetches and displays background verify and sniff reports. For an explanation of this software, see “ssmgui Architecture” in Chapter 1.
getsniffer is used with ssmcli as follows:
ssmcli getsniffer lun-number [optional switches]
The following example displays background verify and sniff information for LUN 1.
ssmcli -d sc2d0l0 getsniffer 1
|
Optional switches are as follows:
| -nonv | | Displays historical totals of all nonvolatile recovery verifies.
| | -curr | | Displays the currently running full-unit verify.
| | -rec | | Displays the most recently completed full-unit verify.
| | -alltot | | Displays historical totals of all full-unit verifies.
|
Example output is as follows:
VERIFY RESULTS FOR UNIT 1
Sniffing state: ENABLED
Sniffing rate(100 ms/IO): 4
Background verify time(hours): 0
Historical Total of all Non-Volatile Recovery Verifies(0 passes)
-----------------------------------------------------------------
Corrected Uncorrectable
Checksum errors 0 0
Write Stamp errors 0 0
Time Stamp errors 0 0
hed Stamp errors 0 0
Coherency errors 0 0
Currently Running Full Unit Verify
----------------------------------------------------------------
Verify State: Sniff Running
Percent Complete: 0
Corrected Uncorrectable
Checksum errors 0 0
Write Stamp errors 0 0
Time Stamp errors 0 0
Shed Stamp errors 0 0
Coherency errors 0 0
Most Recently Completed Full Unit Verify
----------------------------------------------------------------
Corrected Uncorrectable
Checksum errors 0 0
Write Stamp errors 0 0
Time Stamp errors 0 0
Shed Stamp errors 0 0
Coherency errors 0 0
Historical Total of All Full Unit Verifies(0 passes)
----------------------------------------------------------------
Corrected Uncorrectable
Checksum errors 0 0
Write Stamp errors 0 0
Time Stamp errors 0 0
Shed Stamp errors 0 0
Coherency errors 0 0
|
The r3wrbuff command sets the state of RAID 3 write buffering. If there are no parameters, the command returns the current status of RAID 3 write buffering. r3wrbuff is used with ssmcli as follows:
ssmcli r3wrbuff [-on | -off]
where -on enables RAID 3 write buffering and -off disables RAID 3 write buffering.
For example:
ssmcli -d sc2d0l0 r3wrbuff -on
|
Example output is as follows:
RAID 3 write buffering ENABLED.
|
When RAID 3 write buffering is enabled, the I/O has not been written to the media. Therefore, if a power cycle, SP failure, or other fatal error occurs, there is no guarantee that the last I/O is written to disk.
The rebootSP command reboots one or both of the storage processors in the system. If no switches are specified, the current SP is rebooted. rebootSP is used with ssmcli as follows:
ssmcli rebootSP [optional switches]
Optional switches are as follows:
| -both | | Specifies both SPs.
| | -o | | Suppresses the prompt that asks the user for permission.
|
For example:
ssmcli -d sc2d0l0 rebootSP -both
|
Output is as follows, unless the -o option is specified.
This operation will cause a storage subsystem reboot!!!
DO YOU WISH TON CONTINUE? (y/n)
|
The setcache command changes system caching on the RAID SP. Using setcache with its various switches, you can enable, disable, and configure the cache. Read cache and write cache size switches do not work if that cache is enabled. setcache is used with ssmcli as follows:
ssmcli setcache [optional switches]
You can use optional switches to set specific parameters, as follows:
-h hi-watermark
| | Write cache high watermark: the percentage of dirty pages, which, when reached, causes the SP to begin flushing the cache. The default is 96%. A lower value causes the SP to start flushing the cache sooner. The high watermark cannot be less than the low watermark. Watermark processing is turned off when both the low and high watermark values are 100.
| -l low-watermark
| | Write cache low watermark: the percentage of cache dirty pages that determines when cache flushing stops. When the write cache low watermark is reached during a flush operation, the SP stops flushing the cache. The default value is 80%. The low watermark cannot be greater than the high watermark. Watermark processing is turned off when both the low and high watermark values are 100.
| | -m mirror | | Enable or disable mirroring. A setting of 1 enables mirroring (the default). For fibre channel storage, a setting of 0, which disables mirroring, is not supported and an error message is reported.
| | -p page-size | | Size (in KB) of pages into which to partition the cache. Valid sizes are 2 (the default), 4, 8, and 16. Page size is set to 2 regardless of enable/disable state. Generally, cache page size should be 8 KB for general IRIX file server applications, and 2 KB or 4 KB for database applications. This switch does not work if read or write cache is enabled.
 | Note: Setting a RAID 3 size or a write cache size for one SP automatically sets the same value for the other SP, so you need specify a value for only one SP.
|
| -r3a raid3-size-spa
| | Optimized RAID 3 size for SP A. For RAID 3 LUNs to be accessible, the minimum value is 2 MB and the maximum value (optimum) is 14 MB.
 | Note: For storage systems other than RAID 3, set this field to 0 only.
|
| | -r3b raid3-size-spb | |
Sets the optimized RAID 3 size for SP B. For RAID 3 LUNs to be accessible, the minimum value is 2 MB. For more information, see -r3a.
| | -rsza read-cache-size-spa | |
Sets read cache size for SP A.
| | -rszb read-cache-size-spb | |
Sets read cache size for SP B.
| | -rca read-cache-spa | |
Sets the read cache state for SP A. A setting of 1 enables read cache; a setting of 0 disables.
| | -rcb read-cache-spb | |
Sets read cache state for SP B. A setting of 1 enables; a setting of 0 disables.
| | -wc write-cache | |
Sets write cache state. A setting of 1 enables write cache; a setting of 0 disables.
| | -wsza write-cache-size-spa | |
Sets write cache size for SP A. Write cache on each SP must be equal. If you set the size for one SP, the software automatically sets the size in the other SP to match. Write caching requires two SPs with equal amounts of memory.
| | -wszb write -cache-size-spb | |
Sets write cache size for SP B; see the explanation of -wsza write-cache-size-spa.
|
Note the following:
Write caching requires two SPs with equal amounts of memory.
The sum of an SP's write cache size and optimized RAID 3 memory size must be less than or equal to the SP's front-end size.
The sum of an SP's read cache size and optimized RAID 3 memory size must be less than or equal to the SP's back-end size.
RAID 3 memory must be the same size in the front and back ends.
This example enables the system write cache, partitioned into 8-KB pages, with a 50% low-watermark value and a 75% high-watermark value:
ssmcli -d sc2d0l0 setcache -wc 1 -p 8 -l 50 -h 75
|
This subcommand has no output.
The setraid5 command sets the state of mixed mode. You must enable or disable mixed mode for the LUNs in an array, depending on their type; see Table 6-6.
Table 6-6. Mixed Mode
Mixed Mode State
| RAID 5, 1, 1/0, 0, Hot Spare
| RAID 3 and Hot Spare
|
|---|
Enabled (default)
| These LUNs can be bound and
accessed.
| These LUNs can be bound,
but not accessed.
| Disabled
(bandwidth mode)
| These LUNs can be bound, but not
accessed until mixed mode is
enabled.
| These LUNs can be bound
and accessed;
RAID 3 operation is optimized.
|
Note the following:
If you are binding or accessing RAID 3 LUNs, disable mixed mode.
If RAID 5, 1, 1/0, 0 LUNs are bound when mixed mode is disabled, they are unowned; if you then enable mixed mode, they become owned.
If mixed mode is enabled, disabling it reboots the array's SPs and restarts the LIC. Before beginning this process, make sure no users are conducting I/O with any filesystems or partitions on the array.
RAID 3 and hot spares work whether mixed mode is enabled or disabled, but RAID 3 is optimized if it is disabled.
If there are no parameters, the command returns the current status of mixed mode. This command is used with ssmcli as follows:
ssmcli setraid5 [-on | -off]
where -on enables mixed mode and -off disables mixed mode.
 | Caution: Disabling or enabling mixed mode (ssmcli setraid5 -off) reboots the array's SPs and restarts the LIC. Before beginning this process, make sure no users are conducting I/O with any filesystems or partitions on the array.
|
For example:
ssmcli -d sc2d0l0 setraid5 -on
|
Example output is as follows:
This operation will cause a storage subsystem reboot.
DO YOU WISH TO CONTINUE? [n] yes
Mixed mode RAID 5 is ENABLED.
|
The setsniffer command resets sniffer and background verify parameters. For an explanation of this software, see “ssmgui Architecture” in Chapter 1. setsniffer is used with ssmcli as follows:
ssmcli setsniffer lun-number 0|1 [optional switches]
where 0 disables sniffing and 1 enables sniffing.
Optional switches are as follows:
| -bv | | Starts a full-unit background verify.
| | -cr | | Clears the background verify reports.
| | -snrate rate | | Specifies a sniff rate in units of 100 ms. This setting controls the rate at which sniffs are executed. Valid values are 1 through 254; the default is 30.
| | -bvtime level | | Specifies priority for the background verify rate for executing the full background verify. Allowable values are ASAP, High, Medium, and Low; the default is High.
|
The following example sets sniffing on LUN 0 and starts a background verify, with a medium-priority verify rate.
ssmcli -d sc2d0l0 setsniffer 0 1 -bv -bvtime Medium
|
This command has no output.
The setspstime command sets the SPS battery test time. If no switches are specified, the command returns the current SPS battery test time. setspstime is used with ssmcli as follows:
ssmcli setspstime [optional switches]
Optional switches are as follows:
| -d -h -m | | Sets the following:
-d: sets the day; range is 0 to 6, with 0 signifying Sunday.
-h: sets the hour of the day; range is 0 to 23, with 0 signifying 12:00 am.
-m: sets the minute of the hour; range is 0 to 59.
To set the SPS test time, all three switches must be specified
|
This example sets the SPS battery test time to Sunday at 1:00 am.
ssmcli -d sc2d0l0 setspstime -d 0 -h 1 -m 0
|
Example output is as follows:
Battery Test Time: Sunday at 01:00
|
The setstats command sets statistics logging. If no optional switches are present, the command returns the current state of statistics logging.
The SP maintains a log of statistics for the LUNs, disk modules, and storage system caching that you can turn on and off. When the log is on it affects storage system performance, so you may want to leave it off unless you have a reason to monitor performance.
The log uses a 32-bit counter to maintain the statistics numbers, so when the counter is full, the statistics numbers start over at zero. As a result, you will see a sudden decrease in a statistics number if you view it shortly before the counter is full and shortly after the counter restarts at zero. If you want to keep the log turned on for more than two weeks, we recommend that you reset the log about every two weeks, so you know when the numbers start at zero.
setstats is used with ssmcli as follows:
ssmcli setstats [optional switches]
The optional switches are -on, which sets statistics logging on and -off, which sets statistics logging off.
 | Note: If statistics logging is off, certain options in other subcommands are disabled (such as for getlun). The switch descriptions for the other subcommands specify whether statistics logging must be on for their switches to be valid.
|
For example:
ssmcli -d sc2d0l0 setstats -on
|
Example output is as follows:
Statistics logging is enabled.
|
This command sets the LUN's trespass value. trespass is used with ssmcli as follows:
ssmcli trespass [mine|lun lun-number|all]
where
| mine | | Performs whatever trespassing is necessary to take all of the LUNs that have this SP as a default owner.
| | lun lun-number | |
Specifies trespass on one LUN (specified by the lun-number).
| | all | | Specifies trespass on all LUNs in the system.
|
The lun-number specifies the single LUN on which to trespass.
For example:
ssmcli -d sc2d0l0 trespass lun 2
|
This subcommand has no output.
The unbind command deconfigures LUNs from their current logical configuration. unbind destroys all data on the LUN. Therefore, when you execute an unbind command, you are prompted to verify that you really want to unbind the LUN. If you do not want the prompt to appear, you can override prompting with the -o switch.
 | Caution: Unbinding a LUN destroys any data on it. Observe these precautions:
|
Back up any data you want to retain from the LUN before beginning the unbind procedure.
Unbind only one LUN at a time.
Never unbind the last bound LUN in a storage system. Unbinding the last LUN may prevent you from accessing the storage system.
Never reboot a server unless at least one LUN is bound. If you unbind all of the LUNs and lose access to the storage system, refer to the release notice for the ssmagent for recovery procedures.
unbind is used with ssmcli as follows:
ssmcli unbind lun-number [-o]
where lun-number is the logical unit to deconfigure. The optional switch -o turns off the prompt that asks the user for permission.
This example destroys (deconfigures) LUN 3 without prompting for permission, and frees its physical disks to be reconfigured:
ssmcli -d sc2d0l0 unbind 3 -o
|
This subcommand has no output.
 | Note: If the agent is 2.04.xx and later (see getagent output), you can use unbind to stop a bind in progress.
|
The ssmcli command returns the error values summarized in Table 6-7.
Table 6-7. ssmcli Error Values
Value
| Description
|
|---|
0
| No error
| 1
| Invalid command-line parameters (switches)
| 2
| Too few parameters
| 3
| Too many parameters
| 4
| Invalid bind type
| 5
| Invalid LUN number
| 6
| Invalid rebuild time
| 7
| Disk names for RAID 1/0 must have an even number of arguments
| 8
| Invalid number of disks in bind command
| 9
| Valid disk names are of format a0, b1, ... e3, and so on
| 10
| An enclosure containing one or more of the disks is not present
| 11
| Disk already bound or binding
| 12
| Disk is empty or missing
| 13
| Invalid stripe size
| 14
| Invalid disk name
| 15
| Invalid cache flags
| 16
| Invalid default owner
| 17
| Incorrect number of chglun parameters
| 18
| Unable to determine name of target host system
| 19
| Enable-disable flag invalid
| 20
| Invalid usable cache size
| 21
| Invalid page size
| 22
| Invalid watermark value
| 23
| High watermark less than lo w watermark
| 24
| No device name listed on command line
| 25
| Invalid idle threshold
| 26
| Invalid idle delay
| 27
| Invalid write aside size
| 28
| Disks must be on separate buses for bind
| 29
| The agent was unable to configure any devices
| 30
| LUN does not exist
| 31
| LUN already exists
| 32
| Cannot get current working directory for firmware command
| 33
| Illegal position for hot spare
| 34
| Invalid read cache value
| 35
| Invalid read cache size
| 36
| Invalid write cache value
| 37
| Invalid write cache size
| 38
| Invalid RAID3 cache size
| 39
| Cannot access device
| 40
| Switch not supported
| 41
| Command is not supported
| 42
| Unknown error
| 50
| Agent: Memory allocation error
| 51
| Agent: Invalid device name
| 52
| Agent: Host connection not found
| 53
| Agent: SP not found
| 54
| Agent: Invalid SP suffix
| 55
| Agent: Invalid LUN number
| 56
| Agent: Invalid page size
| 57
| Agent: Invalid command-line switch
| 58
| Agent: Error bind command
| 59
| Agent: Error chglun command
| 60
| Agent: Error unbind command
| 61
| Agent - Error firmware command
| 62
| Agent: Error trespass command
| 63
| Agent: Error rebootSP command
| 64
| Agent: Generic error
| 65
| Agent: Unknown error
|
Origin FibreVault and Fibre Channel RAID Administrator's Guide
(document number: 007-3715-002 / published: 1998-12-23)
table of contents | additional info | download
Front Matter
About This Guide
Chapter 1. Fibre Channel RAID Graphical User Interface Features
Chapter 2. Using the RAID GUI to Configure Arrays
Chapter 3. Reconfiguring and Fine-Tuning
Chapter 4. Monitoring Arrays and Displaying System Statistics
Chapter 5. Identifying and Correcting Failures
Chapter 6. The Fibre Channel RAID Command-Line Interface
Chapter 7. The Fibre Channel Non-RAID Command-Line Interface
Appendix A. Error Recovery
Appendix B. Server Serial Connector Pinouts
Appendix C. Cache and Cache Page Size
Index
home/search |
what's new |
help
|