3ware 9690SA Series Guide

®
3ware RAID Controller
SAS/SATA
CLI Guide
Command Line Interface
Version 9.5—Supports the 9000 Series (9690SA, 9650SE, 9590SE, 9550SX, and 9500S)
Copyright
©2003-2007 Applied Micro Circuits Corporation (AMCC). All rights reserved. This publication may be copied or reproduced for reference purposes only. All other purposes require the express written consent of AMCC, 215 Moffett Park Drive, Sunnyvale, CA 94089. AMCC shall not be responsible or liable for, and shall be held harmless against, any and all damages, claims, and/or disputes that arise from the copying or reproduction of this publication.
Trademarks
3ware®, Escalade®, 3DM®, and TwinStor® are all registered trademarks of AMCC. The 3ware logo, 3BM, Multi-Lane, StorSave, StorSwitch, StreamFusion, and R5 Fusion are all trademarks of AMCC. Linux® is a registered trademark of Linus Torvalds in the United States, other countries, or both. Windows® is a registered trademark of Microsoft Corporation in the United States an d other countries. Firefox® is a registered trademark of the Mozilla Foundation. PCI Express® is a registered trademark of PCI-SIG®. All other trademarks herein are property of their respective owners.
Disclaimer
While every attempt is made to make this document as accurate as possible, AMCC assumes no responsibility for errors or omissions in this document, nor does AMCC make any commitment to update the information contained herein.
www.3ware.com ii

Table of Contents

