It is definitely not convenient to configure a zone or any CFS application using WWpN.
20:ab:3d:2c:4f:89:fa:ab is not very human readable and it is definitely not efficient to keep traces of the WWpN in your MDS configuration.
Device-alias is a proprietary feature created by Cisco to make your life much easier. It will map an human readable description to WWpN.
Let’s first setup our infrastructure for this blogpost and it’s a rather simple topology, but it sums up what we are trying to achieve:

Let’s first setup our VSANS,FCDOMAINS and E ports on both MDS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
vsan database vsan 100 name "VSAN100" vsan 200 name "VSAN200" fcdomain domain 0x01 preferred vsan 100 fcdomain domain 0x01 preferred vsan 200 interface fc1/1 switchport rate-mode dedicated switchport mode E switchport trunk allowed vsan 100 switchport trunk allowed vsan add 200 interface fc1/2 switchport rate-mode dedicated switchport mode E switchport trunk allowed vsan 100 switchport trunk allowed vsan add 200 |
I wanted MDS02 to be our principle switch for both VSANS into our very large fabric. 🙂
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
vsan database vsan 100 name "VSAN100" vsan 200 name "VSAN200" fcdomain domain 0x02 preferred vsan 100 fcdomain domain 0x02 preferred vsan 200 fcdomain priority 1 vsan 100 fcdomain priority 2 vsan 200 interface fc1/1 switchport rate-mode dedicated switchport mode E switchport trunk allowed vsan 100 switchport trunk allowed vsan add 200 interface fc1/2 switchport rate-mode dedicated switchport mode E switchport trunk allowed vsan 100 switchport trunk allowed vsan add 200 |
The JBOD has to be linked with VSAN100 .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
vsan database vsan 100 interface fc1/5 interface fc1/5 switchport rate-mode dedicated switchport mode FL switchport speed 2000 MDS-01# show flogi database -------------------------------------------------------------------------------- INTERFACE VSAN FCID PORT NAME NODE NAME -------------------------------------------------------------------------------- fc1/5 100 0x010072 21:00:00:18:62:8d:e8:b7 20:00:00:18:62:8d:e8:b7 Total number of flogi = 1. |
The Fabric is stable and both VSANS are being forwarded on both trunks.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
MDS-01# show interface trunk vsan 100 fc1/1 is trunking Vsan 100 is up (None) fc1/2 is trunking Vsan 100 is up (None) MDS-01# show interface trunk vsan 200 fc1/1 is trunking Vsan 200 is up (None) fc1/2 is trunking Vsan 200 is up (None) MDS-02# show interface trunk vsan 100 fc1/1 is trunking Vsan 100 is up (None) fc1/2 is trunking Vsan 100 is up (None) MDS-02# show interface trunk vsan 200 fc1/1 is trunking Vsan 200 is up (None) fc1/2 is trunking Vsan 200 is up (None) MDS-01# show fcdomain domain-list VSAN 1 Number of domains: 1 Domain ID WWN --------- ----------------------- 0x01(1) 20:01:00:0d:ec:71:f1:41 [Local] [Principal] VSAN 100 Number of domains: 2 Domain ID WWN --------- ----------------------- 0x02(2) 20:64:00:0d:ec:94:3c:c1 [Principal] 0x01(1) 20:64:00:0d:ec:71:f1:41 [Local] VSAN 200 Number of domains: 2 Domain ID WWN --------- ----------------------- 0x02(2) 20:c8:00:0d:ec:94:3c:c1 [Principal] 0x01(1) 20:c8:00:0d:ec:71:f1:41 [Local] MDS-02(config)# show fcdomain domain-list VSAN 1 Number of domains: 1 Domain ID WWN --------- ----------------------- 0x02(2) 20:01:00:0d:ec:94:3c:c1 [Local] [Principal] VSAN 100 Number of domains: 2 Domain ID WWN --------- ----------------------- 0x02(2) 20:64:00:0d:ec:94:3c:c1 [Local] [Principal] 0x01(1) 20:64:00:0d:ec:71:f1:41 VSAN 200 Number of domains: 2 Domain ID WWN --------- ----------------------- 0x02(2) 20:c8:00:0d:ec:94:3c:c1 [Local] [Principal] 0x01(1) 20:c8:00:0d:ec:71:f1:41 |
Device-alias has 2 mode of configuration :
- Basic : Applications that will use device-aliases like zoning will expand them to regular WWpN.
- Enhanced: Applications that will use device-aliases like zoning will keep track of the alias and will use it in a native format
What does that really mean ? We will configure 2 aliases and 2 zones using both methods and you will be able to check by yourself what does Cisco wanted to achieve.
Let’s check that the whole fabric (2 switches 🙂 ) is in basic device-alias mode:
1 2 3 4 5 6 7 8 9 |
MDS-01# show device-alias status Fabric Distribution: Enabled Database:- Device Aliases 0 Mode: Basic Checksum: 0xf6bd6b3389b87233d462029172c8612 MDS-02# show device-alias status Fabric Distribution: Enabled Database:- Device Aliases 0 Mode: Basic Checksum: 0xf6bd6b3389b87233d462029172c8612 |
Now let’s configure the device-alias for the JBOD and for a fictitious initiator
1 2 3 |
device-alias database device-alias name JBOD pwwn 21:00:00:18:62:8d:e8:b7 device-alias name INITIATOR pwwn 00:11:22:33:44:55:66:77 |
CFS should lock the Fabric from a configuration point of view, no other users would be able to override the configuration unless they clear the lock.
1 2 3 4 5 6 7 8 9 |
MDS-01# show cfs lock Application: device-alias Scope : Physical-fc -------------------------------------------------------------------------------- Switch WWN IP Address User Name User Type -------------------------------------------------------------------------------- 20:00:00:0d:ec:71:f1:40 10.10.10.10 admin CLI/SNMP v3 MDS-01 |
Commit the device-alias is mandatory in order to spread the entries throughout the whole fabric.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
MDS-01# show device-alias pending-diff + device-alias name JBOD pwwn 21:00:00:18:62:8d:e8:b7 + device-alias name INITIATOR pwwn 00:11:22:33:44:55:66:77 MDS-01(config)# device-alias commit MDS-01(config)# show device-alias database device-alias name JBOD pwwn 21:00:00:18:62:8d:e8:b7 device-alias name INITIATOR pwwn 00:11:22:33:44:55:66:77 MDS-02# show device-alias database device-alias name JBOD pwwn 21:00:00:18:62:8d:e8:b7 device-alias name INITIATOR pwwn 00:11:22:33:44:55:66:77 Total number of entries = 2 |
As we can see, the Aliases have been synchronized. Now it is time to configure a zone and check how the basic device-alias mode is different than enhanced device-alias mode.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
zoneset name VSAN100 vsan 100 zone name JBOD_TO_INITIATOR member device-alias JBOD member device-alias INITIATOR MDS-01# show zoneset zoneset name VSAN100 vsan 100 zone name JBOD_TO_INITIATOR vsan 100 pwwn 21:00:00:18:62:8d:e8:b7 [JBOD] pwwn 00:11:22:33:44:55:66:77 [INITIATOR] MDS-02# show zoneset vsan 100 Zoneset not present |
The zoneset needs to be activated (INITIATOR does not have a fcid because it is a fake WWpN and hence the fact that it has not registered to the fabric)
1 2 3 4 5 6 7 8 |
MDS-01(config)# zoneset activate name VSAN100 vsan 100 Zoneset activation initiated. check zone status MDS-02(config)# show zoneset active zoneset name VSAN100 vsan 100 zone name JBOD_TO_INITIATOR vsan 100 * fcid 0x010072 [pwwn 21:00:00:18:62:8d:e8:b7] [JBOD] pwwn 00:11:22:33:44:55:66:77 [INITIATOR] |
As we can see the active zoneset has both the device-alias and WWpN, same thing happen for the FULL zone
1 2 3 4 5 6 |
!Full Zone Database Section for vsan 100 zone name JBOD_TO_INITIATOR vsan 100 member pwwn 21:00:00:18:62:8d:e8:b7 ! [JBOD] member pwwn 00:11:22:33:44:55:66:77 ! [INITIATOR] |
Now let’s add another aliases but with the enhanced mode feature this time. You will see that the enhanced mode can be configured only on one switch in the fabric. It is automatically replicated to all other switches in the fabric using CFS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
MDS-01(config)# show cfs application | inc alias|Applic Application Enabled Scope device-alias Yes Physical-fc ==================== BEFORE ==================== MDS-01(config)# show device-alias status Fabric Distribution: Enabled Database:- Device Aliases 2 Mode: Basic Checksum: 0x6445e44151d98c79138e449e08ec93 MDS-02(config)# show device-alias status Fabric Distribution: Enabled Database:- Device Aliases 2 Mode: Basic Checksum: 0x6445e44151d98c79138e449e08ec93 ==================== CONFIGURATION ==================== MDS-01(config)# device-alias mode enhanced MDS-01(config)# device-alias commit ==================== AFTER ==================== MDS-01(config)# show device-alias status Fabric Distribution: Enabled Database:- Device Aliases 2 Mode: Enhanced Checksum: 0x94a27be9cf2bf5b285ded64aee37253 MDS-02(config)# show device-alias status Fabric Distribution: Enabled Database:- Device Aliases 2 Mode: Enhanced Checksum: 0x94a27be9cf2bf5b285ded64aee37253 |
Device-alias configuration is similar to the one we did previously
1 2 3 4 5 6 7 8 9 10 |
MDS-01(config)# device-alias database MDS-01(config-device-alias-db)# device-alias name JBOD_ENH pwwn 11:11:11:11:11:11:11:11 MDS-01(config-device-alias-db)# device-alias name INITIATOR_ENH pwwn 22:22:22:22:22:22:22:22 MDS-01(config-device-alias-db)# device-alias commit MDS-02(config)# show device-alias database device-alias name JBOD pwwn 21:00:00:18:62:8d:e8:b7 device-alias name JBOD_ENH pwwn 11:11:11:11:11:11:11:11 device-alias name INITIATOR pwwn 00:11:22:33:44:55:66:77 device-alias name INITIATOR_ENH pwwn 22:22:22:22:22:22:22:22 |
The zoneset application should now use the device-alias mode to display the aliases using the native format instead of WWpN
1 2 3 4 5 6 7 |
MDS-01(config)# zoneset name VSAN200 vsan 200 MDS-01(config-zoneset)# zone name JBODENH_TO_INITIATORENH MDS-01(config-zoneset-zone)# member device-alias JBOD_ENH MDS-01(config-zoneset-zone)# member device-alias INITIATOR_ENH MDS-01(config-zoneset)# zoneset activate name VSAN200 vsan 200 Zoneset activation initiated. check zone status |
We can now check the final result of our tests:
VSAN100 zoneset is using device-alias in basic mode while VSAN200 zoneset is using enhance mode
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
MDS-02# show zoneset active vsan 100 zoneset name VSAN100 vsan 100 zone name JBOD_TO_INITIATOR vsan 100 * fcid 0x010072 [pwwn 21:00:00:18:62:8d:e8:b7] [JBOD] pwwn 00:11:22:33:44:55:66:77 [INITIATOR] MDS-02# show zoneset active vsan 200 zoneset name VSAN200 vsan 200 zone name JBODENH_TO_INITIATORENH vsan 200 device-alias JBOD_ENH device-alias INITIATOR_ENH ====== MDS01: ====== !Full Zone Database Section for vsan 100 zone name JBOD_TO_INITIATOR vsan 100 member pwwn 21:00:00:18:62:8d:e8:b7 ! [JBOD] member pwwn 00:11:22:33:44:55:66:77 ! [INITIATOR] zoneset name VSAN100 vsan 100 member JBOD_TO_INITIATOR zoneset activate name VSAN100 vsan 100 !Full Zone Database Section for vsan 200 zone name JBODENH_TO_INITIATORENH vsan 200 member device-alias JBOD_ENH member device-alias INITIATOR_ENH |
It is been a long post and some readers might find it annyoing but I wanted to scrutinize every steps of the configuration to understand how it really works behind the scene.
Please feel free to share your experience or comments.
Nicolas