Brocade – Alias and Zone syntax. Or how FOS is a love / hate thing.

I’ve been spending a lot of time recently working through some storage performance issues at a client. One of the outcomes of this work was that a serious amount of remediation was required within their two FC fabrics, as they were running a lot of multi-initiator – multi-target zoning and other crazy stuff. I spent a lot of time rebuilding the configs for the Brocade-based fabrics, and had a colleague double-check my work.

Now, for those of you playing along at home, you might remember that I’ve spent the last 7 years or so working primarily on Cisco MDS environments, so doing work with Brocade gear was meant to be a refreshing change. And for the most part it was. In any case, I generated 148 new aliases and 365 new zone sets, and hoped like heck I hadn’t missed anything.

Here’s the syntax of the commands I was using.

alicreate "SAN1_SPA5","50:06:01:65:3e:a0:1e:d7"
alicreate "SAN1_SPB4","50:06:01:6c:3e:a0:1e:d7"
alicreate "A-HOST1_HBA0","20:00:00:00:c9:53:71:ba"
zonecreate "A-HOST1_HBA0_SAN1_SPA5","A-HOST1_HBA0;SAN1_SPA5"
zonecreate "A-HOST1_HBA0_SAN1_SPB4","A-HOST1_HBA0;SAN1_SPB4"
cfgcreate "PROD1","A-HOST1_HBA0_SAN1_SPA5"
cfgadd "PROD1","A-HOST1_HBA0_SAN1_SPB4"
cfgsave
cfgenable "PROD1"

In this example, I’m creating an alias for two FE ports on a VNX and one host port, zoning them together, and creating a new configuration and adding the zone sets to it. The naming convention I generally use is HOSTNAME_HBAx. Nothing spectacular, and it all looks okay in theory. Except when I saved and enable the configuration, a whole bunch of hosts were missing paths. Anyway, great story Dan, but what was the problem?

Dashes.

Seriously, the problem was dashes in the aliases. The CLI was just ignoring them. Change those to underscores and you’re good to go.

Am I overreacting when I feel really disappointed that this is still a thing with FOS 7.x? If someone wants to set me straight I’m happy to hear the whys and wherefores about this. In the end it was all sorted fairly rapidly, and there were no outages which was great.

Get cracking with Stormons 1.3.2 GA

I covered the release of Stormons 1.3.2 GA here and mentioned a few of the highlights of the new version. In between doing some vCD stuff and the general faffing about that seems to happen at this time of year, I’ve had a chance to install it on my lab PC and monitor our two CX4-120s. I’m not going to regurgitate the installation manual (which can be downloaded from here). I thought it might be more useful if I covered off the bits that weren’t obvious to me when I first installed the product. Note that if you’re used to deploying web apps and familiar with Apache configuration files, you won’t have as much of an issue with getting this working as I did. As it happens, I’m more idiot than savant when it comes to these things so it took me a little longer than it should have to get going.

Windows Server 2003 is listed as the supported OS. I used 32-bit Windows 7, as that was the OS on my laptop at the time. I used Apache 2.2 as the web server. There’s a bunch of supported models listed in the installation guide, but I’ve only used this product with EMC CLARiiON CX4 arrays. I can’t speak for its usefulness with NetApp FAS, EMC Symmetrix, EMC Celerra or Brocade FC devices.

I copied the extracted (and renamed) installation files to C:\tools\ and set the System Variable accordingly. Here’re the changes I made to my httpd.conf file to get things working. If I’ve done things really badly, feel free to chime in.

The first bit is to add a Directory for the location of the SM1.3 installation.

# STORMONS 
<Directory "C:/tools/SM1.3/http">
SetEnv STORMONS_HOME "C:/tools/SM1.3"
AllowOverride None
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
</Directory>

I then added in Aliases for the /SM and other directories.

# STORMONS
Alias /SM "C:/tools/SM1.3/http"
Alias /capa_spk "C:/tools/SM1.3/repository/capacity/spk"
Alias /perf_spk "C:/tools/SM1.3/repository/performance/spk"

I also uncommented the .cgi handler under

AddHandler cgi-script .cgi