About this CLI Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
Chapter 1. Introduction to the 3ware Command Line Interface. . . . . . . . . . . . . . . . . .2
Features of the CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Supported Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Installing the 3ware CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Installing the 3ware CLI on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Installing the 3ware CLI on Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Working with 3ware CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Using the command interface interactively . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Using a single command with output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Using an input file to execute a script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Outputting the CLI to a Text File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Understanding RAID Levels and Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
RAID Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Available RAID Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Determining What RAID Level to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Using Drive Capacity Efficiently . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Support for Over 2 Terabytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Chapter 2. CLI Syntax Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Common Tasks Mapped to CLI Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Syntax Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Shell Object Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
focus Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
rescan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
show alarms [reverse] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
show diag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
show rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
show selftest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
show ver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
show verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
update fw=filename_with_path [force] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Controller Object Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
/cx show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
/cx show attribute [attribute ...] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
/cx show achip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
/cx show allunitstatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
/cx show autocarve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
/cx show autorebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
/cx show bios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
/cx show carvesize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
/cx show ctlbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
www.3ware.com iii
/cx show driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
/cx show drivestatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
/cx show firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
/cx show memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
/cx show model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
/cx show monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
cx show numdrives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
/cx show numports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
/cx show numunits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
/cx show ondegrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
/cx show pcb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
/cx show pchip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
/cx show serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
/cx show spinup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
/cx show stagger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
/cx show unitstatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
/cx show all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
/cx show alarms [reverse] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
/cx show diag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
/cx show phy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
/cx show rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
/cx show selftest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
/cx show verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
/cx add type=<RaidT ype> disk=<p:-p> [stripe=Stripe] [noscan]
[group=<3|4|5|6|7|8|9|10|11|12/13|14|15|16>] [nocache] [autoverify]
[noqpolicy][ignoreECC] [name=string] [storsave=<protect|balance|perform>]
[v0=n] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
/cx rescan [noscan] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
/cx commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
/cx flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
/cx update fw=filename_with_path [force] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
/cx add rebuild=
/cx add verify=ddd:hh:duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
/cx add selftest=ddd:hh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
/cx del rebuild=slot_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
/cx del verify=slot_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
/cx del selftest=slot_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
/cx set rebuild=enable|disable|1..5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
/cx set verify=enable|disable|1..5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
/cx set selftest=enable|disable [task=UDMA|SMART] . . . . . . . . . . . . . . . . . . . . . . 56
/cx set ondegrade=cacheoff|follow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
/cx set spinup=nn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
/cx set stagger=nn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
/cx set autocarve=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
/cx set carvesize=[1024..2048] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
/cx set autorebuild=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
/cx set autodetect=on|off disk=<p:-p>|all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
/cx start mediascan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
/cx stop mediascan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Unit Object Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
/cx/ux show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
/cx/ux show attribute [attribute ...] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
/cx/ux show autoverify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
/cx/ux show cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
/cx/ux show identify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
ddd:hh:duration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
iv 3ware Serial ATA RAID Controller User Guide
/cx/ux show ignoreECC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
/cx/ux show initializestatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
/cx/ux show name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
/cx/ux show qpolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
/cx/ux show rebuildstatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
/cx/ux show serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
/cx/ux show status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
/cx/ux show storsave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
/cx/ux show verifystatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
/cx/ux show volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
/cx/ux show all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
/cx/ux remove [noscan] [quiet] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
/cx/ux del [noscan] [quiet] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
/cx/ux start rebuild disk=p<p:-p...> [ignoreECC] . . . . . . . . . . . . . . . . . . . . . . . . . . 68
/cx/ux start verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
/cx/ux pause rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
/cx/ux resume rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
/cx/ux stop verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
/cx/ux flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
/cx/ux set autoverify=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
/cx/ux set cache=on|off [quiet] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
/cx/ux set identify=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
/cx/ux set ignoreECC=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
/cx/ux set name=string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
/cx/ux set qpolicy=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
/cx/ux set storsave=protect|balance|perform [quiet] . . . . . . . . . . . . . . . . . . . . . . . 72
/cx/ux migrate type=RaidType [disk=p:-p]
[group=3|4|5|6|7|8|9|10|11|12|13|14|15|16] [stripe=Stripe] [noscan] [nocache]
[autoverify] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Port Object Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
/cx/px show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
/cx/px show attribute [attribute ...] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
/cx/px show capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
/cx/px show driveinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
/cx/px show firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
/cx/px show identify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
/cx/px show lspeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
/cx/px show model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
/cx/px show ncq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
/cx/px show serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
show smart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
/cx/px
/cx/px show status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
/cx/px show all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
/cx/px remove [noscan] [quiet] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
/cx/px set identify=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Phy Object Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
/cx/phyx set link=auto|1.5|3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
BBU Object Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
/cx/bbu show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
/cx/bbu show attribute [attribute ...] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
/cx/bbu show batinst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
/cx/bbu show bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
/cx/bbu show cap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
/cx/bbu show fw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
/cx/bbu show lasttest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
www.3ware.com v
/cx/bbu show pcb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
/cx/bbu show serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
/cx/bbu show status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
/cx/bbu show temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
/cx/bbu show volt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
/cx/bbu show all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
/cx/bbu test [quiet] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
/cx/bbu enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
/cx/bbu disable [quiet] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Enclosure Object Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
/cx/ex show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
/cx/ex show attribute [attribute ...] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
/cx/ex show controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
/cx/ex/ show diag=helptext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
/cx/ex show slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
/cx/ex show fans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
/cx/ex show temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
/cx/ex show all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
/cx/ex/slotx show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
/cx/ex/slotx show identify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
/cx/ex/slotx set identify=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
/cx/ex/fanx show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
/cx/ex/fanx show identify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
/cx/ex/fanx set identify=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
/cx/ex/pwrsx show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
/cx/ex/pwrsx show identify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
/cx/ex/pwrsx set identify=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
/cx/ex/tempx show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
/cx/ex/tempx show identify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
/cx/ex/tempx set identify=on|off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Help Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Help with specific commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Help with attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
help show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
help flush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
help rescan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
help update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
help commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
help focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
help /cx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
help /cx/phyx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
help /cx/ux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
help /cx/px . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
help /cx/bbu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
help /cx/ex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
help /cx/ex/slotx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
help /cx/ex/fanx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
help /cx/ex/tempx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
help /cx/ex/pwrsx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Command Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Return Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
vi 3ware Serial ATA RAID Controller User Guide
About this CLI Guide
3ware SAS/SATA RAID Controller CLI Guide provides instructions for configuring and maintaining your 3ware controller using 3ware’s command line interface (CLI).
This guide assumes that you have already installed your 3ware RAID controller in your system. If you have not yet done so, see the installation guide that came with your 3ware RAID controller for instructions.
AMCC makes a number of 3ware controller models, including 9000-series (9690SA, 9650SE, 9590SE, 9550SX, and 9500S), and earlier 7000/8000 series boards. The Command Syntax described in this document supports all of those boards, although not all commands are supported on every controller. When a command is not supported for all controllers, the specific model numbers that it applies to are indicated with the command.
Table 1: Sections in this CLI Guide
Chapter Description
1. Introduction to 3ware Command Line Interface
Installation, features, concepts
2. CLI Syntax Reference Describes individual commands using the primary syntax
There are often multiple ways to accomplish the same configuration and maintenance tasks for your 3ware controller. While this manual includes instructions for performing tasks using the command line interface, you can also use the following applications:
3ware BIOS Manager
®
3DM For details, see the user guide or the 3ware HTML Bookshelf.
2 (3ware Disk Manager)
www.3ware.com 1
1

Introduction to the 3ware Command Line Interface

The 3ware SATA RAID Controller Command Line Interface (CLI) manages multiple 7000, 8000, and 9000-series 3ware ATA and Serial ATA RAID controllers via a command line or script.
Note: Some CLI commands are supported only for particular models of 3ware
RAID controllers. Wherever possible, commands are labeled to indicate when they are supported for only a subset of controllers. For example, commands that apply only to 3ware 9000 series controllers are labeled as such and are not supported for 3ware 7000/8000 controllers. Within the 9000 series, some commands apply to only to models 9690SA, 9650SE, 9590SE, and 9550SX, but not to 9500S, and are so labeled. A few commands apply only to models 9500S, and are labeled as such.
Important!
For all of the functions of the 3ware CLI to work properly, you must have the proper CLI, firmware, and driver versions installed. Check http://www.3ware.com/support for the latest versions and upgrade instructions.
This chapter includes the following sections:
“Features of the CLI” on page 2
“Installing the 3ware CLI” on page 4
“Workin g with 3ware CLI” on page 6
“Understanding RAID Levels and Concepts” on page 9

Features of the CLI

