********************************************************************* * ACU command-line utility for SATA HostRAID * * README.TXT * * Version 1.0 * ********************************************************************* CONTENTS ________ 1.0 Overview 2.0 User's Reference 2.1 Switch Definitions 2.2 Scripts 2.3 Error Status Codes 3.0 Web Site and Support Phone Number 4.0 Trademarks and Notices 5.0 Disclaimer 1.0 Overview _____________ Array Configuration Utility (ACU) is a DOS-based application for configuring and managing arrays. ACU provides a means to create/delete arrays, manage spares, and initialize the drives attached to the controller. It can also manage multiple controllers, if present in the system, but only one controller at a time. ACU DOS provides two types of interfaces: 1. Text User Interface (TUI) 2. Command Line Interface (CLI) In the TUI mode, ACU DOS behaves in the same way as that of the embedded ACU, which is also known as ARC/ACU. The User Guide explains in detail about how ACU TUI can be used. ACU DOS for SATA HostRAID is not compatible with other versions of ACU. 2.0 User's Reference _______________________ 2.1 Switch Definitions _______________________ LIST : Lists all the controllers discovered in the system. The controllers are discovered in the order of the PCI bus scan. The boot order may be different from the PCI device scan order. This command does not require any “/C” switch as this performs a complete scan for controllers. A:\>ACU LIST ACU will output the list of controllers in the screen and devices attached to them. LOG : Logs all the events to a log file. Whenever the log option is used, it is necessary to give the file name for logging. This feature is used along with the other switches. By default, the extension is ‘.log’. A:\>ACU /p pmyscript.txt /L mylog.txt The log of events are saved in mylog.txt. RECORD : ACU provides this option to take a snapshot of the current configuration into a file. This information can be used to create the arrays using the PLAYBACK option. This command requires a filename to save the current configuration. By default, the filename extension is ‘.mlc’ A:\>ACU /C0 /R Config.txt ACU saves the configuration into config.txt file. PLAYBACK : A saved configuration (from the RECORD command) can be used to create an array configuration. The PLAYBACK option also accepts a script file to perform batch processing. A:\>ACU /C0 /P Config.txt ACU will start executing the script named config.txt. The script creation and syntax are explained in detail in the next section of this document. DELETE : Delete an identified array, or delete all arrays. A:\>ACU /d all ACU deletes all arrays in the controller. A:\>ACU /d 0 ACU will delete array #0. SILENT : Suppress output display. Error messages will not be suppressed. A:\>ACU /s list ACU lists the controllers and devices without displaying the banner. 2.2 Scripts ____________ The scripts are primarily used to replicate the configuration across multiple systems. A script can be executed by PLAYBACK parameter. A script file is in simple text format. ACU can be invoked to execute scripts as follows: A:\>ACU /C0 /P Script0.txt 2.2.1 Syntax _____________ ACU script contains 3 different types of blocks. These blocks combine together to form a script file. A script file structure may look like this: Start of Blk1 Script line 1 Script line 2 Script line 3 End of Blk1 Start of Blk2 Script line 1 Script line 2 Script line 3 End of Blk2 The three different types of blocks are: 1. Array 2. Generic 3. Informational Every block has its own key words. All the blocks start with a specific keyword and is closed by the keyword “end”. ACU scripts are not case sensitive. Comments can be used in scripts by using a “#”. Any text on the same line as the # will not be used in the script. 2.2.2 Description of Array Block _________________________________ An array block is used to create a new array. Some of the keywords are mandatory to create arrays. The keyword “Array” marks the beginning of the array block and “End” marks the close of the array block. Keywords: Array – This marks the start of the array block. An optional array label string is given as input. The array label can be up to 15 bytes long and are given within the double quotes. Array = "R0-1 " Size – This keyword is a mandatory key word for array creation. A value of “Maximum” should always be used. An array is always created with the maximum possible size. Size = Maximum Type – Type is a mandatory field to set the RAID level of the array that is being created. Type field can be any one of the following: RAID 0, RAID 1, or RAID 10. Type = RAID 1 Stripe Size – Stripe size is a mandatory field when the RAID types involve stripes. For a RAID 1 array, this field is not valid. Stripe size can be one of the following: 16, 32, or 64. Stripe Size = 16 Method – This field specifies the Initialization method for the redundant arrays. It is not applicable to non-redundant arrays. The values can be either “Quick Init”, “Clear”, or “Build”. “Quick Init” clears the first few blocks of the redundant array for immediate use. The array remains in Quick Init state, until a build is performed on the array. Method = clear Drives – This specifies the drives that are participating in the array. This is a mandatory field. It must have a valid number of entries for the given array configuration. The drives are represented in the Port# format, where port# is the port number where the drive is attached. Multiple drive entries are separated by a comma. If any one of the specified drives is missing, ACU returns an error. Note: For Raid-1 with method=build, the source target ID is the first number and the target ID is the second number. # Use the port 1 and port 4 for raid 1. Source ID=1, target ID=4 for # method = build. Drives = 1, 4 Hot Spare Drives – It specifies the hot spare drive for a global spare type. This is defined in a separate array block. It follows the same syntax as that of the “Drives” field. # port 1 assigned as the global spare. Spare = 1 Build/Verify – This keyword specifies the progress of the RAID 1 build, clear, or verify operations. The progress is shown as a percentage. It is recorded to a file using the /r command line option. In the playback mode, the percentage goes back to zero since it is a create-array operation. ACU does not support automatic rebuild from a previous rebuild using command line option. Use the TUI and press CTRL+R to continue rebuild. # Progress of build/clear/verify operation Build/Verify = 0 % 2.2.3 Description of Generic Block ___________________________________ A generic block has no specific start marker or end marker. Generic blocks can appear in any part of the script. There are two keywords defined for generic block: InitializeAll – Initializes all the drives in the given controller. Initialization prepares the drives for array creation by clearing a few blocks. This is an optional field. Values are either “Yes” or “No”. Typically, this keyword is placed prior to the array block for initializing the drives. Initialize all will wipe off the array information in the disks, which will result in the loss of data. Example: InitializeAll = Yes InitializeArray – Initializes a specified array. This is an optional field. Values are either “0” or “1” for array number. Typically, this keyword is placed prior to the array block for deleting an existing array. Initialize array will wipe off the array information in the raid member disks, which will result in the loss of data. Example: InitializeArray = 1 2.2.4 Description of Informational Block _________________________________________ An informational block is the one which displays the system information such as Controller Number, controller name, subsystem ID, and total ports available. An example is shown below: Controller= 0, 0:31:2 Controller Name=SATA Controller Subsystem ID=0x1458 Total Ports=2 Port #0= HDS722512VLSA80 115GB Port #1= HDS722512VLSA80 115GB 2.2.5 Examples _______________ Eaxmple A: ========== # Script to create one array of RAID1 and one array of RAID 0 on #Controller 0. Also to create a global spare Controller= 0, 0:31:2 Controller Name=SATA Controller Subsystem ID=0x1458 Total Ports=8 Port #0= HDS722512VLSA80 115GB Port #1= HDS722512VLSA80 115GB Port #2= HDS722512VLSA80 115GB Port #3= HDS722512VLSA80 115GB Port #4= HDS722512VLSA80 115GB #Initialize the drives prior array creation. InitializeAll=Yes # Array block begins. Array = "R1-1 " Size = Maximum Type = RAID 1 Method = build Drives = 0, 1 Verify_with_Fix = yes End Array = "R0-2 " Size = Maximum Type = RAID 0 Stripe Size = 16 Drives = 2, 3 End Spare = 4 End ========== Example B: ========== # Script to create one array of RAID10 on Controller 0. Controller= 0, 0:31:2 Controller Name=SATA Controller Subsystem ID=0x1458 Total Ports=4 Port #0= HDS722512VLSA80 115GB Port #1= HDS722512VLSA80 115GB Port #2= HDS722512VLSA80 115GB Port #3= HDS722512VLSA80 115GB # Delete an existing array number 0. InitializeArray = 0 # Array block begins. Array = "R10-1 " Size = Maximum Type = RAID 10 Method = clear Drives = 0, 1, 2, 3 End Spare = 4 End ========== 2.3 Error Status Codes _______________________ 1 No Controller Found 2 Syntax or logical error in the script file 3 Unable to open file 4 Error in the command line parameters 5 Unable to read system configuration 6 No drives detected 7 Specified drive not found in system 8 Specified Array size too small 9 Specified Array size too big 10 Number of drives do not match the Array type 11 Unable to initialize drive 12 Error occurred while creating Array 13 Too many Hotspare drives assigned 14 Insufficient memory to run the application 15 Incorrect controller number 16 Controller not responding 17 Build/Clear failed 18 Cannot use drives on shared channel 19 Unable to read SATA port parameters 20 Unable to write SATA port parameters 3.0 Web Sites and Support Phone Number _______________________________________ o You can download new and updated files for the IBM ServeRAID and Clustering products from the IBM Support Web site: http://www.ibm.com/pc/support/ o For the latest list of supported operating systems, see the IBM Server Proven - SCSI and RAID Controllers Web site: http://www.pc.ibm.com/us/compat/controllers/matrix.html For supported operating systems on legacy (non-shipping) controllers, see: http://www.pc.ibm.com/us/compat/machines/index.html o With the original purchase of an IBM hardware product, you have access to extensive support coverage. During the IBM hardware product warranty period, you may call the IBM Personal Computer HelpCenter (1-800-772-2227 in the U.S.) for hardware product assistance covered under the terms of the IBM hardware warranty. 4.0 Trademarks and Notices ___________________________ The following terms are trademarks of the IBM Corporation in the United States or other countries or both: HelpCenter PC Server IBM ServeRAID UNIX is a registered trademark in the United States and other countries and is licensed exclusively through The Open Group. Microsoft, Windows, Windows Server 2003, Windows XP, Windows 2000, and Windows NT are trademarks or registered trademarks of Microsoft Corporation. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. HostRAID is a trademark of Adaptec, Inc. Other company, product, and service names may be trademarks or service marks of others. 5.0 Disclaimer _______________ THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IBM DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT, IBM GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS. Note to U.S. Government Users -- Documentation related to restricted rights -- Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corporation.