I've now had a enough opportunities to work with Qlogic 9000 series switches and Xsan to know that there are major snags with these switches that the integrator community should be aware of.
For those of us who have worked with Qlogic's 5000 series of stackable switches, we have taken for granted two features on these switches that are turned on by default.
First, 5000 series switches are set to Soft Zoning by default. This allows a large number of ports or WWNs to be grouped together without any issue. In large stacks of 5 switches, this means that putting all 96 ports into one zone isn't a problem. Soft Zoning is defined as a "virtual zone," which encourages entities to see just themselves, but does not limit them from contacting other entities if they know of their whereabouts in the fabric. Think of it as a zone made out of waist-high stanchions: the entities are focused on each other, but if they were aware of other entities before the stanchions were placed around them, they can still contact those other entities. That is why, after rezoning on 5000 series switches, we always need to reboot the storage and computers so that they "forget" about the entities that they knew about before the establishment of the zone.
Second, 5000 series switches have a default zone. The default zone simply states that if no zones exist, then all ports see each other in one large zone. Soft zoning and default zones go hand in hand because, again, soft zones allow a large number of entities.
9000 series switches have neither of these features on by default. Read the rest of this article to fix this.
Out of the box, the 9000 switches have no default zone, which means nobody will see anything until you create some zones. When you create these zones, they are hard zones. A Hard Zone is the opposite of a soft zone, and can be analogized with brick walls: once a hard zone goes up, entities cannot see anything else nor contact anything else. It's a real zone with real boundaries (similar to a VLAN in ethernet networking). But here's the issue: hard zones can't contain more than 64 entities inside of them. What is confusing is that you are not restricted from putting more than 64 entities in a hard zone by the Qlogic web management nor Enterprise Fabric Suite. Even worse, when you get oversaturation errors on the switch, they are only visible if SNMP monitoring is configured or if you telnet into the switch.
Pretty ironic for a switch that with its 128-port capable infrastructure practically begs us to create megazones. This is especially true with Xsan, which doesn't require zoning of the switch (unless you are running broadcast operations such as ingest or playout off of it - more about that in a future article).
How did this come up in the first place, you may ask? Promise RAIDs. The controllers on Promise RAIDs react quite violently to zone oversaturation, disabling themseles and going into maintenance mode. I've also seen three distinct situations where these controllers come back online (either through rebooting or power cycling the box) only to report four to six of their drive modules as bad, usually destroying perfectly functional RAID sets in the process. Hopefully Promise will address these rather dire results in a firmware release.
For you, gentle reader, the solution is simple. Before integrating your 9000 series box into the fibre channel fabric at large, it should be powered on and either contacted via serial or telnet and told to turn on its soft zoning. There is a straighforward document that details the steps, complete with pretty screenshots.
Chris Coleman at Qlogic was gracious enough to release the document, and I've included it below.
IMPLICIT HARD ZONING CONVERSION TO SOFT ZONING
Hard vs. Soft zoning background.
Soft zones are defined as zones that are enforced in the software. They are enforced by NameServer limiting information returned on queries to those devices that are zoned together. Soft zoning does not prohibit a device from accessing another device if it has information on the address independent of the query. Hard zoning adds a level of protection on errant access by enforcing the zoning in the hardware. This will protect against errant connection attempts from devices that do not enforce Soft zones. The hardware lookup table size is limited by the hardware to 64 entries per port. If zoning is set up in a manner in which more than 64 devices have access to a port, there could be an overflow condition. The port will (attempt to) revert to soft zoning enforcement until the port is reset. It is recommended that the zoning be set up in a manner in which the zone port members are restricted to 64 per port. Additionally, there is a hardware limitation of 8 zones per hardware lookup table. This means that a given port can only be present in 8 separate zones. If this limit is exceeded, the eighth hardware zone used to bundle the remaining zones with the net effect of reverting to soft zoning for these zones.
Prior to beginning, complete a configuration backup
From a terminal connection, login to the switch via telnet or ssh Once connected, assume administrative privileges.
SANbox #> admin start SANbox <admin> config backup
Create a folder to store the switch backup configuration files, in the example below c:/tmp
Next, from your backup folder, ftp to the switch and login as user/password images/images.
Complete a “get” for the backup file named, configdata.
If you have more than one switch, either rename this file to correctly identify the file or create separate folders for each switch to be backed up.
Again, through the command line, we now view the default zoning setting.
Through your terminal interface, login to the switch.
Assume administrative privileges, admin start
Enter configuration mode, config edit
To “see” zoning configuration, you must set advanced on
Execute, show config zoning, to display Zoning Configuration Information settings. The setting that will be changed is the last option, ImplicitHZ
To enact this change, you need to set switch state offline.
While still in admin-config mode execute, set switch state offline
Now, you can change the zoning parameters. Execute set config zoning to access the zoning attributes.
Press ENTER for the first three attributes, MergeAutoSave, DefaultZone, DiscardInactive to maintain their parameter settings.
For the final attribute, ImplicitHardZoning, enter False.
Now save your new configuration, config save
Activate the new configuration, config activate
And finally, reset the switch, reset switch
For confirmation of your changes, log back into switch to confirm changes are in effect.
Once connected, assume administrative privileges, admin start
Again, set advanced mode on, set advanced on
Execute, show config zoning
Notice that the final parameter, ImplicitHZ is now set to False.