3ware CLI is a command line interface for managing 3ware RAID Controllers. It provides controller, logical unit, drive, enclosure, and BBU (Battery Backup Unit) management. It can be used in both interactive and batch mode, providing higher level API (application programming interface) functionalities.
2 3ware Serial ATA RAID Controller User Guide
You can use the CLI to view unit status and version information and perform maintenance functions such as adding or removing drives. 3ware CLI also includes advanced features for creating and dele ting RAID units online.
For a summary of what you can do using the CLI, see “Common Tasks Mapped to CLI Commands” on page 20.

Supported Operating Systems

The 9.5 version of the 3ware CLI is supported under the following operating systems:
•Windows®. Windows XP and Windows Server 2003, both 32-bit and 64-
bit.
Linux®. Redhat, SuSE, both 32-bit and 64-bit. For specific versions of Linux that are supported for the 3ware CLI, see the
Release Notes.
Supported Operating Systems

Terminology

3ware SAS/SA TA RAID Controller CLI Guide uses the following terminology:
Logical Units. Usually shortened to “units.” These are block devices
presented to the operating system. A logical unit can be a one-tier, two-tier , or three-tier arrangement. Spare and Single logical units are examples of one-tier units. RAID 1 and RAID 5 are examples of two-tier units and as such will have sub-units. RAID 10 and RAID 50 are examples of three-tier units and as such will have sub-sub-units.
Port. 3ware controller models up to the 9650SE series have one or many ports
(typically 4, 8, 12, 16, or 24). Each port can be attached to a single disk drive. On a controller such as the 9650SE with a multilane serial port connector, one connector supports four ports. On 9690SA series controllers, connections are made with phys and vports (virtual port).
Phy. Phys are transceivers that transmit and receive the serial data stream that
flows between the controller and the drives. 3ware 9690SA controllers have 8 phys. These “controller phys” are associated with virtual ports (vports) by 3ware software to establish up to 128 potential connections with the SAS or SATA hard drives. Each controller phy can be connected directly to a single drive, or can be connected through an expander to additional drives.
VPort. Connections from 3ware 9690SA controllers to SAS or SATA drives
are referred to as virtual ports, or VPorts. A VPort indicates the ID of a drive, whether it is directly connected to the controller, or cascaded through one or
www.3ware.com 3
Chapter 1. Introduction to the 3ware Com m a nd Line Int er fa ce
more expanders. The VPort ID allows a drive to be consistently identified, used in a RAID unit, and managed.
For additional information about 3ware controller concepts and terminology, see the user guide that came with your 3ware RAID controller or the user guide portions of the 3ware HTML Bookshelf.

Installing the 3ware CLI

Warning!
If you have a 7000/8000 controller and are using 3DM, as opposed to 3DM2, AMCC does not recommend installing both 3DM and CLI on the same system. Conflicts may occur. For example, if both are installed, alarms will be captured only by 3DM. You should use either CLI or 3DM to manage your 3ware RAID controllers.
This is not an issue for 3DM2, which works with the 9000-series controllers. It can be installed with CLI.

Installing the 3ware CLI on Windows

3ware CLI can be installed or run directly from the 3ware software CD, or the latest version can be downloaded from the 3ware web site, http://www.3ware.com. Online manual pages are also available in nroff and html formats. These are located in
tw_cli.8.nroff.
To install 3ware CLI on Windows
Do one of the following:
Start the 3ware CD and at the 3ware menu, click
Step through the pages of the installation wizard and make sure that Command Line Interface (tw_cli) is selected.
Copy the file
program. CLI is located on the 3ware CD in the directory
Note: CLI comes in both 32-bit and 64-bit versions. If you are copying the file
directly, be sure to copy the correct version for the version of the operating system you are using.
tw_cli.exe to the directory from which you wan t to run the
/packages/cli/tw_cli.8.html or
Install Software.
\packages\cli\windows
4 3ware Serial ATA RAID Controller User Guide
Installing the 3ware CLI
Permissions Required to Run CLI
To run CLI, you can be logged onto Windows with one of the following sets of permissions:
Administrator
User with administrator rights
Domain administrator
Domain user with Domain Admin or Administrator membership
Without the correct privileges, CLI will prompt and then exit when the application is executed.
If you are uncertain whether you have the correct permissions, contact your network administrator.
To start CLI, do one of the following:
Start the 3ware CD and at the 3ware menu, click
Or, open a console window, change to the directory where tw_cli is
located, and at the command prompt, enter
tw_cli
OR, double-click the CLI icon in a folder.
The CLI prompt is displayed in a DOS console window.

Installing the 3ware CLI on Linux

