G A L A X Y ® A U R O U R A L S C O N F I G U R A T I O N A N D S Y S T E M I N T E G R A T I O N G U I D E
105
Section 5 Application / Technical Notes
5.3
Fibre Channel Switch Zoning
With Fibre Channel, complexities are shifted from the client to the switch (if you are using a
switch). On the client, no more software is required other than the driver for the Fibre Channel
HBA, and the operating system itself. This section will focus more on switch zoning concepts.
While it might seem that you can just take a Fibre channel switch out of the box, just plug it in,
and use it, this is not always the case. By default, a Fibre channel switch usually will act as a
hub, but a very powerful one. Any data coming in from any of the ports (by default) will be sent
to all of the other ports simultaneously. But this is not a good thing: Arrays will try to send data
to arrays, clients will try to send data to clients, and arrays and clients which were not intended
to communicate with each other will communicate. From an array management standpoint,
while this might not be a problem, it creates a lot of unnecessary traffic on the switch and
everything connected to it, which can have an adverse effect on data rates.
Earlier switches, such as 1GBit switches and some 2GBit switches used a technique called
“provisioning” to govern the connections, however it wasn’t very efficient from a management
point of view (or lack thereof). It worked like this: The clients are called initiators, and arrays
are called targets. You would flash the firmware on the switch, such that a certain number of
ports are allocated for initiators, and a certain number are allocated for targets. This would
prevent the problems with clients communicating with clients, and arrays communicating with
arrays, but it still didn’t fix the problem with clients communicating with unintended arrays and
vice-versa.
Newer switches are called “fabric switches,” and use what is called “zoning” instead of
provisioning. The term fabric is referring to a meshed grid which is formed by initiators and
targets, with the initiators and targets on the “fringe” of the grid. This is more advanced, and
solves all problems, however there is a lot of thinking which is involved, and the software can
be quite involved. The key to zoning is being able to mentally visualize the setup.
At it’s simplest, a zone is a fabric “bag” which contains ports. You can usually zone the
switches in such a way, that you can have any number of zones, with any number of ports in
each one, and they can overlap. The zone does not differentiate between an initiator or target
– they are just connection points. So, using the bag as an example, and a mechanical nut for a
target, and bolt for an initiator. You can have a bag of nuts, a bag of bolts, or a bag of nuts and
bolts.
In more complex setups, you want to avoid the pitfall of creating “mini-provisioning” problems
– to make this easy, you don’t want to have more than one nut or bolt in the same bag unless
there’s no alternative – or in real life, no more than 2 ports in one zone.
In general, you only want two-way communication – not 3 or more way communication.
Overlapping zones are OK, as long as they are thought out. As switch connections increase, it
may be necessary to have more than one switch – this is called cascading switches. The
problem is that cascading the switches kind of goes back to provisioning, in that you
can/should only have one cascade port in a zone – without any others (unless they are in
other zones). A certain 4GBit switch I know of has (24) 4GBit ports, but has (4) 10GBit
cascade ports. You obviously won’t get the throughput of 48GBits coming to/from the 4GBit
ports going at the same speed going through the 10GBit ports, so careful planning has to be
done when scaling up with switches.