Active Storage XRAID's CLI

Monday, May 03 2010 @ 08:08 PM EDT

Contributed by: aaron

The XRAID has a pretty GUI interface, but it's not much good for any more than the most basic setups. Thankfully, Active Storage provides a Command Line Interface that's much more powerful.

Unlike most hardware, this one isn't available from SSH or Telnet. Instead, you must download an application from their support web site. I couldn't find a permalink, but here is the current version.

The download unzips directly into the executable. No compiling, no installing. (This implies it's a Mac-only program!) You can leave the program in your Downloads folder, or move it to a more traditional location, such as /usr/local/bin.

Read more below to learn some commands!

The XRAID has a pretty GUI interface, but it's not much good for any more than the most basic setups. Thankfully, Active Storage provides a CLI that's much more powerful.

Unlike most hardware, this one isn't available from SSH or Telnet. Instead, you must download an application from their support web site. I couldn't find a pemalink, but here is the current version.

The download unzips directly into the executable. No compiling, no installing. (This implies it's a Mac-only program!) You can leave the program in your Downloads folder, or move it to a more traditional location, such as /usr/local/bin.

Open Terminal, and navigate to the folder with the executable. Then run the app, substituting your XRAID's IP address for mine. (And don't forget the "dot" at the beginning.)

./activeadmin -d 10.100.50.15

The first thing you can do is to ask for help.

10.100.50.15> help

And you'll be relieved to find a long list of actions. You can get more out of any of these:

10.100.50.15> help array

The first thing I did was to set up Network Time Protocol and Sime Network Monitoring Protocol:

10.100.50.15> time set --ntp time.apple.com 
10.100.50.15> snmp agent enable public

Then I wanted to create a custom configuration. I wanted to share the XRAID between two servers without using a fiber channel switch. One server needed only a small amount of storage, but the other needed the remainder. Since I wasn't using a switch, I wanted the first array to bind to the first FC port, and the second to bind to the other (I was using a single controller ES model).

Here's the command for the mirror:

10.100.50.15> group create "TekInfoRAID" "RAID 1" 1,2
10.100.50.15> group list
Group Name   Level   Drives  Spares
-----------  ------  ------  ------
TekInfoRAID  RAID 1  1, 2    15, 16

And the command for the large array:

10.100.50.15> group create "Hanzel" "RAID 6" 3-14        
10.100.50.15> group list
Group Name   Level   Drives                                   Spares
-----------  ------  ---------------------------------------  ------
TekInfoRAID  RAID 1  1, 2                                     15, 16
Hanzel       RAID 6  3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14  15, 16

(The spares are global spares, and were left from an earlier configuration. Of course, you can change these via the CLI too.)

Once the groups are created, we need to create arrays. I used the "--no-initial" switch to make them immediately available.

10.100.50.15> array create Hanzel 100% Hanzel --no-init
10.100.50.15> array create TekInfoRAID 100% TekInfoRAID --no-init
10.100.50.15> array list
Array Name   Type             Drive / Group  Controller
-----------  ---------------  -------------  ----------
Hanzel       Volume (RAID 6)  Hanzel         A         
TekInfoRAID  Volume (RAID 1)  TekInfoRAID    A         

Finally, we need to create the LUNs and assign them to the ports:

10.100.50.15> lun create 0 A1 Hanzel
10.100.50.15> lun create 1 A2 TekInfoRAID
10.100.50.15> lun list
LUN  Port  Array
---  ----  -----
0    A1  Hanzel
1    A2  TekInfoRAID

All the while, the Active Viewer application (and the iPhone app!) keeps up and confirms that I'm making progress.

And that is all. The LUNs are ready to be connected to their hosts and formatted.

0 comments



http://www.xsanity.com/article.php?story=20100503200304173