3ware CLI can be installed or run directly from the 3ware software CD, or the latest version can be downloaded from the 3ware web site,
http://www.3ware.com.
To install 3ware CLI on Linux
Do one of the following:
If you are using a graphical user interface such as X Windows, insert and
mount the 3ware CD. At the 3ware menu, click 3ware menu does not appear automatically, open a command window and type ./autorun from the CD directory.
Run CLI.
Install Software. If the
Step through the pages of the installation wizard. On the 3ware Disk Management Tools screen, make sure that Command Line Interface (tw_cli) is selected.
More detailed information about using this installer is supplied in Appendix B of 3ware Serial ATA RAID Controller User Guide.
www.3ware.com 5
Chapter 1. Introduction to the 3ware Com m a nd Line Int er fa ce
If no GUI is installed, navigate to packages/installer/linux/x86 (or /86-64,
depending on your system) on the 3ware CD. Type:
./setupLinux_x86.bin
(depending upon which directory you are in) and press Enter to begin installing the CLI.
More detailed information about using this installer is supplied in Appendix B of 3ware Serial ATA RAID Controller User Guide.
Or, copy the file tw_cli to the directory from which you want to run the
program. CLI is located on the 3ware CD in Online manual pages are also available in nroff and html formats. These
are located in You will need to be root or have root privileges to install the CLI to
/usr/sbin and to run the CLI.
To install the CLI to a different location, change desired location.
Notes:
/packages/cli/tw_cli.8.html or tw_cli.8.nroff.
-console or ./se tupLinux_x64.bin -console
/packages/cli/linux.
/usr/sbin/ to the
The installation location needs to be in the environment 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
The 3ware CLI comes in both 32-bit and 64-bit versions. If you are copying the file directly, be sure to copy the correct version for the version of the operating system you are using.

Working with 3ware CLI

You can work with the 3ware CLI in different ways:
Interactively, entering commands at the main prompt
As a series of single commands
By creating a script—an input file with multiple commands
The next few topics shows examples of these different methods.
“Using the command interface interactively” on page 7
“Using a single command with output” on page 7
“Using an input file to execute a script” on page 8
“Outputting the CLI to a Text File” on page 9
6 3ware Serial ATA RAID Controller User Guide
Working with 3ware CLI
Examples shown in the CLI Syntax Reference chapter reflect the interactive method.

Using the command interface interactively

You can use 3ware CLI interactively, entering commands at the main prompt and observing the results on the screen.
To use the CLI interactively
1 If necessary, change to the directory that contains CLI. 2 Enter the following command:
tw_cli
(Under Linux, if the directory containing the CLI is not in your path, you may need to type ./tw_cli )
The main prompt is displayed, indicating that the program is awaiting a command.
//localhost>
3 At the CLI prompt, you can enter commands to show or act on 3ware
controllers, units, and drives. For example,
//localhost> show
displays all controllers in the system and shows details about them, like this:
Ctl Model Ports Drives Units NotOpt RRate VRate BBU
-----------------------------------------------------------­c0 9690SA-4I4E 4 12 2 0 1 1 ­c1 9650SE-4 4 4 1 0 3 5 TESTING c2 7500-12 12 8 3 1 2 - -

Using a single command with output

You can use 3ware CLI with line arguments, processing a single command at a time. To do so, simply enter the command and the arguments.
Single commands can be useful when you want to perform a task such as redirecting the output of the command to a file. It also allows you to use the command line history to eliminate some typing.
Syntax
tw_cli <command_line_arguments>
www.3ware.com 7
Chapter 1. Introduction to the 3ware Com m a nd Line Int er fa ce
Example
tw_cli /c0 show diag > /tmp/3w_diag.out

Using an input file to execute a script

You can operate 3ware CLI scripts by executing a file. The file is a text file containing a list of CLI commands which you have entered in advance. Each command must be on a separate line.
Syntax
tw_cli -f <filename>
Where <filename> is the name of the text file you want to execute.
Example
tw_cli -f clicommand.txt
This example executes the file clicommand.txt, and runs the CLI commands included in that file.
Scripting examples
Following is a scripting example for a 4-port controller using a text file called config_unit.txt, containing three commands. This example sets up a 4-port controller with two units, each with 2 drives mirrored. It then prints the configurations for verification. The commands included in the script file are:
/c0 add type=raid1 disk=0-1 /c0 add type=raid1 disk=2-3 /c0 show
Following is a scripting example for a 12-port controller using a text file called config_unit.txt, containing three commands. This example sets up a 12­port controller with two units: one with the first 2 drives mirrored, and another with the remaining drives in a RAID 5 array. It then prints the configurations for verification. The commands included in the script file are:
/c0 add type=raid1 disk=0-1 /c0 add type=raid5 disk=2-11 /c0 show
To run either of the scripts, enter:
tw_cli -f config_unit.txt
8 3ware Serial ATA RAID Controller User Guide

Understanding RAID Levels and Concepts

Outputting the CLI to a Text File

You can have the output of the 3ware CLI, including errors, sent to a text file by adding 2>&1 to the end of the line. This could be useful, for example, if you want to email the output to AMCC Technical Support.
Examples
tw_cli /c2/p0 show >> controller2port0info.txt 2>&1
or
tw_cli /c0 show diag >> Logfile.txt 2>&1

Conventions

