HP Array Configuration Utility CLI
(Originally this document was for the Windows version)
(We apologize that it is not customized for FreeBSD, but the commands are the same.)
07/28/2004
Description
-----------
The Array Configuration Utility CLI is a commandline-based disk
configuration program for Smart Array Controllers and
RAID Array Controllers.
Controllers
-----------
SMART-2/E Array Controller
SMART-2/P Array Controller
SMART-2SL Array Controller
SMART-2DH Array Controller
Fibre Channel Host Controller /E
Fibre Channel Host Controller /P
64-bit/66Mhz Fibre Host Bus Adapter
Smart Array 3100ES Controller
Smart Array 3200 Controller
Smart Array 221 Controller
Integrated Smart Array Controller
Smart Array 4200 Controller
Smart Array 4250ES Controller
Smart Array 431 Controller
Smart Array 5300 Controller
Smart Array 532 Controller
Raid Array 4000 Controller
Raid Array 4100 Controller
MSA1000 Controller
Smart Array Cluster Controller
Smart Array 5i Controller
Smart Array 5312 Controller
Smart Array 641 Controller
Smart Array 642 Controller
Smart Array 6400 Controller
Smart Array 6400 EM Controller
Smart Array 6i Controller
MSA500 G2 Controller
MSA1500 CS Controller
MSA20 Controller
Installing & Running the Array Configuration Utility CLI
--------------------------------------------------------
Installing on FreeBSD
Untar the hpacucli tar file. Inside of the ./hpacucli directory is the
binary (.hpacucli) and the script around it (hpacucli) along with
the libraries required. There is a quick install script in that directory
called install.sh. You should be able to run that to install it on FreeBSD 4.X.
If you want it to work on FreeBSD 5.x, the 4.x compat libs must be installed.
For FreeBSD 4.X, if the "/dev/ciss0" device file does NOT exist, you will
have to create it using the following command:
mknod /dev/ciss0 c 166 0
Run the CLI:
1. Install the CLI component onto your system.
2. When component installation is complete, click Start and navigate to
Programs, HP System Tools, HP Array Configuration Utility CLI.
By default this will run the CLI in command prompt environment.
The CLI can also be started by changing to the directory in which it
was installed and doing the following:
To enter the ACU CLI console type:
hpacucli
Commands can also be executed from outside the
ACU CLI console using the syntax:
hpacucli <console command>
Type "hpacucli help" or type "help" at the CLI prompt for usage details.
Also see the "Using ACU CLI" section of this document, located after Feedback.
Exiting CLI:
1. To exit the ACU CLI, type "exit" while at the CLI command console.
Additional Notes
----------------
* Except for show commands, the CLI locks each external controller on which it
performs an operation when the command starts and unlocks it when the command is
complete. This prevents the CLI from tying up a controller, but also prevents
errors from occurring while another configuration utility is being run. The
CLI does not attempt to lock controllers when performing a show command, nor
does it lock controllers for an entire session. Note that this differs from ACU's
session-style locking scheme.
Known Issues
------------
* Generic error is displayed if create logical drive fails. The error
says to check raid and size parameters, however it may have failed
because of another reason (i.e. failed physical drive).
* When using the CLI console, pressing the up arrow does not cycle
through commands in Linux.
* CLI commands are not editable when they wrap to the next line.
Feedback
--------
For feedback or suggestions on ACU CLI, please send comments to acu@hp.com;
however, we regret support cannot be provided through this address.
Using ACU CLI
-------------
ACU Command Line Interface (CLI)
Overview
--------
The HP Array Configuration Utility (ACU) is a browser-based utility with the
following features:
* Can be used online (that is, while the operating system is running)
* Has different operating modes, allowing faster configuration or greater control
over the configuration options
* Suggests the optimum configuration for an unconfigured system
* Provides on-screen tips for individual steps of a configuration procedure
* Allows online array capacity expansion, logical drive capacity extension,
assignment of online spares, and RAID or stripe size migration
The ACU CLI is an interactive command console with immediate user feedback. It is functionally equivalent to the ACU GUI. This users guide is intended to supplement the CLI's internal help (see the "CLI Internal Help" section for usage).
Note: It is assumed that the user has a working knowledge of ACU terminology. For more information, see the ACU Users Guide.
Running the ACU CLI
-------------------
The CLI can be run in one of two modes: command or console.
Command Mode
Command mode is running the CLI from the operating system command line.
Windows Example
C:\hpacucli\bldd>hpacucli help
Linux Example
[root@localhost root]# ./hpacucli help
Console Mode
Console mode is running the CLI from its own interactive command prompt. The benefits of using console mode is that the overhead of restarting the CLI once for every command is eliminated. Also, console mode provides the user with the set target command (see "Set Target Command" section) which is not possible with command mode. To enter the CLI console mode, simply start the CLI without passing any parameters.
Windows example
C:\hpacucli\bldd>hpacucli
HP Array Configuration Utility CLI 7.15.17.0
Detecting Controllers...Done.
Type "help" for a list of supported commands.
Type "exit" to close the console.
=>
Linux example
[root@localhost root]# ./hpacucli
HP Array Configuration Utility CLI 7.15.17.0
Detecting Controllers...Done.
Type "help" for a list of supported commands.
Type "exit" to close the console.
=>
Note: All commands in this users guide will be written as if typed into the CLI during console mode operation.
Shorthand Symbols
-----------------
Shorthand symbols can be used wherever regular target and command keywords
are used in order to save keystrokes.
aa = arrayaccelerator
ai = adapterid
ch = chassisname (also known as boxname or raidarrayid)
cn = connectionname
cr = cacheratio
ctrl = controller
dt = drivetype
ep = expandpriority
ld = logicaldrive
pd = physicaldrive
ps = parallelscsi
rp = rebuildpriority
ssd = surfacescandelay
sn = serialnumber
ss = stripesize
td = tapedrive
CLI Internal Help
-----------------
The CLI has it's own internal help system that provides syntax and usage examples.
Command Syntax
help
Example Command
=> help
CLI Command Syntax
------------------
The CLI syntax which may be confusing at first. However, this syntax offers much flexibility and power once it becomes familiar. This basic syntax is:
<target> <command> [keyword=value]
The angle brackets ('<' and '>') represent a required variable. Regular brackets ('[' and ']') symbolize an optional variable.
<target>
The <target> represents a path to a device. Some examples might be:
ctrl all specifies all controllers
ctrl slot=3 specifies a single controller
ctrl slot=3 array A
ctrl chassisname="A" array A ld 1
ctrl chassisname="A" pd 1:0
The <target> is the entire line up to <command>. <target> should not be confused with the set target command (see "Set Target Command" section). Multiple devices can be specified by using the all keyword. If multiple devices are specified, the command will be run on each device.
Note: A controller can be specified using: wwn, serialnumber, slot, and chassisname
<command>
<command> represents any one of the CLI's commands. These include:
set target
help
create
delete
modify
remove
show
rescan
<param=value>
<command> may or may not require certain parameters. Also, some parameters, such as the forced parameter, do not require values. An example of a <param=value> is:
drives=1:0,1:1,1:2
Query Mechanism
---------------
The question mark symbol can be used to query the capabilities of certain devices. To use this functionality, simply specifiy a question mark '?' instead of a value for a given parameter. See the CLI help for details on which parameters accept the question mark value.
Example Command
=> ctrl chassisname="Lab 4" ld 1 modify size=?
Example CLI Response
=> ctrl chassisname="Lab 4" ld 1 modify raid=0 stripesize=?
Available stripesize options:
8
16
32
64
128 (default)
256
Preventing Warning Prompts
--------------------------
Whenever there is a potential for a command to destroy user data, a warning prompt will be presented to the user. The user then must enter either 'y' or 'n' and hit the enter key before the operation will be executed. When using scripting it is important that these warning prompts be repressed by using the forced keyword. This keyword can also be used within the CLI prompt in order to avoid the warnings.
Example Command
=> ctrl chassisname="Lab 4" ld 1 delete forced
Create Logical Drive
--------------------
Creating a logical drive in the CLI is identical to ACU except that the array is created implicitly. In order to create a logical drive on a new array, drives must be specified and the target must be a controller. In order to create a logical drive on an existing array, do not specify any drives and make the target the array.
Command Syntax
<target> create type=logicaldrive [param=value]
Notes: <target> can be a controller or array
Basic Parameters
[drives=#:#|all|allunassigned]
[raid=ADG|5|4|1+0|1|0|?]
[stripesize=8|16|32|64|128|256|default|?] Units in KB
[size=#|max|?] Units in MB
[sectors=32|63|default]
[arrayaccelerator=enable|disable]
Note: Not specifying an optional command will result in the optimal default value.
Examples: size uses max, drives uses all drives, and raid uses highest available
Note: The CLI does not support units other than what is expected. Do not type in any additional text specifying the units (e.g. type size=300 not size=300MB).
Example Command
Create a logical drive on a new array made with specified drives:
=> ctrl slot=5 create type=ld drives=1:0,1:1,1:3 raid=adg
Create a logical drive on an existing array (do not specify drives):
=> ctrl slot=5 array A create type=ld size=330 raid=adg
Example CLI Response
Goal: Create two arrays with one logical drive on the first array and two logical drives on the second. The first thing to do is find the physical drives:
=> ctrl ch="Lab 4" pd all show
MSA1000 at Lab 4
unassigned
physicaldrive 1:12 (box 1:bay 12, Parallel SCSI, 36.4 GB, OK)
physicaldrive 1:13 (box 1:bay 13, Parallel SCSI, 9.1 GB, OK)
physicaldrive 1:14 (box 1:bay 14, Parallel SCSI, 9.1 GB, OK)
Next create an array with a logical drive on it:
=> ctrl ch="Lab 4" create type=ld drives=1:12
=> ctrl ch="Lab 4" pd all show
MSA1000 at Lab 4
array A
physicaldrive 1:12 (box 1:bay 12, Parallel SCSI, 36.4 GB, OK)
unassigned
physicaldrive 1:13 (box 1:bay 13, Parallel SCSI, 9.1 GB, OK)
physicaldrive 1:14 (box 1:bay 14, Parallel SCSI, 9.1 GB, OK)
Now create the second array with a logical drive on it. First, try checking out the available raid options:
=> ctrl ch="Lab 4" create type=ld drives=1:13,1:14 size=300 raid=?
Available raid levels:
RAID 0
RAID 1+0
Create the array with a RAID 1+0 logical drive:
=> ctrl ch="Lab 4" create type=ld drives=1:13,1:14 size=300 raid=1+0
=> ctrl ch="Lab 4" pd all show
MSA1000 at Lab 4
array A
physicaldrive 1:12 (box 1:bay 12, Parallel SCSI, 36.4 GB, OK)
array B
physicaldrive 1:13 (box 1:bay 13, Parallel SCSI, 9.1 GB, OK)
physicaldrive 1:14 (box 1:bay 14, Parallel SCSI, 9.1 GB, OK)
Now create the second logical drive on the second array:
=> ctrl ch="Lab 4" array B create type=ld size=900
=> ctrl ch="Lab 4" ld all show
MSA1000 at Lab 4
array A
logicaldrive 1 (33.9 GB, RAID 0, OK)
array B
logicaldrive 2 (298 MB, RAID 1+0, OK)
logicaldrive 3 (896 MB, RAID 1+0, OK)
Controller Chassis Name
-----------------------
View and modify the controller chassis name. The chassis name is user-specified name used to identify the controller. You cannot modify a chassis name on an unconfigured controller. There must be at least one logical drive first.
Command Syntax
<target> modify chassisname="ABC"
Notes: <target> must be a controller
Example Command
=> ctrl sn=P56350D9IP903J modify chassisname="Lab 6"
Example CLI Response
=> ctrl all show
MSA1000 at Lab 4 (sn: P56350D9IP903J, wwn: 500805F3000BAC11)
Smart Array 5312 in Slot 3 (sn: P4AB5X9BFMLNTJ)
Smart Array 532 in Slot 2 (sn: P44940LDAORS4F)
=> ctrl ch="Lab 4" modify ch="Lab 6"
=> ctrl all show
MSA1000 at Lab 6 (sn: P56350D9IP903J, wwn: 500805F3000BAC11)
Smart Array 5312 in Slot 3 (sn: P4AB5X9BFMLNTJ)
Smart Array 532 in Slot 2 (sn: P44940LDAORS4F)
Selective Storage Presentation (SSP)
------------------------------------
Also known as Access Control List Commands, SSP lets you determine which host controllers can access which particular logical drives.
SSP is used in two steps. First, SSP must be enabled. If the controller being used supports controller centric SSP, the controller needs to be specified for the target. If the controller supports logical drive centric SSP, a logical drive must be specified for the target.
Note: The only controller currently supporting logical drive centric SSP is the RA4x000
Turning SSP on causes all Adapter ID's for all logical drives to become masked, preventing access to the logical drives.
Note: Turning on SSP and masking Adapter ID's creates warning prompts, so be sure to use the forced parameter when using script files in these scenarios.
Once SSP is enabled, it is possible to mask/unmask Adapter ID's. The target in this case is always the logical drive. It is also possible to specify multiple logical drives using the all keyword. Masking means to prevent access to the logical drive through the specified Adapter ID(s) and unmask means to allow access.
SSP information can be viewed by using the show command along with the ssp parameter.
Viewing SSP Information
-----------------------
Command Syntax
<target> show ssp
Notes: <target> is a controller that supports SSP.
Example Command
=> ctrl chassisname="Lab 4" show ssp
Example CLI Response
=> ctrl chassisname="Lab 4" show ssp
MSA1000 at Lab 4 (controller centric ssp)
Adapter ID: 210000E08B07A68F
connectionname: Unknown
Location: Local
Status: Online
Host Mode: Default
Adapter ID: 5034414235583942
connectionname: Unknown
Location: Unknown
Status: Offline
Host Mode: Default
Modifying Connection Names
--------------------------
Command Syntax
<target> modify adapterid=# connectionname="ABC"
Notes: <target> is a controller that supports SSP.
Example Command
=> ctrl ch="Lab 4" ld 1 modify adapterid=210000E08B07A68F connectionname = "abc"
Example CLI Response
=> show ssp
MSA1000 at Lab 4 (controller centric ssp)
Adapter ID: 210000E08B07A68F
connectionname: Unknown
Location: Local
Status: Online
Host Mode: Default
logicaldrive 1 is unmasked
Adapter ID: 5034414235583942
connectionname: Unknown
Location: Unknown
Status: Offline
Host Mode: Default
logicaldrive 1 is masked
=> ctrl chassisname="Lab 4" modify adapterid=5034414235583942 connectionname="hp invent"
=> show ssp
MSA1000 at Lab 4 (controller centric ssp)
Adapter ID: 210000E08B07A68F
connectionname: Unknown
Location: Local
Status: Online
Host Mode: Default
logicaldrive 1 is unmasked
logicaldrive 2 is masked
Adapter ID: 5034414235583942
connectionname: hp invent
Location: Unknown
Status: Offline
Host Mode: Default
logicaldrive 1 is masked
Modifying SSP Access
--------------------
Command Syntax
<target> modify ssp=on|off [forced]
<target> modify mask|unmask=#,#,...|all|none [forced]
Notes: To turn ssp on <target> is a controller if controller centric SSP is supported, else a logical drive. Use the show ssp to see what's supported on a given controller. To mask and unmask logical drives for a given adapter id, <target> must be logical drive.
Example Command
=> ctrl chassisname="Lab 4" modify ssp=on forced
=> ctrl chassisname="Lab 4" ld 1 modify mask=all
=> ctrl chassisname="Lab 4" ld 1 modify unmask=210000E08B07A68F
=> ctrl chassisname="Lab 4" ld all modify mask="abc"
Notes: You can mask and unmask using either adapter ids or connection names.
Example CLI Response
=> ctrl chassisname="Lab 4" show ssp
MSA1000 at Lab 4 (controller centric ssp)
Adapter ID: 210000E08B07A68F
connectionname: Unknown
Location: Local
Status: Online
Host Mode: Default
Adapter ID: 5034414235583942
connectionname: Unknown
Location: Unknown
Status: Offline
Host Mode: Default
=> ctrl chassisname="Lab 4" modify ssp=on forced
=> ctrl chassisname="Lab 4" ld all show
MSA1000 at Lab 4
array A
logicaldrive 1 (33.9 GB, RAID 0, OK)
array B
logicaldrive 2 (298 MB, RAID 1+0, OK)
logicaldrive 3 (896 MB, RAID 1+0, OK)
=> ctrl chassisname="Lab 4" ld 1 modify unmask=210000E08B07A68F
=> ctrl chassisname="Lab 4" show ssp
MSA1000 at Lab 4 (controller centric ssp)
Adapter ID: 210000E08B07A68F
connectionname: Unknown
Location: Local
Status: Online
Host Mode: Default
logicaldrive 1 is unmasked
Adapter ID: 5034414235583942
connectionname: Unknown
Location: Unknown
Status: Offline
Host Mode: Default
logicaldrive 1 is masked
Managing Host Mode (also known as Connection Profile)
------------------
Command Syntax
<target> modify adapterid=# hostmode="ABC"|?
Notes: <target> is a controller that supports host modes.
Example Command
=> ctrl chassisname="Lab 4" ld all modify mask="abc"
Example CLI Response
=> modify ai=5034414235583942 hostmode=?
hostmode options:
Default
Windows
OpenVMS
Tru64
Linux
Solaris
Netware
HP
=> modify ai=5034414235583942 hostmode=Windows
=> show ssp
MSA1000 at Lab 6 (controller centric ssp)
Adapter ID: 210000E08B07A68F
connectionname: Unknown
Location: Local
Status: Online
Host Mode: Default
logicaldrive 1 is unmasked
logicaldrive 2 is masked
Adapter ID: 5034414235583942
connectionname: hp invent
Location: Unknown
Status: Offline
Host Mode: Windows
logicaldrive 1 is masked
logicaldrive 2 is unmasked
Deleting Devices
----------------
Using the CLI, it is possible to delete one or more devices with a single command (however, you cannot delete multiple controllers). Since deleting a device may result in data loss, a warning prompt will be presented to the user. Be sure to use the forced keyword when using scripting to prevent this prompt.
Command Syntax
<target> delete [forced]
Notes: <target> can be any valid device.
Example Command
=> ctrl chassisname="Lab 4" delete forced
=> ctrl slot=3 ld all delete
=> ctrl slot=3 array A ld 1 delete
Example CLI Response
=> ctrl slot=3 ld 1 delete
Deleting the specified device(s) will result in data being lost. Continue? (y/n)
Identifying Devices
It is possible to blink the LEDs on one or more devices. The LED's will remain on until the user turns them off.
Command Syntax
<target> modify led=on|off
Notes: <target> can be any valid device.
Example Command
=> ctrl chassisname="Lab 4" modify led=on
=> ctrl ch="Lab 4" array A modify led=off
Expand Array
------------
Expanding an array allows you to add one or more physical drives to the specified array to increase the space in the array. A warning prompt will occur if an even number of drives is added to an array containing one or more RAID 1+0 logical drives. In this case, the CLI will prompt asking if it is acceptable to convert the RAID 1+0 fault tolerance to RAID 5. If the controller supports RAID ADG, that will be used instead of RAID 5. If forced is specified, this migration occurs automatically.
Command Syntax
<target> add drives=#:#,#:#,...|allunassigned
Notes: <target> can be a logical drive or array
Example Command
=> ctrl slot=3 array A add drives=1:0,1:1
=> ctrl slot=3 ld 1 add drives=allunassigned
Extend Logical Drive
--------------------
Extending logical drive allows you to extend the size of a given logical drive using the available free space on the array on which it resides. Some operating systems are not supported and thus a warning prompt is presented.
Command Syntax
<target> modify size=#|max|? [forced]
Notes: <target> must be a logical drive
Example Command
=> ctrl slot=3 ld 1 modify size=max
=> ctrl slot=3 ld 1 modify size=500 forced
=> ctrl slot=3 ld 1 modify size=?
Example CLI Response
=> ctrl slot=3 ld 1 modify size=?
Valid size range:
Max: 12270MB
Min: 298MB
=> ctrl slot=3 ld 1 modify size=500
Warning: Extension may not be supported on certain operating systems. Performing extension on these operating systems can cause data to become inaccessible. See ACU documentation for details. Continue? (y/n) y
=> ctrl slot=3 ld 1 show
Smart Array 5312 in Slot 3
logicaldrive 1
Size: 498 MB
Fault Tolerance: RAID 5
Heads: 255
Sectors per Track: 32
Cylinders: 125
Stripe Size: 16
Status: Ok
Array Accelerator: Enabled
Parity Initialization Status: In Progress
Disk Name: Unknown
Mount Points: Unknown
Spare Management
----------------
An array can have several spares, and any spare can be shared by several arrays. Assigning several spares to an array lets you postpone replacement of faulty drives, but it does not increase the fault-tolerance level of any logical drives in the array. For example, a logical drive in a RAID 5 configuration suffers irretrievable data loss if two physical drives fail simultaneously, regardless of the number of spare drives assigned to it.
Command Syntax
<target> add spares=#:#,#:#,...|allunassigned
<target> remove spares=#:#,#:#,...|all
Notes: <target> can be a logical drive or array
Example Command
=> ctrl slot=3 array B add spares=1:4
=> ctrl slot=3 array all add spares=1:5
=> ctrl slot=3 ld 3 remove spares=1:5
Example CLI Response
=> ctrl slot=3 pd all show
Smart Array 5312 in Slot 3
array A
physicaldrive 1:0 (port 1:id 0 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:1 (port 1:id 1 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:2 (port 1:id 2 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:3 (port 1:id 3 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:4 (port 1:id 4 , Parallel SCSI, 4.3 GB, OK)
array B
physicaldrive 1:5 (port 1:id 5 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:8 (port 1:id 8 , Parallel SCSI, 4.3 GB, OK)
unassigned
physicaldrive 1:9 (port 1:id 9 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:10 (port 1:id 10, Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:11 (port 1:id 11, Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:12 (port 1:id 12, Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:13 (port 1:id 13, Parallel SCSI, 4.3 GB, OK)
=> ctrl slot=3 array all add spares=1:9,1:11
=> ctrl slot=3 array B remove spares=1:11
=> ctrl slot=3 pd all show
Smart Array 5312 in Slot 3
array A
physicaldrive 1:0 (port 1:id 0 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:1 (port 1:id 1 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:2 (port 1:id 2 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:3 (port 1:id 3 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:4 (port 1:id 4 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:9 (port 1:id 9 , Parallel SCSI, 4.3 GB, OK, spare)
physicaldrive 1:11 (port 1:id 11, Parallel SCSI, 4.3 GB, OK, spare)
array B
physicaldrive 1:5 (port 1:id 5 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:8 (port 1:id 8 , Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:9 (port 1:id 9 , Parallel SCSI, 4.3 GB, OK, spare)
unassigned
physicaldrive 1:10 (port 1:id 10, Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:12 (port 1:id 12, Parallel SCSI, 4.3 GB, OK)
physicaldrive 1:13 (port 1:id 13, Parallel SCSI, 4.3 GB, OK)
Migrate Logical Drive
---------------------
This option lets you alter the stripe size (data block size) or RAID level, or both, for a selected logical drive. There might need to be unused drive space available on the
array for the migration to be possible, depending on the initial and final settings for
the stripe size and RAID level.
Command Syntax
<target> modify [raid=0|1+0|1|4|5|ADG|?] [stripesize=8|16|32| 64|128|256|default|?]
Note: Only one query can ever be specified for single command. If no RAID level is specified and the stripe size is queried, the CLI uses the current RAID as the default.
Notes: <target> must be a logical drive. If only the stripe size is specified, the raid will remain the same. If only the raid is chosen, the default stripe size will be selected.
Example Command
=> ctrl slot=3 ld 1 modify raid=1
=> ctrl slot=3 ld 1 modify ss=16
=> ctrl slot=3 ld 1 modify raid=5 ss=16
Example CLI Response
=> ctrl slot=3 ld 1 show
Smart Array 5312 in Slot 3
logicaldrive 1
Size: 498 MB
Fault Tolerance: RAID 5
Heads: 255
Sectors per Track: 32
Cylinders: 125
Stripe Size: 16 KB
Status: Ok
Array Accelerator: Enabled
Disk Name: Unknown
Mount Points: Unknown
=> ctrl slot=3 ld 1 modify raid=?
Available raid levels:
RAID 0
RAID 5
=> ctrl slot=3 ld 1 modify raid=0 ss=?
Available stripesize options:
8
16
32
64
128 (default)
256
=> ctrl slot=3 ld 1 modify raid=0 ss=256
=> ctrl slot=3 ld 1 show
Smart Array 5312 in Slot 3
logicaldrive 1
Size: 498 MB
Fault Tolerance: RAID 0
Heads: 255
Sectors per Track: 32
Cylinders: 125
Stripe Size: 256 KB
Status: Ok
Array Accelerator: Enabled
Disk Name: Unknown
Mount Points: Unknown
Rebuild Priority
----------------
Rebuild priority is the level of priority that rebuilding the data from the failed drive should have over handling current requests from the operating system. Rebuilding occurs after a failed drive has been replaced.
Command Syntax
<target> modify rebuildpriority=high|medium|low
Notes: <target> must be a controller
Example Command
=> ctrl slot=3 modify rebuildpriority=high
Example CLI Response
=> ctrl slot=3 modify rebuildpriority=high
=> ctrl slot=3 show
Controller Smart Array 5312 in Slot 3
Bus Interface: pci
slot: 3
serialnumber: P4AB5X9BFMLNTJ
RAID ADG status: False
Controller Status: OK
Hardware Revision: Rev B
Firmware Version: 2.36
Rebuild Priority: Medium
...
Expand Priority
---------------
Expand priority is the level of priority that expanding array capacity should have over handling current operating system requests. Expanding happens after choosing to expand an array.
Command Syntax
<target> modify expandpriority=high|medium|low
Notes: <target> must be a controller
Example Command
=> ctrl slot=3 modify expandpriority=high
Example CLI Response
=> ctrl slot=3 modify expandpriority=high
=> ctrl slot=3 show
Controller Smart Array 5312 in Slot 3
Bus Interface: pci
slot: 3
serialnumber: P4AB5X9BFMLNTJ
RAID ADG status: False
Controller Status: OK
Hardware Revision: Rev B
Firmware Version: 2.36
Rebuild Priority: Medium
Expand Priority: Medium
...
Controller Cache Ratios
-----------------------
This ratio determines the amount of memory allocated to read and write operations. Different types of applications have different optimum ratios. You can change the ratio only if the controller has a battery-backed cache (only battery-backed cache can
be used for write cache) and if there are logical drives configured on the controller.
Command Syntax
<target> modify cacheratio=#/#|?
Notes: <target> must be a controller. Ratio is read/write
Example Command
=> ctrl slot=3 modify cacheratio=25/75
Example CLI Response
=> ctrl slot=3 modify cacheratio=?
Available cacheratio values:
0/100
25/75
50/50
75/25
100/0
=> ctrl slot=3 modify cacheratio=25/75
=> ctrl slot=3 show
Controller Smart Array 5312 in Slot 3
Bus Interface: pci
slot: 3
serialnumber: P4AB5X9BFMLNTJ
RAID ADG status: False
Controller Status: OK
Hardware Revision: Rev B
Firmware Version: 2.36
Rebuild Priority: Medium
Expand Priority: Medium
Surface Scan Delay: 15 sec
Cache Board Present: True
Cache Status: OK
Accelerator Ratio: 25/75 (read/write)
...
Surface Scan Delay
------------------
The surface scan delay is the time interval before surface scan analysis activates. This time does not begin counting until there are no commands being sent to the controller. Surface scan analysis is a background process that scans hard drives for bad sectors in fault tolerant logical drives. In RAID 5 or RAID ADG configurations, surface scan also verifies the consistency of parity data. This process assures that you can recover all data successfully if a drive failure occurs in the future. The possible value is 1-30 seconds.
Command Syntax
<target> modify surfacescandelay=#
Notes: <target> must be a controller
Example Command
=> ctrl sn=P56350D9IP903J modify surfacescandelay=3
Example CLI Response
=> ctrl slot=3 modify surfacescandelay=25
=> ctrl slot=3 show
Controller Smart Array 5312 in Slot 3
Bus Interface: pci
slot: 3
serialnumber: P4AB5X9BFMLNTJ
RAID ADG status: False
Controller Status: OK
Hardware Revision: Rev B
Firmware Version: 2.36
Rebuild Priority: Medium
Expand Priority: Medium
Surface Scan Delay: 25 sec
...
Re-enable Logical Drive
-----------------------
It is possible to re-enable a logical drive using the CLI. Re-enabling a failed logical drive will allow the logical drive to be used again. Any previously existing data on the logical drive may not be valid or recoverable. The forced keyword represses the warning prompt.
Command Syntax
<target> modify reenable [forced]
Notes: <target> must be a logical drive
Example Command
=> ctrl slot=3 ld 1 modify reenable forced
Example CLI Response
=> ctrl slot=3 ld all show
Smart Array 5312 in Slot 3
array A
logicaldrive 1 (498 MB, RAID 0, Failed)
array B
logicaldrive 2 (442 MB, RAID 1+0, OK)
=> ctrl slot=3 ld 1 modify reenable
Warning: Any previously existing data on the logical drive may not be valid or recoverable. Continue? (y/n) y
=> ctrl slot=3 ld all show
Smart Array 5312 in Slot 3
array A
logicaldrive 1 (498 MB, RAID 0, OK)
array B
logicaldrive 2 (442 MB, RAID 1+0, OK)
Array Accelerator
-----------------
Array accelerator is an internal part of the controller that dramatically improves performance of disk read and write operations by providing a buffer. A battery backup and ECC memory protects the data.
Command Syntax
<target> modify arrayaccelerator=enable|disable
Notes: <target> must be a logical drive
Example Command
=> ctrl slot=3 ld 1 modify aa=enable
Example CLI Response
=> ctrl slot=3 ld 1 show
Smart Array 5312 in Slot 3
logicaldrive 1
Size: 498 MB
Fault Tolerance: RAID 0
Heads: 255
Sectors per Track: 32
Cylinders: 125
Stripe Size: 256 KB
Status: Ok
Array Accelerator: Enabled
Disk Name: Unknown
Mount Points: Unknown
=> ctrl slot=3 ld 1 modify aa=disable
=> ctrl slot=3 ld 1 show
Smart Array 5312 in Slot 3
logicaldrive 1
Size: 498 MB
Fault Tolerance: RAID 0
Heads: 255
Sectors per Track: 32
Cylinders: 125
Stripe Size: 256 KB
Status: Ok
Array Accelerator: Disabled
Disk Name: Unknown
Mount Points: Unknown
Rescan
------
Rescan detects newly added controllers.
Command Syntax
rescan
Example Command
=> rescan
Set Target Command
------------------
It can be tedious to type out long <target>'s over and over again. What if we could say, "I'm only going to be working on ctrl slot=3 array A and I only want to vary the logical drive." With the set target command this is possible.
The set target command is used to set an implicit <target> and is intended to save keystrokes. After the implicit <target> is set, the user no longer needs to type in the <target> explicitly. If a <target> is typed in explicitly, it will override the implicit target but the implicit target will not change. Think of the implicit <target> as a copy and paste technique; you can copy either a portion of or even the entire <target> and, from that point forward, use it implicitly (see examples for clarification).
If the user specifies a <target> that does not currently exist, a warning will be printed to the screen. If the implicit <target> becomes invalidated at some point during the CLI session, it is the user뭩 responsibility to reset it to a valid <target> before using it again. The set target command cannot not be used unless the user is in the CLI prompt mode and is there for not valid for scripting.
Note: set target is not valid for scripting
Command Syntax
set target <target> Sets the implicit <target>
clear target Shows the current value of <target>
show target Clears the implicit <target>
Example Command
=> set target ctrl slot=3
=> show target
=> clear target
Example CLI Response
=> set target ctrl chassisname="Lab 4"
controller chassisname="Lab 4"
The implicit <target> is now controller chassisname="Lab 4". We can either use this target as is or explicitly amend a more specific device to it, such as an array:
=> array A show
MSA1000 at Lab 4
array A
Interface Type: Parallel SCSI
Unused Space: 7949 MB
Status: OK
=> clear target
Target cleared.
=> show target
Target not set.
Internally, the implicit <target> is prefixed to whatever is typed in as the <target>. So "array A" becomes "controller chassisname="Lab 4" array A" before the show command is executed. If we did not specify the array (and hence no explicit <target>), the show command would print out the information for the controller since that what the implicit <target> is set to..