When you create a second (third, fourth,…) storage pool in your Xsan volume and use the Apple Xsan 2 certified Promise RAIDs, you might only want to create data LUNs on these RAIDs, as you already store your metadata for this volume somewhere else.

Apple and Promise provide you with config scripts for the Promise RAIDs, of which one is supposed to configure pure data LUNs for Xsan environments.
You find their script here (works with SATA drives).

Yet, if you look at the script, you will see, that this part

array -a add -p 13,14,15 -s "alias=Scratch1" -c 1 -l "alias=Scratch1,raid=5,readpolicy=readahead,writepolicy=writeback, preferredctrlid=1"

creates a third LUN on your RAID, which is made of three disks working as RAID level 5. This LUN, called “Scratch”, co-exists with two other LUNs, named “Data1″ and “Data2″, which contain six disks each.

If two Promise RAIDs make one Xsan volume, you would probably use this script to configure the first RAID with two mirrored disks for metadata, six RAID 5 disks for LUN Data1, six RAID 5 disks for LUN Data2, and two global hotspare disks.
If now you add a second RAID, you need to configure LUNs of the same size like the ones on the first RAID.

That’s why Apple’s script for data only RAIDs creates to six disks RAID level 5 arrays.
As this leaves us four empty disks, Apple decided to create a third LUN based on three disks, which then you can format using HFS+ for Final Cut Pro project files (You would then use zoning on your FC switch to mount this scratch LUN on one machine only, which uses AFP to reshare this volume with your FCP clients). Also, this leaves one more disk free, which is then set up as a global hotspare disk.

Though this thinking is completely correct, some of us might want to add Promise RAIDs to an already existing Xsan volume. If your older RAIDs are Apple Xserve RAIDs, you might want to create an extra storage pool for your Promise RAIDs (see http://support.apple.com/kb/HT1110).

Probably you don’t want to create the third scratch LUN on each of your RAIDs if all you need is more sped and capacity for your Xsan volume.

So open up Apple’s config script in your favorite text editor (vi, nano, BBEdit,…), and do the following:

  • Change array -a add -p 1,2,5,6,9,10 -s "alias=Data1" -c 1 -l "alias=Data1,raid=5,readpolicy=readahead,writepolicy=writeback, preferredctrlid=1" to array -a add -p 1,2,5,6,9,10,13 -s "alias=Data1" -c 1 -l "alias=Data1,raid=5,readpolicy=readahead,writepolicy=writeback, preferredctrlid=1"
    During import this will later create the first seven disks RAID level 5 data LUN.
  • Change array -a add -p 3,4,7,8,11,12 -s "alias=Data2" -c 1 -l "alias=Data2,raid=5,readpolicy=readahead,writepolicy=writeback, preferredctrlid=2 to array -a add -p 3,4,7,8,11,12,14 -s "alias=Data2" -c 1 -l "alias=Data2,raid=5,readpolicy=readahead,writepolicy=writeback, preferredctrlid=2
    This will later create the second seven disks RAID level 5 data LUN.
  • Delete array -a add -p 13,14,15 -s "alias=Scratch1" -c 1 -l "alias=Scratch1,raid=5,readpolicy=readahead,writepolicy=writeback, preferredctrlid=1"
    Now the script won’t create the scratch LUN anymore.
  • Change spare -a add -p 16 -t g -r y to spare -a add -p 15,16 -t g -r y
    This will set up two hotspare drives.
  • To make it perfect, delete init -a start -l 2 -q 100
    This wil prevent the script from trying to initialize the scratch LUN (which will not be created by our script).
  • All commands you find in the Apple config scripts can be either imported as a script via the GUI or manually entered in the CLI of the RAID.
    They even work with the original Promise VTrak E610f RAIDs.

    Yet, make sure you upgrade your Promise RAID’s firmware to 3.28.0000.00 before you import the script, otherwise with 3.22.0000.00 it will not understand the part hostcacheflushing=disable, additionally config script import will only be possible on the CLI with older firmware versions. (BTW, the Apple certified Promise RAIDs come with 3.29.0000.00 pre-installed, which can not be downloaded from the Promise site).

    ATTENTION: USE THIS INFORMATION AT YOUR OWN RISK!

Posted on by André Aulich. This entry was posted in Mac OS X, Mac OS X Server, Xsan/StorNext.

Comments are closed.