The following conventions are used through this guide:
In text,
In descriptions and explanations of commands, a bold font indicates the name of commands and parameters, for example, /c0/p0 show all.
In commands, an italic font indicates items that are variable, but that you
must specify, such as a controller ID, or a unit ID, for example,
show
In commands, brackets around an item indicates that it is optional.
In commands, ellipses (...) indicate that more than one parameter at a time
can be included, for example, /c0/p0 show attribute [attribute ...], or that there is a range between two values from which you can pick a value, for example, /cx set carvesize=[1024...2048].
In commands, a vertical bar (|) indicates an 'or' situation where the user has a choice between more than one attribute, but only one can be specified.
Example: In the command to rescan all ports and reconstitute all units, the
syntax appears as /cx rescan [noscan]. The brackets [ ] indicate that you may omit the noscan parameter, so that the operation will be reported to the operating system.
monospace font is used for code and for things you type.
attribute, and /cx/px show all
/c0/p0
Understanding RAID Levels and Concepts
3ware RAID controllers use RAID (Redundant Array of Inexpensive Disks) to increase your storage system’s performance and provide fault tolerance (protection against data loss).
www.3ware.com 9
Chapter 1. Introduction to the 3ware Com m a nd Line Int er fa ce
This section organizes information about RAID concepts and configuration levels into the following topics:
“RAID Concepts” on page 10
“Available RAID Configurations” on page 11
“Determining What RAID Level to Use” on page 17

RAID Concepts

The following concepts are important to understand when working with a RAID controller:
Arrays and Units. In the storage industry, the term “array” is used to
describe two or more disk drives that appear to the operating system as a single unit. When working with a 3ware RAID controller, “unit” is the term used to refer to an array of disks that is configured and managed through the 3ware software. Single-disk units can also be configured in the 3ware software.
Mirroring. Mirrored arrays (RAID 1) write data to paired drives
simultaneously . If one drive fails, the data is preserved on the paired drive. Mirroring provides data protection through redundancy. In addition, mirroring using a 3ware RAID controller provides improved performance because 3ware’s TwinStor technology reads from both drives simultaneously.
Striping. Striping across disks allows data to be written and accessed on
more than one drive, at the same time. Striping combines each drive’s capacity into one large volume. Striped disk arrays (RAID 0) achieve highest transfer rates and performance at the expense of fault tolerance.
Distributed Parity . Parity works in combination with striping on RAID 5,
RAID 6, and RAID 50. Parity information is written to each of the striped drives, in rotation. Should a failure occur, the data on the failed drive can be reconstructed from the data on the other drives.
Hot Swap. The process of exchanging a drive without having to shut
down the system. This is useful when you need to exchange a defective drive in a redundant unit.
Array Roaming. The process of removing a unit from a controller and
putting it back later, either on the same controller, or a different one, and having it recognized as a unit. The disks may be attached to different ports than they were originally attached to, without harm to the data.
For definitions of other terms used throughout the documentation, see the “Glossary”.
10 3ware Serial ATA RAID Controller User Guide

Available RAID Configurations