And that was it from the Apache side of things. After that I ran through the Stormons configuration as per the installation guide, setting paths to various binaries, etc. Note that if you’ve just copied RRDtool from the internet it’s worth running it first. I was missing the msvcr100.dll and it was crapping out without my knowledge (re-installing the Visual Studio 2008 redistributable fixed that). When you’re installing the Stormons polling service, make sure that you’re running a command prompt with sufficient privileges to install services, or you won’t get any useful results. I’m still having problems with RRDtool drawing pictures, but I’m working on that.

I’m hoping to do a more thorough run-through on some of the stuff you can do with Stormons in the next week or two.

Stormons 1.3.2 GA Released

Didier from Stormons recently got in contact (I knew a degree in French would eventually come in handy for something) to let me know that Stormons 1.3.2 GA has now been released. I’ve been meaning to give this tool a run in the lab for a while now, and I’m hopeful that I can do something in the next few weeks when work gets a bit quieter. You can download pre-compiled Windows (32 and 64-bit) binaries or Linux source code here. I won’t go into all of the features now, but here’re a few highlights:

In terms of the code, it is comprised of 43000 lines of Perl 5.14, 70 HTML reports, a multi-threaded engine and a scheduler.

Some reports offer the ability to compare configurations between two dates (helpful for trending and capacity planning).

Detailed alerts can be created.

“Storage Classes” can be created and used as a basis for Chargeback reports.

There’s a bunch of other features, including support for Brocade fabric traffic monitoring and some Nagios integration. And, as mentioned previously, there’s 70 HTML reports covering RAID Groups, CX Storage Pools, MirrorView, NetApp Volumes, Celerra LUNs, and so on. The program has been written for storage admins by a storage admin. I’m looking forward to testing it out on our CX4s, and Mat might even have a little less work to do as a result.

Brocade – 2 simple, yet useful commands

A few Brocade CLI commands to lighten the post-Christmas mood are in order. These two are very basic, but I invariably forget them at inopportune moments. Like when I realise I’ve already logged in to 20 switches and haven’t retrieved quite all of the information that I should have. Without further ado, I present to you firmwareShow and chassisShow.

login as: username
username@fc1.dc1.network.internal's password:

fc1_dc1:username> firmwareshow
Slot Name       Appl     Primary/Secondary Versions               Status
--------------------------------------------------------------------------
  5  CP0        FOS      v6.3.0d                                  STANDBY
                         v6.3.0d
  6  CP1        FOS      v6.3.0d                                  ACTIVE *
                         v6.3.0d
  7  FR4-18i    FOS      v6.3.0d
                         v6.3.0d

fc1_dc1:username> chassisshow

Chassis Backplane Revision: D3

SW BLADE  Slot: 1
Header Version:         2
Power Consume Factor:   -55
Factory Part Num:       60-0200447-02
Factory Serial Num:     SR040001175
Manufacture:            Day: 19  Month:  2  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1945 days
Time Awake:             338 days

SW BLADE  Slot: 2
Header Version:         2
Power Consume Factor:   -55
Factory Part Num:       60-0200447-02
Factory Serial Num:     SR040002467
Manufacture:            Day: 18  Month:  3  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1947 days
Time Awake:             338 days

SW BLADE  Slot: 3
Header Version:         2
Power Consume Factor:   -55
Factory Part Num:       60-0200447-02
Factory Serial Num:     SR040003307
Manufacture:            Day:  6  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1945 days
Time Awake:             338 days

SW BLADE  Slot: 4
Header Version:         2
Power Consume Factor:   -55
Factory Part Num:       60-0200447-02
Factory Serial Num:     SR040003236
Manufacture:            Day:  6  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1946 days
Time Awake:             338 days

CP BLADE  Slot: 5
Header Version:         2
Power Consume Factor:   -70
Factory Part Num:       60-0201837-02
Factory Serial Num:     SP040002669
Manufacture:            Day:  7  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1935 days
Time Awake:             327 days

CP BLADE  Slot: 6
Header Version:         2
Power Consume Factor:   -70
Factory Part Num:       60-0201837-03
Factory Serial Num:     SP040002934
Manufacture:            Day: 18  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             479 days
Time Awake:             338 days

