Command Line Interface
for Linux
For use on 7000 and 8000 Series
Escalade™ ATA RAID Controllers
PN 720-0087-00, Revision A August 30, 2002
Copyright
©2002 3ware, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form by any means, electronic, mechanical, photocopying, recording or otherwise, without the proper written consent of 3ware, Inc., 701 East Middlefield Road, Suite 300, Mountain View CA 94043.
Trademarks
3ware, the 3ware logo, Escalade, StorSwitch, TwinStor, R5 Fusion and 3DM are all registered trademarks of 3ware, Inc. All other trademarks herein are property of their respective owners.
Disclaimer
3ware, Inc. assumes no responsibility for errors or omissions in this docu-ment, nor does 3ware, Inc. make any commitment to update the informa-tion contained herein.
Introduction . . . 1
Features . . . 2
Installation . . . 3
Command Line Interface . . . 4
Ways to Run the CLI . . . 4
1) Interactive with command interface . . . 4
2) Single command with output . . . 4
3) Multiple commands through an input file . . . 5
Controller Information . . . 5
The info command . . . 5
Examples using Interactive Mode . . . 7
Settings . . . 12
The set command . . . 12
Examples using Interactive Mode . . . 13
Array Maintenance . . . 14
The maint command . . . 14
Examples using Interactive Mode . . . 15
Help . . . 18
The help command . . . 18
Examples using Interactive Mode . . . 18
3ware Technical Support and Services . . . 22
Sales and ordering information . . . 22
Introduction
Introduction
The Command Line Interface (CLI) for Linux is provided to
manage 7000 and 8000 series 3ware Escalade
™
ATA RAID
con-trollers. Multiple systems containing Escalade controllers may be
managed using the CLI via a command line or script. CLI is
use-ful in environments were a graphical user interface (GUI) is not
available.
Features
The 3ware CLI provides the basic functionality of the 3ware Disk
Management (3DM
®
) utility through a Command Line Interface.
You can view array status and version information, and perform
maintenance functions like adding or removing drives.
Note:
Refer to the Escalade ATA RAID Controller
User’s Guide for complete information on 3DM.
The CLI command set is listed below and described in detail in the
Command Line Interface chapter of this guide:
•
info - to view basic controller information
•
set - to display and modify current settings
•
maint - to perform maintenance operations
•
help - to display a list of commands and options
Installation
Installation
You will need to be root or have root privileges to install the CLI
to /usr/sbin and to run the CLI.
Filename: tw_cli.tar
To install the CLI, type the following as root:
tar xf tw_cli.tar -C /usr/sbinTo install the CLI to a different location, change /usr/sbin/ to the
desired location.
Note:
The installation location needs to be in the
envi-ronment path for root to execute the CLI without using
complete paths (i.e., if installed to /
usr/sbin/, you can
type tw_cli on the command line, otherwise you will have
to type the complete path:
/home/user/tw_cli).
Command Line Interface
Note:
In this chapter, text surrounded by [] brackets
indicates optional parameters.
Ways to Run the CLI
1) Interactive with command interface
tw_cli
Description:
Execute tw_cli to get into a console where you can interactively enter commands to get, set or maintain your Escalade.
Example:
tw_cli
Escalade CLI>
The main prompt is displayed when the program is awaiting a
com-mand.
Escalade CLI>
2) Single command with output
tw_cli <command line arguments>
CLI run commandDescription:
This command doesn’t invoke the main CLI prompt if used with com-mand line arguments.
Syntax:
3ware Escalade ATA RAID Controller CLI User Guide
Example:
tw_cli info c0 u0
3) Multiple commands through an input file
tw_cli -f <filename>
CLI run commandDescription:
This method executes a specific filename, where the filename is the name of a text file containing a list of CLI commands which the user types in advance. Each command should be on a separate line.
Syntax:
tw_cli -f <filename>
Example:
tw_cli -f clicommand.txt
Note:
All examples given in the following sections will
reflect the interactive mode method.
Controller Information
Note:
Commands will be displayed in italics for easy
indentification.
The info command
The info command provides basic information on the controller,
unit and port. This command is for querying purposes only. To
make modifications use the set or maint command.
Specific options for the info command:
•
Controller information options
- model - provides the controller model number
- firmware - provides the controller firmware version
- bios - provides the controller bios version
- monitor - provides the controller monitor version
- numunits - provides the number of units on the controller
- numports - provides the number of ports on the controller
- numdrives - provides the number of drives on the controller
- allunitstatus - provides simple numeric status for all units
- unitstatus - provides the status for a specific unit
- drivestatus - provides the status of drives on the controller
•
Unit information options
- status - provides the status of a specific unit
- rebuildstatus - provides percent complete of rebuild
- verifystatus - provides percent complete of verify
•
Port (drive) information options
- status - provides the status of drives on the controller
- model - provides drive manufacturer model number
- serial - provides drive serial number
- capacity - provides drive capacity
- smart - provides SMART data in hex format for drive
troubleshoot-ing
Syntax:
3ware Escalade ATA RAID Controller CLI User Guide
Note:
•
Ιf c is not specified, information for all controllers is dis-played, including a brief description of each.
•
Ιf only c is specified, information about the cth controller is provided in detail.•
Ιf c is specified and u is also specified, information about the uth unit on the cth controller is provided in detail.•
Ιf c is specified and u is also specified with status, text and hex code of the status is displayed in the form OK (0xFF). Also, an error code is returned, bit masking bad drives if any of the drives used by the array are bad. For example, if port 2 is bad, the return code would be 4 (in hex).•
Ιf c is specified and u is also specified with rebuildstatus, then the status of the array is displayed (e.g., 0=array is not rebuilding, 1-99 = the percentage of the rebuild)•
Ιf c is specified and p is also specified, information about the pth port on the cth controller is displayed.Examples using Interactive Mode
info
Example:
Escalade CLI> info
Sample of output:
List of controllers
---Controller 1: Escalade 7000-2 (2 ports) Controller 0: Escalade 7500-8 (8 ports)
info
for specific controller
Example:
Sample of output: Controller 0 ---Model: 7500-8 FW: FE7X 1.05.00.034 BIOS: BE7X 1.08.00.038 Monitor: ME7X 1.01.00.035 Serial #: D415TGZE PCB: Rev B Achip: 3.2 Pchip: 1.3 # of units: 3
Unit 0: RAID 5 60.3 GB (117262592 blocks): REBUILDING (2%)
Unit 3: JBOD 20.48 GB (40000464 blocks): OK
Unit 4: RAID 1 81.96 GB (160084480 blocks) : VERIFYING (16%)
# of ports: 8
Port 0: MAXTOR 98196H8 V80EDX1C 81.96 GB (160086528 blocks): OK(unit 0)
Port 1: Maxtor 98196H8 V80539XC 81.96 GB (160086528 blocks): OK(unit 0)
Port 2: Maxtor 98196H8 V80539RC 81.96 GB (160086528 blocks): OK(unit 0)
Port 3: Maxtor 92048D8 W802SE1A 20.48 GB (40000464 blocks): OK (unit 3)
Port 4: Maxtor 98196H8 V80HRGRC 81.96 GB (160086528 blocks): OK (unit 4)
Port 5: Maxtor 98196H8 V80HRGFC 81.96 GB (160086528 blocks): OK (unit 4)
Port 6: DRIVE NOT PRESENT Port 7: DRIVE NOT PRESENT
3ware Escalade ATA RAID Controller CLI User Guide
info
for specific unit on a controller
Example:
Escalade CLI> info c0 u0
Sample of output:
Controller 0, Unit 0 ---Status: REBUILDING (54%) Unit type: RAID 5
Size: 60.3 GB (117262592 blocks) # of subunits: 3 Subunit 0: CBOD: OK Physical Port: 0 Logical Port: 0 Subunit 1: CBOD: OK Physical Port: 1 Logical Port: 1 Subunit 2: CBOD: OK Physical Port: 2 Logical Port: 2
info
for specific port (drive)
Example:
Escalade CLI> info c0 p0
Sample of output: Controller 0, Port 0 ---Status: OK Model: MAXTOR 98196H8 Size: 81.96 GB (160086528 blocks) FW: ZAH814Y0 Serial #: V80EDX1C Unit: 0
info
for specific code versions on a specific controller
(firmware, bios, monitor, model)
Example:
Escalade CLI> info c0 firmware
Sample of output:
FE7X 1.12.34.24
info
for specific port (drive)
Example:
Escalade CLI> info c0 p0 serial
Sample of output:
D415TGZE
info
for SMART data on a specific drive
Example:
Escalade CLI> info c0 p0 smart
Sample of output: 10 00 01 0A 00 FD FC A8 00 00 00 00 00 00 03 27 00 C8 C8 52 53 00 00 00 00 00 04 32 00 FD FD 63 00 00 00 00 00 00 05 33 00 FD FD 00 00 00 00 00 00 00 06 01 00 FD FD 00 00 00 00 00 00 00 07 0A 00 FD FC 00 00 00 00 00 00 00 08 27 00 FC EF 49 BC 00 00 00 00 00 09 32 00 F6 F6 F4 69 00 00 00 00 00 0A 2B 00 FD FC 00 00 00 00 00 00 00 0B 2B
3ware Escalade ATA RAID Controller CLI User Guide
unitstatus
Description:
To get a general status of the units of a controller.
Example:
Escalade CLI> info c0 unitstatus
Sample of output:
# of units: 1
Unit 0: RAID 0 163.92 GB (320168960 blocks): OK
Example:
Escalade CLI> info c0 allunitstatus
Sample of output:
0
(0=good and 1=any unit bad)
drivestatus
Description:
To get a general status of the drives of a controller.
Example:
Escalade CLI> info c0 drivestatus
Sample of output:
# of ports: 4
Port 0: Maxtor 98196H8 V8096CCC 81.96 GB (160086528 blocks): OK (unit 0)
Port 1: DRIVE NOT PRESENT Port 2: DRIVE NOT PRESENT
Port 3: Maxtor 98196H8 V805W6SC 81.96 GB (160086528 blocks): OK (unit 0)
rebuildstatus
Example:
Escalade CLI> info c0 u2 rebuildstatus
Sample of output:
Controller not found
Example:
Escalade CLI> info c2
Sample of output:
Invalid controller id specified, no control-ler with id 2 exists.
Settings
The set command
The set command can be used to display and modify settings.
•
rebuild - sets the rebuild rate (per controller basis)
•
cache - enables or disables caching on a per array unit basis for
RAID 1, 5, and 10 arrays.
Warning!
A change in these settings will be reflected in 3DM and
vice versa.
Note:
A value of 1 indicates slowest I/O and fastest rebuild rate. A value of 5 indicates fastest I/O and slowest rebuild. Interim values scale linearly (e.g., a value of 3 indicates a rebuild rate half as fast as a rebuild of 1
).
Syntax:
set [
rebuild c<c> <1..5> | cache c<c> u<u> [on|off] ]
3ware Escalade ATA RAID Controller CLI User Guide
Examples using Interactive Mode
set
Description:
Using the set command without the rebuild or cache options displays the current configuration, as shown below:
Example:
Escalade CLI> set
Sample of output:
Controller 1
======================================= Rebuild Rate setting for Controller 1 ---1 (Fastest Rebuild)
Cache Settings for Controller 1 ---Unit 0: ON
Controller 0
======================================= Rebuild Rate setting for Controller 0 ---1 (Fastest Rebuild)
Cache Settings for Controller 0 ---Unit 0: ON
set cache
enable
Example:
Sample of output:
Turning the cache on for unit 0 on controller 0
set cache
disable
Example:
Escalade CLI> set cache c0 u0 off
Sample of output:
Turning the cache off for unit 0 on control-ler 0
set rebuild
Description:
To set the rebuild rate of controller 0 to 3 (the middle value).
Example:
Escalade CLI> set rebuild c0 3
Sample of output:
Setting the rebuild rate of controller to 3 (Balanced rebuild and I/O)
Array Maintenance
The maint command
The maint command enables a user to perform maintenance operations on the controller, its units, and drives. It is recommended that you use the info command first to query the controller information prior to using the maint command. The array maintenance feature supports:
•
add - adds a drive. The new drive can be specified as a hot spare
or as a new JBOD after it is physically connected to the
control-ler. If not specified, it is added as a CBOD; a configurable JBOD
which can be used to rebuild a degraded array.
3ware Escalade ATA RAID Controller CLI User Guide
•
remove - removes a drive from a port. After this is done, a drive
can safely be removed from the controller.
•
rebuild - rebuilds a degraded array. Specify a unit number on a
controller you want to rebuild, along with the port number of an
available disk drive. Specifying the ignoreECC option continues
the rebuild even if ECC errors are detected.
•
flush - flushes cache on the controller(s).
•
verify - verifies the redundancy of a RAID 1, RAID 10, or RAID
5 array.
Warning!
If you try to add a JBOD, you must add it to a port that was a JBOD prior to removal of the drive.
Syntax:
maint [
add c<c> p<p> [JBOD|SPARE] | remove c<c> p<p> |
rebuild c<c> u<u> [s<s>] p<p> [ignoreECC]| flush c<c> [u<u>]
verify c<c> u<u> ]
Examples using Interactive Mode
maint add
Description:
To add a disk drive that is at port 3 to controller 0.
Example:
Escalade CLI> maint add c0 p3
Sample of output:
Successfully added a CBOD replacement to port 3 on controller 0
maint add spare
Description:
To add a spare drive to port 3 on controller 0.
Example:
Escalade CLI> maint add c0 p3 spare
Sample of output:
Successfully added a SPARE to port 3 on con-troller 0
maint remove
Description:
To remove a disk drive from port 3 of controller 0.
Example:
Escalade CLI> maint remove c0 p3
Sample of output:
Successfully removed drive from port 3 on controller 0
maint rebuild
successful
Description:
To rebuild a degraded array, unit 2 (u2) on controller 0, with a disk drive that is attached to port 3.
Example:
Escalade CLI> maint rebuild c0 u2 p3
Sample of output:
Rebuild started on unit 2 on controller 0
maint rebuild
failed
Description:
To rebuild a degraded array unit 2 (u2) on controller 0, with a disk drive that is attched to port 3.
3ware Escalade ATA RAID Controller CLI User Guide
Example:
Escalade CLI> maint rebuild c0 u2 p3
Sample of output:
Replace command failed, cannot start rebuild (108)
maint rebuild
a degraded RAID 10 array
Description:
To rebuild a degraded array, unit 2 (u2) on controller 0, with a disk drive that is attached to port 3. This is a RAID 10 array, so the (s) parameter must also be specified to indicate the subunit.
Example:
Escalade CLI> maint rebuild c0 u2 s0 p3
Sample of output:
Rebuild started on unit 2 on controller 0
maint flush
Description:
To flush the cache on all units attached to controller 1.
Example:
Escalade CLI> maint flush c1
Sample of output:
Flushed cache on controller 1 unit 0 Flushed cache on controller 1 unit 6 Flushed cache on controller 1 unit 8
maint flush
on specific unit
Description:
To flush the cache only on unit 6 of controller 1.
Example:
Escalade CLI> maint flush c1 u6
Sample of output:
maint verify
Description:
To start a verify on unit 3 of controller 2.
Example:
Escalade CLI> maint verify c2 u3
Sample of output:
Verify successfully started on unit 3 on con-troller 2
Help
The help command
The help command displays a list of the CLI commands and options.
Examples using Interactive Mode
Example:
Escalade CLI> help
Sample of output:
Copyright © 2002 3ware, Inc. All rights reserved. This product includes software developed by 3ware, Inc.
3ware CLI (v. 1.00.00.011) List of Commands
---info - displays ---information about the controller set - displays or modifies controller settings maint - performs maintenance operations on a con-trollers
3ware Escalade ATA RAID Controller CLI User Guide
Type help <command> to get more details about a particular command
---Example:
Escalade CLI> help info
Sample of output:
info [c<c>[u<u>|p<p>]]
- If c is not specified, it will show all the controllers in the machine
- If c is specified and u nor p is not, it will show information about the cth controller - If c is specified and u is also specified, it
will show information about the uth unit on the cth controler
- If c is specified and p is also specified, it will show information about the pth port on the cth controller
- u and p cannot both be specified
Examples: info // displays all the controller found on your machine
info c0 // displays information about con-troller 0
info c0 u4 // displays information about unit 4 on controller 0
- Each example above can be followed by a spe-cific option
Controller (model, firmware, bios, monitor, numports, numunits, numdrives,
unitstatus, drivestatus)
Drive (status, model, serial, capacity, smart)
Example:
Escalade CLI> help set
Sample of output:
set [
rebuild c<c> <1..5> | cache c<c> u<u> [on|off] ]
Examples: set rebuild c0 // Displays the rebuild rate of controller 0
set rebuild c0 3 // sets the rebuild rate of controller 0 to 3 (medium pace)
set cache c0 // Displays the cache settings for all the cacheable units on controller 0 set cache c0 u8 off // Turns off the write cache on unit 8 of controller 0
Example:
Escalade CLI> help maint
Sample of output:
maint [
add c<c> p<p> [JBOD|SPARE] | remove c<c> p<p> |
rebuild c<c> u<u> [s<s>] p<p> [ignoreECC]| flush c<c> [u<u>]
verify c<c> u<u> ]
Examples:
maint add c0 p5 // Add a CBOD to port 5 on controller 0
3ware Escalade ATA RAID Controller CLI User Guide
maint add c0 p4 spare // Add a Spare drive to port 4 on controller 0
maint remove c2 p5 // Removes drive 5 on controller 2
maint rebuild c1 u4 p8 // Rebuild unit4 on controller 1 with a newly added CBOD on port 8
maint rebuild c1 u4 p8 ignoreECC // Rebuild unit4 on controller 1 with a newly added CBOD on port 8
continue rebuild even if ECC errors are detected.
maint rebuild c1 u4 s1 p7 // Rebuild subunit 1 of unit 4 on controller 1 with CBOD on port 7
maint flush c0 // Flush cache from all units on controller 0
maint flush c0 u8 // Flush cache from unit 8 on controller 0
maint verify c1 u2 // Verify data on unit 2 on controller 1
Example:
Escalade CLI> help quit
Sample of output:
quit