RAID is a method of combining several hard drives into one unit. It offers fault tolerance and higher throughput levels than a single hard drive or group of independent hard drives. RAID levels 0, 1, 10 and 5 are th e most popular. AMCC's 3ware controllers support RAID 0, 1, 5, 6, 10, 50, and Single Disk. The information below provides a more in-depth explanation of the different RAID levels.
For how to configure RAID units, see “Configuring a New Unit” on page 85.
RAID 0
RAID 0 provides improved performance, but no fault tolerance. Since the data is striped across more than one disk, RAID 0 disk arrays achieve high transfer rates because they can read and write data on more than one drive simultaneously. The stripe size is configurable during unit creation. RAID 0 requires a minimum of two drives.
When drives are configured in a striped disk array (see Figure 1), large files are distributed across the multiple disks using RAID 0 techniques.
Understanding RAID Levels and Concepts
Striped disk arrays give exceptional performance, particularly for data intensive applications such as video editing, computer-aided design and geographical information systems.
RAID 0 arrays are not fault tolerant. The loss of any drive results in the loss of all the data in that array, and can even cause a system hang, depending on your operating system. RAID 0 arrays are not recommended for high availability systems unless additional precautions are taken to prevent system hangs and data loss.
Figure 1. RAID 0 Configuration Example
www.3ware.com 11
Chapter 1. Introduction to the 3ware Com m a nd Line Int er fa ce
RAID 1
RAID 1 provides fault tolerance and a speed advantage over non-RAID disks. RAID 1 is also known as a mirrored array. Mirroring is done on pairs of drives. Mirrored disk arrays write the same data to two different drives using RAID 1 algorithms (see Figure 2). This gives your system fault tolerance by preserving the data on one drive if the other drive fails. Fault tolerance is a basic requirement for critical systems like web and database servers.
3ware uses a patented technology, TwinStor®, on RAID 1 arrays for improved performance during sequential read operations. With TwinStor technology, read performance is twice the speed of a single drive during sequential read operation.
The adaptive algorithms in TwinStor technology boost performance by distinguishing between random and sequential read requests. For the sequential requests generated when accessing large files, both drives are used, with the heads simultaneously reading alternating sections of the file. For the smaller random transactions, the data is read from a single optimal drive head.
Figure 2. RAID 1 Configuration Example
RAID 5
RAID 5 provides performance, fault tolerance, high capacity, and storage efficiency. It requires a minimum of three drives and combines striping data with parity (exclusive OR) to restore data in case of a drive failure. Performance and efficiency increase as the number of drives in a unit increases.
Parity information is distributed across all of the drives in a unit rather than being concentrated on a single disk (see Figure 3). This avoids throughput loss due to contention for the parity drive.
RAID 5 is able to tolerate 1 drive failure in the unit.
12 3ware Serial ATA RAID Controller User Guide
Understanding RAID Levels and Concepts
Figure 3. RAID 5 Configuration Example
RAID 6
RAID 6 requires a 3ware 9650SE or 9690SA RAID controller. RAID 6 provides greater redundancy and fault tolerance than RAID 5. It is
similar to RAID 5, but has two blocks of parity information (P+Q) distributed across all the drives of a unit, instead of the single block of RAID 5.
Due to the two parities, a RAID 6 unit can tolerate two hard drives failing simultaneously. This also means that a RAID 6 unit may be in two different states at the same time. For example, one sub-unit can be degraded, while another may be rebuilding, or one sub-unit may be initializing, while another is verifying.
AMCC 3ware’s implementation of RAID 6 requires a minimum of five drives. Performance and storage efficiency also increase as the number of drives increase.
www.3ware.com 13
Chapter 1. Introduction to the 3ware Com m a nd Line Int er fa ce
Figure 4. RAID 6 Configuration Example
RAID 10
RAID 10 is a combination of striped and mirrored arrays for fault tolerance and high performance.
When drives are configured as a striped mirrored array, the disks are configured using both RAID 0 and RAID 1 techniques, thus the name RAID 10 (see Figure 5). A minimum of four drives are required to use this technique. The first two drives are mirrored as a fault tolerant array using RAID 1. The third and fourth drives are mirrored as a second fault tolerant array using RAID 1. The two mirrored arrays are then grouped as a striped RAID 0 array using a two tier structure. Higher data transfer rates are achieved by leveraging TwinStor and striping the arrays.
In addition, RAID 10 arrays offer a higher degree of fault tolerance than RAID 1 and RAID 5, since the array can sustain multiple drive failures without data loss. For example, in a twelve-drive RAID 10 array, up to six drives can fail (half of each mirrored pair) and the array will continue to function. Please note that if both halves of a mirrored pair in the RAID 10 array fail, then all of the data will be lost.
14 3ware Serial ATA RAID Controller User Guide
Understanding RAID Levels and Concepts
Figure 5. RAID 10 Configuration Example
RAID 50
RAID 50 is a combination of RAID 5 with RAID 0. This array type provides fault tolerance and high performance. RAID 50 requires a minimum of six drives.
Several combinations are available with RAID 50. For example, on a 12-port controller, you can hav e a grouping of 3, 4, or 6 drives. A grouping of 3 means that the RAID 5 arrays used have 3 disks each; four of these 3-drive RAID 5 arrays are striped together to form the 12-drive RAID 50 array. On a 16-port controller, you can have a grouping of 4 or 8 drives.
No more than four RAID 5 subunits are allowed in a RAID 50 unit. For example, a 24-drive RAID 50 unit may have groups of 12, 8, or 6 drives, but not groups of 4 or 3.
In addition, RAID 50 arrays offer a higher degree of fault tolerance than RAID 1 and RAID 5, since the array can sustain multiple drive failures without data loss. For example, in a twelve-drive RAID 50 array, up to one drive in each RAID 5 set can fail and the array will continue to function. Please note that if two or more drives in a RAID 5 set fail, then all of the data will be lost.
www.3ware.com 15
Chapter 1. Introduction to the 3ware Com m a nd Line Int er fa ce
Figure 6. RAID 50 Configuration Example
Single Disk
A single drive can be configured as a unit through 3ware software. (3BM, 3DM 2, or CLI). Like disks in other RAID configurations, single disks contain 3ware Disk Control Block (DCB) information and are seen by the OS as available units.
Single drives are not fault tolerant and therefore not recommended for high availability systems unless additional precautions are taken to prevent system hangs and data loss.
16 3ware Serial ATA RAID Controller User Guide
Understanding RAID Levels and Concepts
Hot Spare
A hot spare is a single drive, available online, so that a redundant unit can be automatically rebuilt in case of drive failure.

Determining What RAID Level to Use

Your choice of which type of RAID unit (array) to create will depend on your needs. You may wish to maximize speed of access, total amount of storage, or redundant protection of data. Each type of RAID unit offers a different blend of these characteristics.
The following table provides a brief summary of RAID type characteristics.
Table 2: RAID Configuration Types
RAID Type Description
RAID 0 Provides performance, but no fault tolerance. RAID 1 Provides fault tolerance and a read speed advantage over non-
RAID disks.
RAID 5 This type of unit provides performance, fault tolerance, and high
storage efficiency. RAID 5 units can tolerate one drive failing
RAID 6 Provides very high fault tolerance with the ability to protect
RAID 10 A combination of striped and mirrored units for fault tolerance
RAID 50 A combination of RAID 5 and RAID 0. It provides high fault
Single Disk Not a RAID type, but supported as a configuration.
before losing data.
against two consecutive drive failures. Performance and efficiency increase with higher numbers of drives.
and high performance.
tolerance and performance.
Provides for maximum disk capacity with no redundancy.
You can create one or more units, depending on the number of drives you have installed.
Table 3: Possible Configurations Based on Number of Drives
# Drives Possible RAID Configurations
1 Single disk or hot spare 2 RAID 0 or RAID 1
www.3ware.com 17
Chapter 1. Introduction to the 3ware Com m a nd Line Int er fa ce
Table 3: Possible Configurations Based on Number of Drives
# Drives Possible RAID Configurations
3RAID 0
RAID 1 with hot spare RAID 5
4 RAID 5 with hot spare
RAID 10 Combination of RAID 0, RAID 1, single disk
5RAID 6
RAID 5 with hot spare RAID 10 with hot spare Combination of RAID 0, RAID 1, hot spare, single disk
6 or more RAID 6
RAID 6 with hot spare RAID 50 Combination of RAID 0, 1, 5, 6,10, hot spare, single disk

