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.