Due to a bug with the Cisco mds9000 fibre switch and some power blades cause a race condition to happen. The end result is the MDS switch doesn’t remove the Blade server WWNs. When that system is (re)booted and polls the MDS switch, the MDS switch already ‘sees’ that WWN(s) and ignores the request. This of course doesn’t go well for the blade server, as it can’t access it’s LUNs.
This document provides a sanity check to validate that we are enabling/disabling the correct paths on the server.
The basic strategy is as follows:
1) Disable all the disk paths to a single fibre channel adapter on the blade server 2) Reset the port on the core Cisco MDS9000 switch that corresponds to the paths we just disabled 3) Enable all the disk paths that were disabled in step 1 4) Confirm all the paths came back normally 5) Repeat steps 1-4 for the other fibre channel adapter on the blade server
This document provides a sanity check to validate that we are enabling/disabling the correct paths on the blade server.
We can see that the blade server has paths running across the fscsi2 and fscsi3 fibre channel adapters.
# lspath Enabled hdisk0 sas0 Enabled hdisk1 fscsi2 Enabled hdisk2 fscsi2 Enabled hdisk3 fscsi2 Enabled hdisk4 fscsi2 Enabled hdisk5 fscsi2 Enabled hdisk6 fscsi2 Enabled hdisk7 fscsi2 Enabled hdisk8 fscsi2 Enabled hdisk9 fscsi2 Enabled hdisk10 fscsi2 Enabled hdisk11 fscsi2 Enabled hdisk12 fscsi2 Enabled hdisk13 fscsi2 Enabled hdisk14 fscsi2 Enabled hdisk15 fscsi2 Enabled hdisk16 fscsi2 Enabled hdisk17 fscsi2 Enabled hdisk18 fscsi2 Enabled hdisk19 fscsi2 Enabled hdisk20 fscsi2 Enabled hdisk21 fscsi2 Enabled hdisk22 fscsi2 Enabled hdisk23 fscsi2 Enabled hdisk24 fscsi2 Enabled hdisk25 fscsi2 Enabled hdisk26 fscsi2 Enabled hdisk27 fscsi2 Enabled hdisk28 fscsi2 Enabled hdisk29 fscsi2 Enabled hdisk30 fscsi2 Enabled hdisk31 fscsi2 Enabled hdisk32 fscsi2 Enabled hdisk1 fscsi2 Enabled hdisk2 fscsi2 Enabled hdisk3 fscsi2 Enabled hdisk4 fscsi2 Enabled hdisk5 fscsi2 Enabled hdisk6 fscsi2 Enabled hdisk7 fscsi2 Enabled hdisk8 fscsi2 Enabled hdisk9 fscsi2 Enabled hdisk10 fscsi2 Enabled hdisk11 fscsi2 Enabled hdisk12 fscsi2 Enabled hdisk13 fscsi2 Enabled hdisk14 fscsi2 Enabled hdisk15 fscsi2 Enabled hdisk16 fscsi2 Enabled hdisk17 fscsi2 Enabled hdisk18 fscsi2 Enabled hdisk19 fscsi2 Enabled hdisk20 fscsi2 Enabled hdisk21 fscsi2 Enabled hdisk22 fscsi2 Enabled hdisk23 fscsi2 Enabled hdisk24 fscsi2 Enabled hdisk25 fscsi2 Enabled hdisk26 fscsi2 Enabled hdisk27 fscsi2 Enabled hdisk28 fscsi2 Enabled hdisk29 fscsi2 Enabled hdisk30 fscsi2 Enabled hdisk31 fscsi2 Enabled hdisk32 fscsi2 Enabled hdisk1 fscsi3 Enabled hdisk2 fscsi3 Enabled hdisk3 fscsi3 Enabled hdisk4 fscsi3 Enabled hdisk5 fscsi3 Enabled hdisk6 fscsi3 Enabled hdisk7 fscsi3 Enabled hdisk8 fscsi3 Enabled hdisk9 fscsi3 Enabled hdisk10 fscsi3 Enabled hdisk11 fscsi3 Enabled hdisk12 fscsi3 Enabled hdisk13 fscsi3 Enabled hdisk14 fscsi3 Enabled hdisk15 fscsi3 Enabled hdisk16 fscsi3 Enabled hdisk17 fscsi3 Enabled hdisk18 fscsi3 Enabled hdisk19 fscsi3 Enabled hdisk20 fscsi3 Enabled hdisk21 fscsi3 Enabled hdisk22 fscsi3 Enabled hdisk23 fscsi3 Enabled hdisk24 fscsi3 Enabled hdisk25 fscsi3 Enabled hdisk26 fscsi3 Enabled hdisk27 fscsi3 Enabled hdisk28 fscsi3 Enabled hdisk29 fscsi3 Enabled hdisk30 fscsi3 Enabled hdisk31 fscsi3 Enabled hdisk32 fscsi3 Enabled hdisk1 fscsi3 Enabled hdisk2 fscsi3 Enabled hdisk3 fscsi3 Enabled hdisk4 fscsi3 Enabled hdisk5 fscsi3 Enabled hdisk6 fscsi3 Enabled hdisk7 fscsi3 Enabled hdisk8 fscsi3 Enabled hdisk9 fscsi3 Enabled hdisk10 fscsi3 Enabled hdisk11 fscsi3 Enabled hdisk12 fscsi3 Enabled hdisk13 fscsi3 Enabled hdisk14 fscsi3 Enabled hdisk15 fscsi3 Enabled hdisk16 fscsi3 Enabled hdisk17 fscsi3 Enabled hdisk18 fscsi3 Enabled hdisk19 fscsi3 Enabled hdisk20 fscsi3 Enabled hdisk21 fscsi3 Enabled hdisk22 fscsi3 Enabled hdisk23 fscsi3 Enabled hdisk24 fscsi3 Enabled hdisk25 fscsi3 Enabled hdisk26 fscsi3 Enabled hdisk27 fscsi3 Enabled hdisk28 fscsi3 Enabled hdisk29 fscsi3 Enabled hdisk30 fscsi3 Enabled hdisk31 fscsi3 Enabled hdisk32 fscsi3 Enabled hdisk1 fscsi3 Enabled hdisk2 fscsi3 Enabled hdisk3 fscsi3 Enabled hdisk4 fscsi3 Enabled hdisk5 fscsi3 Enabled hdisk6 fscsi3 Enabled hdisk7 fscsi3 Enabled hdisk8 fscsi3 Enabled hdisk9 fscsi3 Enabled hdisk10 fscsi3 Enabled hdisk11 fscsi3 Enabled hdisk12 fscsi3 Enabled hdisk13 fscsi3 Enabled hdisk14 fscsi3 Enabled hdisk15 fscsi3 Enabled hdisk16 fscsi3 Enabled hdisk17 fscsi3 Enabled hdisk18 fscsi3 Enabled hdisk19 fscsi3 Enabled hdisk20 fscsi3 Enabled hdisk21 fscsi3 Enabled hdisk22 fscsi3 Enabled hdisk23 fscsi3 Enabled hdisk24 fscsi3 Enabled hdisk25 fscsi3 Enabled hdisk26 fscsi3 Enabled hdisk27 fscsi3 Enabled hdisk28 fscsi3 Enabled hdisk29 fscsi3 Enabled hdisk30 fscsi3 Enabled hdisk31 fscsi3 Enabled hdisk32 fscsi3
The WWN’s of those two adapters are:
$ hostname server01 $ lscfg -vl fcs2 | grep Network Network Address.............1000005D495D3250 $ lscfg -vl fcs3 | grep Network Network Address.............1001005D495D3251
Those WWN’s are each connected to a different core Cisco switch
- fcs2 – 1000005D495D3250 – sw2 fc1/3
- fcs3 – 1001005D495D3251 – sw1 fc10/4
The first reset will be the switch port on sw1-fc10/4 that the 1001005D495D3251 WWN is connected to. You will note that WWN is from the fcs3 adapter. We will disable all of the paths going through the fcs3 fibre channel adapter with the following command:
lspath | grep fscsi3 | awk '{print "chpath -s Disabled -l " $2 " -p " $3}' | sort | uniq chpath -s Disabled -l hdisk1 -p fscsi3 chpath -s Disabled -l hdisk2 -p fscsi3 chpath -s Disabled -l hdisk3 -p fscsi3 chpath -s Disabled -l hdisk4 -p fscsi3 chpath -s Disabled -l hdisk5 -p fscsi3 chpath -s Disabled -l hdisk6 -p fscsi3 chpath -s Disabled -l hdisk7 -p fscsi3 chpath -s Disabled -l hdisk8 -p fscsi3 chpath -s Disabled -l hdisk9 -p fscsi3 chpath -s Disabled -l hdisk10 -p fscsi3 chpath -s Disabled -l hdisk11 -p fscsi3 chpath -s Disabled -l hdisk12 -p fscsi3 chpath -s Disabled -l hdisk13 -p fscsi3 chpath -s Disabled -l hdisk14 -p fscsi3 chpath -s Disabled -l hdisk15 -p fscsi3 chpath -s Disabled -l hdisk16 -p fscsi3 chpath -s Disabled -l hdisk17 -p fscsi3 chpath -s Disabled -l hdisk18 -p fscsi3 chpath -s Disabled -l hdisk19 -p fscsi3 chpath -s Disabled -l hdisk20 -p fscsi3 chpath -s Disabled -l hdisk21 -p fscsi3 chpath -s Disabled -l hdisk22 -p fscsi3 chpath -s Disabled -l hdisk23 -p fscsi3 chpath -s Disabled -l hdisk24 -p fscsi3 chpath -s Disabled -l hdisk25 -p fscsi3 chpath -s Disabled -l hdisk26 -p fscsi3 chpath -s Disabled -l hdisk27 -p fscsi3 chpath -s Disabled -l hdisk28 -p fscsi3 chpath -s Disabled -l hdisk29 -p fscsi3 chpath -s Disabled -l hdisk30 -p fscsi3 chpath -s Disabled -l hdisk31 -p fscsi3 chpath -s Disabled -l hdisk32 -p fscsi3
Now that the paths have been disabled, the SAN Administrator will reset the appropriate port on the MDS9000 switch. (This is done in the gui for the affected switch).
After the Cisco MDS9000 switch port that the above WWN is connected to has been reset, we will re-enable the above paths with the following command:
lspath | grep fscsi3 | awk '{print "chpath -s Enabled -l " $2 " -p " $3}' | sort | uniq chpath -s Enabled -l hdisk1 -p fscsi3 chpath -s Enabled -l hdisk2 -p fscsi3 chpath -s Enabled -l hdisk3 -p fscsi3 chpath -s Enabled -l hdisk4 -p fscsi3 chpath -s Enabled -l hdisk5 -p fscsi3 chpath -s Enabled -l hdisk6 -p fscsi3 chpath -s Enabled -l hdisk7 -p fscsi3 chpath -s Enabled -l hdisk8 -p fscsi3 chpath -s Enabled -l hdisk9 -p fscsi3 chpath -s Enabled -l hdisk10 -p fscsi3 chpath -s Enabled -l hdisk11 -p fscsi3 chpath -s Enabled -l hdisk12 -p fscsi3 chpath -s Enabled -l hdisk13 -p fscsi3 chpath -s Enabled -l hdisk14 -p fscsi3 chpath -s Enabled -l hdisk15 -p fscsi3 chpath -s Enabled -l hdisk16 -p fscsi3 chpath -s Enabled -l hdisk17 -p fscsi3 chpath -s Enabled -l hdisk18 -p fscsi3 chpath -s Enabled -l hdisk19 -p fscsi3 chpath -s Enabled -l hdisk20 -p fscsi3 chpath -s Enabled -l hdisk21 -p fscsi3 chpath -s Enabled -l hdisk22 -p fscsi3 chpath -s Enabled -l hdisk23 -p fscsi3 chpath -s Enabled -l hdisk24 -p fscsi3 chpath -s Enabled -l hdisk25 -p fscsi3 chpath -s Enabled -l hdisk26 -p fscsi3 chpath -s Enabled -l hdisk27 -p fscsi3 chpath -s Enabled -l hdisk28 -p fscsi3 chpath -s Enabled -l hdisk29 -p fscsi3 chpath -s Enabled -l hdisk30 -p fscsi3 chpath -s Enabled -l hdisk31 -p fscsi3 chpath -s Enabled -l hdisk32 -p fscsi3
Now confirm all the paths on the blade server are in an enabled state using # lspath
NOTE: If all the paths are not in an Enabled state, stop here and troubleshoot. Do not continue until all the paths are in an Enabled state.
If all the paths are in an enabled state, then one can move on to the next adapter and follow the procedure above to reset the SAN ports.
1 thought on “Cisco MDS9000 bug and work-around”
Comments are closed.