Using Drive Capacity Efficiently

To make the most efficient use of drive capacity, it is advisable to use drives of the same capacity in a unit. This is because the capacity of each drive is limited to the capacity of the smallest drive in the unit.
The total unit capacity is defined as follows:
Table 4: Drive Capacity
RAID Level Capacity
Single Disk Capacity of the drive RAID 0 (number of drives) X (capacity of the smallest drive) RAID 1 Capacity of the smallest drive RAID 5 (number of drives - 1) X (capacity of the smallest drive)
Storage efficiency increases with the number of disks:
storage efficiency = (number of drives -1)/(number of drives) RAID 6 (number of drives - 2) x (capacity of the smallest drive) RAID 10 (number of drives / 2) X (capacity of smallest drive) RAID 50 (number of drives - number of groups of drives) X (capacity of the
smallest drive)
18 3ware Serial ATA RAID Controller User Guide
Through drive coercion, the capacity used for each drive is rounded down so that drives from differing manufacturers are more likely to be able to be used as spares for each other. The capacity used for each drive is rounded down to the nearest GB for drives under 45 GB (45,000,000,000 bytes), and rounded down to the nearest 5 GB for drives over 45 GB. For example, a 44.3 GB drive will be rounded down to 44 GB, and a 123 GB drive will be rounded down to 120 GB. For more information, see the discussion of drive coercion under “Creating a Hot Spare” on page 97.
Note: All drives in a unit must be of the same type, either SAS or SATA.

Support for Over 2 Terabytes

Windows XP (32-bit), Windows 2003 (32-bit and 64-bit without SP1) and Linux 2.4 do not currently recognize unit capacity in excess of 2 TB.
Understanding RAID Levels and Concepts
If the combined capacity of the drives to be connected to a unit exceeds 2 Terabytes (TB), you can enable auto-carving when you configure your units.
Auto-carving divides the available unit capacity into multiple chunks of 2 TB or smaller that can be addressed by the operating systems as separate volumes. The carve size is adjustable from 1024 GB to 2048 GB (default) prior to unit creation.
If a unit over 2 TB was created prior to enabling the auto-carve option, its capacity visible to the operating system will still be 2TB; no additional capacity will be registered. To change this, the unit has to be recreated.
For more information, see “Using Auto-Carving for Multi LUN Support” on page 78.
You may also want to refer to Knowledgease article # 13431, at http://www.3ware.com/kb/article.aspx?id=13431.
www.3ware.com 19
2

CLI Syntax Reference

This chapter provides detailed information about using the command syntax for the 3ware CLI.
Throughout this chapter the examples reflect the interactive method of executing 3ware CLI.
Note: The output of some commands varies somewhat for different types of
controllers, and may vary if you have an enclosure attached. For most commands where this is the case, examples are provi d ed to show the differences.

Common Tasks Mapped to CLI Commands

The table below lists many of the tasks people use to manage their RAID controllers and units, and lists the primary CLI command associated with those tasks.
Table 5: Common Tasks Mapped to CLI Commands
T ask CLI Command Page
Controller Configuration Tasks
View information about a controller /cx show 30 View controller policies /cx show [attribute] [attribute] 32 Set policies for a controller
Modify staggered spinup
Disable write cache on unit
degrade
Enable/disable autocarving
Enable/disable autorebuild
Set the autocarve volume size
/cx set stagger and /cx set spinup /cx set ondegrade
/cx set autocarve /cx set autorebuild /cx set carvesize
57 57 57
57 57 58
20 3ware Serial ATA RAID Controller User Guide
Common Tasks Mapped to CLI Commands
Table 5: Common Tasks Mapped to CLI Commands
T ask CLI Command Page
Unit Configuration Tasks
Create a new unit /cx add 40 Create a hot spare /cx add 40 Enable/disable unit write cache /cx/ux set cache 70 Set the queue policy /cx/ux set qpolicy 72 Set the storsave profile /cx/ux set storsave 72
Unit Configuration Changes
Change RAID level /cx/ux migrate 73 Change stripe size /cx/ux migrate 73 Expand unit capacity /cx/ux migrate 73 Delete a unit /cx/ux del 67 Remove a unit (export) /cx/ux remove 67 Name a unit /cx/ux set name 71
Controller Maintenance Tasks
Update controller with new firmware
Add a time slot to a rebuild schedule
Add a time slot to a verify schedule
Add a time slot to a selftest schedule
Enable/disable the rebuild/migrate schedule and set the task rate
Enable/disable the verify schedule and set the task rate
Enable/disable the selftest schedule
View Alarms /cx show alarms 40
/cx update 51
/cx add rebuild 52
/cx add verify 53
/cx add selftest 54
/cx set rebuild 55
/cx set verify 56
/cx set selftest 56
www.3ware.com 21
Chapter 2. CLI Syntax Reference
Table 5: Common Tasks Mapped to CLI Commands
T ask CLI Command Page
Unit Maintenance Tasks
Start a rebuild /cx/ux start rebuild 68 Start a verify /cx/ux start verify 68 Pause/resume rebuild /cx/ux pause rebuild and /cx/ux
resume rebuild Stop verify /cx/ux stop verify 69 Enable/disable autoverify /cx/ux set autoverify 70 Identify all drives that make up a
unit by blinking associated LEDs
Port Tasks
Locate drive by blinking an LED /cx/px set identify 85 Check if LED is set to on or off /cx/px show identify 81 View information for specific dri v e /cx/px show 79 View the status of specific drive /cx/px show status 82
BBU Tasks
Check on charge and condition of battery
Start a test of the battery
Enclosure Tasks
/cx/ux set identify 64
/cx/bbu/ show status 88
/cx/bbu test [quiet] 90
69
View information about an enclosure
Locate a particular drive slot in an enclosure by blinking an LED
/cx/ex show 91
/cx/ex/slotx set identify 95