AP BLADE  Slot: 7
Header Version:         2
Power Consume Factor:   -180
Factory Part Num:       60-0000659-14
Factory Serial Num:     UG030001298
Manufacture:            Day:  6  Month:  9  Year: 2007
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1213 days
Time Awake:             338 days

POWER SUPPLY  Unit: 1
Header Version:         2
Power Consume Factor:   1000
Factory Part Num:       23-0200006-02
Factory Serial Num:     FL2L9004150
Manufacture:            Day: 27  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1944 days
Time Awake:             338 days

POWER SUPPLY  Unit: 2
Header Version:         2
Power Consume Factor:   1000
Factory Part Num:       23-0200006-02
Factory Serial Num:     FL2L9003839
Manufacture:            Day: 27  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1945 days
Time Awake:             338 days

POWER SUPPLY  Unit: 3
Header Version:         2
Power Consume Factor:   1000
Factory Part Num:       23-0200006-03
Factory Serial Num:     FL2L9025027
Manufacture:            Day: 11  Month: 10  Year: 2007
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1195 days
Time Awake:             338 days

POWER SUPPLY  Unit: 4
Header Version:         2
Power Consume Factor:   1000
Factory Part Num:       23-0200006-03
Factory Serial Num:     FL2L9025921
Manufacture:            Day: 17  Month: 10  Year: 2007
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1195 days
Time Awake:             338 days

FAN  Unit: 1
Header Version:         2
Power Consume Factor:   -50
Factory Part Num:       60-0201665-01
Factory Serial Num:     FM060012488
Manufacture:            Day: 27  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1945 days
Time Awake:             338 days

FAN  Unit: 2
Header Version:         2
Power Consume Factor:   -50
Factory Part Num:       60-0201665-01
Factory Serial Num:     FM060012489
Manufacture:            Day: 27  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1945 days
Time Awake:             338 days

FAN  Unit: 3
Header Version:         2
Power Consume Factor:   -50
Factory Part Num:       60-0201665-01
Factory Serial Num:     FM060012474
Manufacture:            Day: 27  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1945 days
Time Awake:             338 days

CHASSIS/WWN  Unit: 1    (in same assembly as WWN Unit: 2)
Header Version:         2
Power Consume Factor:   -3
Factory Part Num:       60-0311101-02
Factory Serial Num:     QV060003228
Manufacture:            Day: 27  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1945 days
Time Awake:             338 days
ID:                     IBM0000CA
Part Num:               0021090000M48
Serial Num:             100308A
WWN  Unit: 2            (in same assembly as WWN Unit: 1)
Header Version:         2
Power Consume Factor:   -3
Factory Part Num:       60-0200834-01
Factory Serial Num:     FS040004494
Manufacture:            Day: 27  Month:  4  Year: 2006
Update:                 Day:  4  Month:  1  Year: 2012
Time Alive:             1945 days
Time Awake:             338 days

Chassis Factory Serial Num: QV060003448
fc1_dc1:username>

Updated Articles Page

I’ve added another article to my articles page. This one covers the basics of initial configuration of various FC switches. It’s a little dated in places, but I found it a handy reference when I was deploying a lot of different vendors’ solutions in the field. You may find useful as well.

Brocade interop mode 0

I had the joy of finishing off a data migration project on the weekend. The final step was to remove some McData Spherion 4500 FC switches from a stretched fabric. Normally, I’d just move some cables and ISLs about and rip out the switches (do you like my calculated approach to infrastructure projects?). However, in this instance, the McData switches were the last ones in the fabric and the fabric was running McData OpenFabric mode (aka interop mode 3). Pulling out the switches wasn’t really a problem, as the Brocade SilkWorm 300 switches that were left just took over and kept things going under interop mode 3. Cool, let’s get out of here now …

The problem was that the client really wanted to go back to native mode. So we were running versions 6.1.0c and 6.2.0c on the Brocade switches, and version 9.7.2 on the McData switches. When I changed the switches back to interop mode 0 (aka “native” mode), the zoning information all went and disappeared. 96 zonesets, 63 aliases and 1 configuration save later we were all up and running again. But I did think that maybe I could have saved myself 3 hours of copy and paste if I’d somehow done things a little smarter.