Fibre Channel – Making FC Easy
Being mainly and systems guy for most of my career, the words Fibre Channel always seemed like a technology that required heavy networking training. I would like to think I know enough about basic networking to troubleshoot and remediate issues, but FC sounded like a foreign language. I found myself in a situation were I was responsible for installing a Cisco UCS without local storage and connect it to an EMC VNX5400. I worked and got the equipment was racked, powered on, configured, and all the cables connected to where they needed to go. Everything was going smoothly and working great, now it was time to setup BootFromSAN so we could bring the UCS blades online with ESXi running on them. About this time, I was told the person who knows FC is not here, you’re going to have to set it up. Initially, I found myself a little fearful and definitely concerned. I didn’t want to be the one holding up this project.
I started asking friends, researching on the internet, reading guides and everything made FC seem to be very complicated. I was determined to figure it out and get it up and running but I was still struggling to grasp the concepts. Let’s be honest Cisco guides and whitepapers are not really casual reading material. Once, I felt I had researched enough I grabbed a notebook and tried to build a plan of attack, but I stared at the paper wondering where to start.
It hit me, FC zoning is not as complicated as it seems, I just need to setup things in the right order. It may not be the correct order, but for me it makes perfect sense. I broke it down into 3 stages of setup: 1) Device-Alias 2)Zone 3)Zoneset
First thing I did was ensure everything was powered on and then logged into the 5K (which were are using for the FC Zoning). Once logged in, ensure that the vHBA initiators are showing up on the 5Ks. Run the command:
sh flogi d
This allowed me to see of the WWPN (Port Name) and WWNN (Node Name) of all the initiators hitting the switch.
To make sure that I don’t mistype anything I open notepad and copy and paste the WWPN of the initiator(s) I am trying to connect to the SAN. Once, I have the WWPN, I like to setup a device alias so we don’t have to keep trying to remember which WWPN is for which device.
To setup the device alias, Run the below and Repeat for all the initiators you want to setup an alias for.
device-alias name [NAME] pwwn [PWWN]
Note: NAME is whatever you want to name the device alias and PWWN is the intiator’s WWPN you are making an alias for
OK, so we made the device aliases we are good to move forward with zoning right? Not quite yet! The changes we made to add device-aliases to the database get put in as pending changes and have to be committed. We need to run one more command to commit the changes to the device-aliases database and make them usable going forward.
I like to verify everything is ready to go in the database, more as a sanity check than anything else. To verify the database, run the command:
show device-alias da
We should see something similar to this
Stage 1 is now complete, a device-alias is setup for all our initiators. Time to move onto creating zones. The zone will consist of the the devices that need to communicate with each other. In this example, we will have 4xSAN ports, 2XFI Ports and the UCS Blade Server vHBA. This zone setup will allow my SAN and UCS Blade to communicate and allow me to boot from SAN.
To create a new zone we run the following commands:
zone name [ZONENAME] vsan #
Note: ZONENAME is whatever we want to name the Zone and vsan # is the vsan id setup on the switch
member device-alias [ALIAS]
Note: Run this command for each alias you want to add to the zone
We can verify that our zones are setup properly by running the command, sh zone. The zone should contain all the device-aliases we need to communicate
Stage 2 is now complete, we have zones setup containing all our device-aliases. Now the final stage is to setup zonesets, which are just a group of zones. Creating a zoneset if pretty similar to setting up a zone.
To create a zoneset we run the following commands:
zoneset name [ZONESETNAME]
Note: ZONESETNAME is whatever we want to name the Zoneset
Note: Run this command for each zone you want to add to the zoneset
zoneset activate name [ZONESETNAME]
Note: This final command will activate the zoneset with the new additions.
That’s it, we should now be complete with our zoning! 3 stages and done!
After the realization that FC Zoning was not as daunting as it seemed, it became pretty simple to setup all the UCS Blades and have them booting from SAN in no time. A little practice and you could to be learning a new skill that can help you move projects forward faster.