Syntax Overview

The command syntax uses the general form:
Object Command Attributes
Objects are shell commands, controllers, units, ports (drives), BBUs (battery
backup units), and enclosures.
Commands can either select (show , get, present, read) attributes or alter (add,
change, set, write) attributes.
22 3ware Serial ATA RAID Controller User Guide
Syntax Overview
Attributes are either Boolean Attributes or Name-Value Attributes.
The value of a boolean attribute is deduced by presence or lack of—that
is, the attribute is either specified, or not. For example, the command show alarms by default lists alarms with the most recent alarm first. If you include the attribute reverse, as in the command show alarms
reverse, alarms are listed in reverse order.
The value of name-value attributes are expressed in the format
attribute=value.
Example: When adding (creating) a unit to the controller with the following
command string,
/c1 add type=raid1 disk=0-1 c1 is the object, add is the command, type (for type of array) is an attribute
with
raid1 as the value of the attribute, and disk is another attribute with
0-1 as the value (ports 0 through 1).
Information about commands is organized by the object on which the commands act:
Shell Object Commands. Shell object commands set the focus or provide
information (such as alarms, diagnostics, rebuild schedules, and so forth) about all controllers in the system. For details, see “Shell Object Commands” on page 24.
Controller Object Commands. Controller object commands provide
information and perform actions related to a specific controller. For example, you use controller object commands for such tasks as seeing alarms specific to a controller, creating schedules during which background tasks are run, and setting policies for the controller. You also use the controller object command /cx add type to create RAID arrays. For details, see “Controller Object Commands” on page 29.
Unit Object Commands. Unit object commands provide information and
perform actions related to a specific unit on a specific controller. For example, you use unit object commands for such tasks as seeing the rebuild, verify, or initialize status of a unit, starting, stopping, and resuming verifies, starting and stopping rebuilds, and setting policies for the unit. You also use the controller object command /cx/ux migrate to change the configuration of a RAID array. For details, see “Unit Object Commands” on page 61.
Port Object Commands. Port object commands provide information and
perform actions related to a drive on a specific port or vport. You can use port object commands for such tasks as seeing the status, model, or serial number of the drive. For details, see “Port Object Commands” on page 79.
BBU Object Commands. BBU object commands provide information and
perform actions related to a Battery Backup Unit on a specific controller. For details, see “BBU Object Commands” on page 86.
www.3ware.com 23
Chapter 2. CLI Syntax Reference
Enclosure Object Commands. Enclosure object commands provide
information and perform actions related to a particular enclosure. For example, you can use enclosure object commands to see information about an enclosure and its elements (slots, fan, and temperature sensor elements).
Help Commands. Help commands allow you to display help information for
all commands and attributes. For details, see “Help Commands” on page 98.

Shell Object Commands

Shell object commands are either applicable to all the controllers in the system (such as show, rescan, flush, commit), or redirect the focused object.
Syntax
focus object commit flush rescan show [attribute [modifier]]
alarms [reverse] diag rebuild selftest ver verify
update fw=filename_with_path [force]
focus
24 3ware Serial ATA RAID Controller User Guide
Object
The focus command is active in interactive mode only and is provided to reduce typing.
The focus command will set the specified object in focus and change the prompt to reflect this. This allows you to enter a command that applies to the focus, instead of having to type the entire object name each time.
For example, where normally you might type:
/c0/u0 show
If you set the focus to /c0/u0, the prompt changes to reflect that, and you only have to type in a file system and requesting a listing of the current directory.
object
can have the following forms:
/cx/ux specifies the fully qualified URI (Universal Resource Identifier) of an
object on controller
.. specifies one level up (the parent object).
show. The concept is similar to being in a particular location
cx, unit ux.
Loading...
+ 80 hidden pages