This article contains a script used to configure Promise VTrak RAID Controllers and SAS-connected Expansion Chassis: Xsan (Metadata and Data) configuration script - E5800f + (3) J5600s

To create the configuration script, copy the text below beginning with the line "#Begin Copy" to the line "#End Copy" and paste the text into TextEdit, using these guidelines. Once you've created the script, follow the guidelines in this article to import the configuration script.

#Begin Copy 
#
# Promise VTrak E5800f + (3) J5600s Configuration Script
#
# Script Name: RAID Controllers and 3 SAS-connected Expansion Chassis: Xsan (Metadata and Data)
#
#
# Script Details: builds 10 LUNs from 72 drives (head + 3 expansion units)
# in the recommended configuration for use with Xsan and StorNext
#
# Script Assumptions: no arrays or logical drives created
# (uncomment out array deletion if needed)
# script works with either SATA or SAS configurations
#
# Global controller settings
# LUN Affinity: enabled [required]
# ALUA: enabled [required]
# Adaptive Writeback Cache: enabled [optional]
# Host Cache Flushing: disabled [optional]
# Forced Read Ahead: enabled [optional]
#
ctrl -a mod -s "lunaffinity=enable, alua=enable, adaptivewbcache=enable, hostcacheflushing=disable, forcedreadahead=enable"
#
# Delete any existing arrays
# Delete array 0 thru 9
#
#array -a del -d 0
#array -a del -d 1
#array -a del -d 2
#array -a del -d 3
#array -a del -d 4
#array -a del -d 5
#array -a del -d 6
#array -a del -d 7
#array -a del -d 8
#array -a del -d 9
#
# Build MDC LUN
# RAID level: 1
# Physical Drives: 1, 2
# Alias: MDC
# Controller Affinity: 1
# Configuration options: Capacity all (default), 64K stripe size (default),
# 512 byte sector (default), Read Cache, Write Back
#
array -a add -p 1,2 -s "alias=MDC" -l "alias=MDC, raid=1, readpolicy=readcache, writepolicy=writeback, preferredctrlid=1"
#
# Build Audio/Scratch LUN
# RAID level: 5
# Physical Drives: 21, 22, 23, 24
# Alias: Scratch
# Controller Affinity: 2
# Configuration options: Capacity all (default), 64K stripe size (default),
# 512 byte sector (default), Read Ahead, Write Back
#
array -a add -p 21,22,23,24 -s "alias=Scratch" -l "alias=Scratch, raid=5, readpolicy=readahead, writepolicy=writeback, preferredctrlid=2"
#
# Build Data1 LUN
# RAID level: 6
# Physical Drives: 5, 6, 9, 10, 13, 14, 17, 18
# Alias: Data1
# Controller Affinity: 1
# Configuration options: Capacity all (default), 1MB stripe size,
# 512 byte sector (default), Read Ahead, Write Back
#
array -a add -p 5,6,9,10,13,14,17,18 -s "alias=Data1" -l "alias=Data1, raid=6, stripe=1mb, readpolicy=readahead, writepolicy=writeback, preferredctrlid=1"
#
# Build Data2 LUN
# RAID level: 6
# Physical Drives: 7, 8, 11, 12, 15, 16, 19, 20
# Alias: Data2
# Controller Affinity: 2
# Configuration options: Capacity all (default), 1MB stripe size,
# 512 byte sector (default), Read Ahead, Write Back
#
array -a add -p 7,8,11,12,15,16,19,20 -s "alias=Data2" -l "alias=Data2, raid=6, stripe=1mb, readpolicy=readahead, writepolicy=writeback, preferredctrlid=2"
#
# Build Data3 LUN
# RAID level: 6
# Physical Drives: 25, 26, 29, 30, 33, 34, 37, 38
# Alias: Data3
# Controller Affinity: 1
# Configuration options: Capacity all (default), 1MB stripe size,
# 512 byte sector (default), Read Ahead, Write Back
#
array -a add -p 25,26,29,30,33,34,37,38 -s "alias=Data3" -l "alias=Data3, raid=6, stripe=1mb, readpolicy=readahead, writepolicy=writeback, preferredctrlid=1"
#
# Build Data4 LUN
# RAID level: 6
# Physical Drives: 27, 28, 31, 32, 35, 36, 39, 40
# Alias: Data4
# Controller Affinity: 2
# Configuration options: Capacity all (default), 1MB stripe size,
# 512 byte sector (default), Read Ahead, Write Back
#
array -a add -p 27,28,31,32,35,36,39,40 -s "alias=Data4" -l "alias=Data4, raid=6, stripe=1mb, readpolicy=readahead, writepolicy=writeback, preferredctrlid=2"
#
# Build Data5 LUN
# RAID level: 6
# Physical Drives: 41, 42, 45, 46, 49, 50, 53, 54
# Alias: Data5
# Controller Affinity: 1
# Configuration options: Capacity all (default), 1MB stripe size,
# 512 byte sector (default), Read Ahead, Write Back
#
array -a add -p 41,42,45,46,49,50,53,54 -s "alias=Data5" -l "alias=Data5, raid=6, stripe=1mb, readpolicy=readahead, writepolicy=writeback, preferredctrlid=1"
#
# Build Data6 LUN
# RAID level: 6
# Physical Drives: 43, 44, 47, 48, 51, 52, 55, 56
# Alias: Data6
# Controller Affinity: 2
# Configuration options: Capacity all (default), 1MB stripe size,
# 512 byte sector (default), Read Ahead, Write Back
#
array -a add -p 43,44,47,48,51,52,55,56 -s "alias=Data6" -l "alias=Data6, raid=6, stripe=1mb, readpolicy=readahead, writepolicy=writeback, preferredctrlid=2"
#
# Build Data7 LUN
# RAID level: 6
# Physical Drives: 57, 58, 61, 62, 65, 66, 69, 70
# Alias: Data7
# Controller Affinity: 1
# Configuration options: Capacity all (default), 1MB stripe size,
# 512 byte sector (default), Read Ahead, Write Back
#
array -a add -p 57,58,61,62,65,66,69,70 -s "alias=Data7" -l "alias=Data7, raid=6, stripe=1mb, readpolicy=readahead, writepolicy=writeback, preferredctrlid=1"
#
# Build Data8 LUN
# RAID level: 6
# Physical Drives: 59, 60, 63, 64, 67, 68, 71, 72
# Alias: Data8
# Controller Affinity: 2
# Configuration options: Capacity all (default), 1MB stripe size,
# 512 byte sector (default), Read Ahead, Write Back
#
array -a add -p 59,60,63,64,67,68,71,72 -s "alias=Data8" -l "alias=Data8, raid=6, stripe=1mb, readpolicy=readahead, writepolicy=writeback, preferredctrlid=2"
#
# Set up global spares
# Physical Drives: 3, 4
# Type: Global spares, Revertible
#
spare -a add -p 3 -t g -r y
spare -a add -p 4 -t g -r y
#
# Perform Quick Init on all LUNs
# Note: Ensure any stale filesystem data is destroyed
#
init -a start -l 0 -q 100
init -a start -l 1 -q 100
init -a start -l 2 -q 100
init -a start -l 3 -q 100
init -a start -l 4 -q 100
init -a start -l 5 -q 100
init -a start -l 6 -q 100
init -a start -l 7 -q 100
init -a start -l 8 -q 100
init -a start -l 9 -q 100
#
# END
#
#End Copy

For more information about options configured by this script, see Promise VTrak: Configuring for Optimal Performance (E5000 Series)