CONTENTS Title Page Copyright Page Preface 1 What Is RAID? 1.1 RAID Technology Overview 1.2 Digital Supported RAID Levels 1.3 Controller-Based Versus Host-Based RAID 1.3.1 Characteristics of Host-Based RAID Software Products 1.3.2 Characteristics of Controller-Based RAID Software Products 2 Overview of RAID Functionality 2.1 What Is Supported 2.2 RAID Arrays 2.2.1 Member Structure 2.2.2 RAID Virtual Device Definition 2.2.3 Chunks 2.2.4 Parity Chunks 2.2.5 RAID0 User Data Mapping 2.2.6 RAID5 User Data Mapping 2.2.7 Size of the Array 2.2.8 Capacity of the Array 2.2.9 Array Capacity Calculation 2.3 The Member Volume File System Definition 2.4 Additional Control Information 2.5 RAID Spares and Sparesets 2.5.1 Definition of a Spare 2.5.2 Definition of a Spareset 2.5.3 Do I Need a Spareset? 2.5.4 Incorporating a Spare into a Spareset 2.5.5 Associating Sparesets with RAID Arrays 2.5.6 Limitations on Associating Sparesets with RAID Arrays 3 Installation 3.1 Installation Planning 3.1.1 Preinstallation Requirements 3.1.2 Time Needed for Installation 3.1.3 Registering the License Product Authorization Key 3.1.3.1 What Is the PAK? 3.1.3.2 How to Register the PAK 3.1.4 Setting the SYSGEN Parameters 3.2 Installing StorageWorks RAID Software for OpenVMS 3.3 Error Messages During Installation 3.4 Postinstallation 3.4.1 Enabling the DCL Commands on all Nodes 3.4.2 Files Added to Your System after Installation 3.4.3 System File Modifications after Installation 3.4.3.1 Starting the Software 3.4.3.2 The RAID$STARTUP.COM and RAID$SYSTARTUP.COM Files 3.4.3.3 The RAID SYS$MANAGER:SYSHUTDWN.COM File 3.4.3.4 Restarting the RAID$SERVER Process 3.4.4 Verifying the Installation 3.4.5 Process Level Images 3.4.6 Reporting Product Problems 3.5 Deinstalling StorageWorks RAID Software 4 Preparing to Use StorageWorks RAID Software for OpenVMS 4.1 RAID Array Planning Checklist 4.2 RAID Array Restrictions 4.3 User-Settable Attributes 4.3.1 Attributes That Affect Every Array on the CPU 4.3.2 Attributes That Affect Only Individual Arrays 5 Creating and Managing RAID Arrays 5.1 Creating RAID Arrays 5.1.1 Step 1: Defining a RAID Array 5.1.2 Step 2: Associating a RAID Array with a Virtual Device 5.1.3 Step 3: Placing a File System on the RAID Virtual Device 5.1.4 Step 4: Mounting an OpenVMS File System on the RAID Virtual Device 5.1.5 Example of RAID Array Creation 5.1.6 Creating a RAID Array on a VMScluster System 5.2 Undefining RAID Arrays 5.2.1 Disassociating the RAID Array from the Virtual Device 5.2.2 Reassociating the RAID Array with the Virtual Device 5.3 Managing RAID Arrays Larger Than 8.5 Gigabytes 5.4 Changing the Characteristics of Your RAID Array 5.4.1 The RAID MODIFY Command 5.4.2 Removing a RAID Array Member 5.4.3 Replacing a Member in RAID Arrays 5.4.4 Learning about Your Array 5.5 Sparesets 5.5.1 Initializing Spares 5.5.2 Associating Spares with a Spareset 5.5.3 Disassociating Spares from a Spareset 5.5.4 Associating a Spareset with a RAID Array 5.5.5 Adding Spares to Sparesets 5.5.6 Removing Spares from Sparesets 5.5.7 RAID5 Spare Set Management 5.5.8 Learning about Your Spareset 5.6 Maintaining a RAID Array 5.7 Obtaining Information about RAID Arrays via Command Procedures 6 Partitioning 6.1 What Is Partitioning? 6.2 Why Use Partitioning? 6.3 Using Partitioning 6.3.1 Creating Partitions with RAID INITIALIZE 6.3.1.1 Partitioning by Default 6.3.1.2 Partitioning Using Specified Sizes 6.3.1.3 Partitioning with the /NOFILES_11 Qualifier 6.3.2 Binding 6.4 Partitioning Examples 6.4.1 Partitions in a RAID0 Array 6.4.2 Partitions in a RAID0+1 Array 6.4.3 Partitions with Truncation 6.4.4 Partitions with Specified Size Exceeding Disk Space 6.4.5 A BIND Command Without Enough Virtual Devices Specified 6.4.6 A BIND Command with All Partitions Specified 7 Using Shadowed Disks in RAID0 Arrays 7.1 Using Shadow Sets as Members of RAID0 Configurations 7.2 Why Use Volume Shadowing with RAID0 Arrays 7.3 Requirements for Using Volume Shadowing 7.4 Device Hierarchy in a RAID0 Array with Volume Shadowing 7.5 Related Documentation 7.6 Creating RAID0 Arrays with Shadow Sets 7.6.1 RAID Initializing a RAID0 Array Using Shadow Sets 7.6.2 Creating RAID0 Virtual Devices 7.6.3 How DSA Device Names Are Assigned 7.6.4 Initializing and Mounting the RAID0 Virtual Device 7.7 Adding Shadow Set Member Devices to a RAID0 Shadow Set 7.8 Removing Members from a Shadow Set 7.9 Rebinding with Shadowing 7.9.1 Converting a Nonshadowed RAID0 Array to a Shadowed RAID0 Array 7.10 Rebinding Without Shadowing 7.11 Backup of Arrays with Shadow Sets 7.12 RAID CLONE Command 7.13 Using RAID0 and Shadowing in a VMScluster 7.14 Performance Considerations 7.15 Error Handling 8 Using VAXsimPLUS with RAID Arrays 8.1 VAXsimPLUS Overview 8.2 VAXsimPLUS Disk Monitoring with Autocopy Disabled 8.2.1 VAXsimPLUS Disk Drive Notification Messages and RAID0 Arrays 8.2.2 VAXsimPLUS Disk Drive Notification Messages and RAID5 Arrays 8.2.3 VAXsimPLUS Disk Drive Notification Messages and RAID0+1 Arrays 8.3 VAXsimPLUS with Autocopy Enabled 8.3.1 Requirements for Using VAXsimPLUS Autocopy with RAID0+1 Arrays 8.3.2 Using VAXsimPLUS Autocopy with RAID0+1 Arrays 8.3.2.1 Step 1: Create a RAID0 Array 8.3.2.2 Step 2: Add the Candidate Drives to the RAID0 Array 8.3.2.3 Step 3: Add Two Spare Drives to the VAXsimPLUS Spare Pool 8.3.2.4 Step 4: Verify the Contents of the RAID0+1 Array 8.3.3 Removing Failing Drives for Repair 8.3.4 Managing the VAXsimPLUS Autocopy Database 8.3.5 System Startup When Using VAXsimPLUS Autocopy with RAID0+1 Arrays 8.3.6 System Shutdown When Using VAXsimPLUS Autocopy with RAID0+1 Arrays 8.3.7 Dissolving the RAID0+1 Array 9 Internal Operation and Error Handling 9.1 RAID Array States 9.1.1 Normal State 9.1.2 Reduced State 9.1.3 Reconstructing State 9.2 RAID Array Status 9.2.1 Startup Status 9.2.2 RAID Array Inoperative Status 9.3 RAID Array Member States 9.4 RAID Virtual Unit Status 9.4.1 Accessible Status 9.4.2 Inaccessible Status 9.4.3 Startup Status 9.5 RAID Shadow Set States 9.5.1 SteadyState State 9.5.2 ShadowMerging State 9.5.3 ShadowCopying State 9.5.4 Unknown State 9.6 StorageWorks RAID Error Recovery 9.6.1 Member Error Handling 9.6.2 Timeout Mechanism 9.6.3 Localized Error Handling 9.6.4 Handling Global Errors and Errors Accessing Control Data 9.6.5 Summary of Error Handling 9.7 VMScluster State Transitions 9.8 Reconstruction Determinations 10 RAID0: Improving Performance 10.1 Benefits of RAID0 Technology 10.2 I/O Workloads That Can Benefit from RAID0 Arrays 10.3 Determining Whether RAID0 Arrays Will Improve Performance 10.4 Configuring RAID0 Arrays for Data Transfer-Intensive I/O Workloads 10.4.1 Designing RAID0 Arrays for High Data Transfer Rates 10.4.2 Designing Applications for Maximum Data Transfer Rate 10.5 RAID0 Arrays and I/O Load Balancing 10.6 Configuring RAID0 Arrays for Request Rate-Intensive I/O Workloads 10.7 Tools for Performance Analysis 10.8 How RAID0 Plus Shadowing Helps Performance 10.9 Guideline for RAID0 Arrays 10.9.1 Number of Array Members 10.9.2 Disk Capacity 10.9.3 Chunk Size 10.9.4 Queue Depth 10.9.5 Disk MSCP-Serving 11 RAID5: Improving Data Reliability, Availability, and Performance 11.1 Concerns for Storage Administrators 11.2 Using RAID5 Array Size to Balance Cost, Availability, and Performance 11.2.1 Number of Disks Per RAID5 Array: Cost Versus Performance 11.2.2 File Size Limitation 11.3 Implications of Using Unlike Disks 11.4 Data Reliability Versus Availability 11.4.1 Protecting Against Disk and Storage Element Failure 11.4.2 Protecting Against Controller Failure 11.4.3 Protecting Against Host Adapter Failure 11.5 Reconstruction, Data Reliability, and Performance 11.6 Configuring RAID5 Arrays and Sparesets 12 The OpenVMS Operating System Interface 12.1 Command Line Interface 12.2 Using the OpenVMS BACKUP Command 12.3 System Shutdown with the RAID SHUTDOWN Command 12.4 Configuring the Software with the RAID SET Command 12.5 How to Access OpenVMS Help for RAID 12.6 OpenVMS Error Messages 12.7 The Diagnostics File 12.8 Other Files 12.9 How to Access Your RAID Array Through the Virtual Device 13 RAID Commands RAID ADD/SHADOW_MEMBER RAID ADD/SPARESET RAID ANALYZE/ERROR_LOG RAID BIND RAID BIND/SPARESET RAID CLONE RAID INITIALIZE RAID INITIALIZE/SPARE RAID MODIFY RAID REMOVE RAID REMOVE/SHADOW_MEMBER RAID REMOVE/SPARE RAID REPLACE RAID SET RAID SHOW RAID SHOW/SPARESET RAID SHUTDOWN RAID UNBIND RAID UNBIND/SPARESET A RAID OPCOM Information Messages A.1 Message Format A.2 RAID OPCOM Messages B RAID Command Messages B.1 Message Format B.2 RAID CLI Messages ADDFAILED . . . CLONEMEMBER CMDFAIL . . . DRVNOTLOAD DUPRAIDMEM . . . INCSHAMEM INITCONFIRM . . . INVPRTSIZ INVREMOVESTATE . . . LOCALSWMIS INVDSNAME . . . NAMECONFLICT NOCHARSIZE . . . NOSYSNAMPRV NOTASSOCIATED . . . PARAMTOOLONG PARTIALMOD . . . RANOTREDUCED RAUNBOUND . . . SPARENOTFOUND SSBOUND . . . UNITSSBOUND UNITSSUPRNG . . . WRONGID C Installation Error Messages C.1 Error Messages Received During Installation C.2 Messages from the KITINSTAL %VMSINSTAL-E-VERSION . . . %VMSINSTAL-E-QUOTA_LOW C.3 Messages from the IVP %VMSINSTAL-E-IVP_MISSING . . . %VMSINSTAL-E-IVP_MISSING D QIO Interface D.1 Disk I/O Functions Glossary array capacity . . . DSSI: DIGITAL Storage Systems Interconnect exclusive OR . . . load balancing logical block number . . . populated spareset Product Authorization Key . . . RAID array RAID virtual device . . . unbind unit . . . XOR