http://www.aixchina.net/home/space.php?uid=46608&do=blog&id=24582
Although domain IDs are assigned dynamically when a switch is enabled, you can change them manually so that you can control the ID number or resolve a domain ID conflict when you merge fabrics.
If a switch has a domain ID when it is enabled, and that domain ID conflicts with another switch in the fabric, the conflict is automatically resolved if the other switch’s domain ID is not persistently set. The process can take several seconds, during which time traffic is delayed. If both switches have their domain IDs persistently set, one of them will need to have its domain ID changed to a domain ID not used within the fabric.
The default domain ID for Brocade switches is 1.
ATTENTION
Do not use domain ID 0. The use of this domain ID can cause the switch to reboot continuously. Avoid changing the domain ID on the FCS in secure mode. To minimize down time, change the domain IDs on the other switches in the fabric.
Displaying the domain IDs
1. Connect to the switch and log in using an account assigned to the admin role.
2. Enter the fabricShow command.
Example output of fabric information, including the domain ID (D_ID)
The principal switch is determined by the arrow ( > ) next to the name of the switch. In this
output, the principal switch appears in blue and boldface.
switch:admin> fabricshow
Switch ID Worldwide Name Enet IP Addr FC IP Addr Name
-------------------------------------------------------------------------
2: fffc02 10:00:00:60:69:e0:01:46 10.3.220.1 0.0.0.0 "ras001"
3: fffc03 10:00:00:60:69:e0:01:47 10.3.220.2 0.0.0.0 "ras002"
5: fffc05 10:00:00:05:1e:34:01:bd 10.3.220.5 0.0.0.0 "ras005"
fec0:60:69bc:63:205:1eff:fe34:1bd
6: fffc06 10:00:00:05:1e:34:02:3e 10.3.220.6 0.0.0.0 "ras006"
7: fffc07 10:00:00:05:1e:34:02:0c 10.3.220.7 0.0.0.0 "ras007"
10: fffc0a 10:00:00:05:1e:39:e4:5a 10.3.220.10 0.0.0.0 "ras010"
15: fffc0f 10:00:00:60:69:80:47:74 10.3.220.15 0.0.0.0 "ras015"
19: fffc13 10:00:00:05:1e:34:00:ad 10.3.220.19 0.0.0.0 "ras019"
fec0:60:69bc:63:219:1eff:fe34:1bd
20: fffc14 10:00:00:05:1e:40:68:78 10.3.220.20 0.0.0.0 "ras020"
25: fffc19 10:00:00:05:1e:37:23:c6 10.3.220.25 0.0.0.0 "ras025"
30: fffc1e 10:00:00:60:69:90:04:1e 10.3.220.30 0.0.0.0 "ras030"
35: fffc23 10:00:00:05:1e:07:c7:26 10.3.220.35 0.0.0.0 "ras035"
40: fffc28 10:00:00:60:69:50:06:7f 10.3.220.40 0.0.0.0 "ras040"
45: fffc2d 10:00:00:05:1e:35:10:72 10.3.220.45 0.0.0.0 "ras045"
46: fffc2e 10:00:00:05:1e:34:c5:17 10.3.220.46 0.0.0.0 "ras046"
47: fffc2f 10:00:00:05:1e:02:aa:f7 10.3.220.47 0.0.0.0 >"ras047"
50: fffc32 10:00:00:60:69:c0:06:64 10.1.220.50 0.0.0.0 "ras050"
(output truncated)
The Fabric has 26 switches
The fields in the fabricShow display are:
: Switch ID The switch’s domain_ID and embedded port D_ID. The numbers are broken down as follows:
Example 64: fffc40
64 is the switch domain_ID
fffc40 is the hexidecimal format of the embedded port D_ID.
Worldwide Name The switch’s WWN.
Enet IP Addr The switch’s Ethernet IP address for IPv4- and IPv6-configured switches. For IPv6 switches, only the static IP address displays.
FC IP Addr The switch’s Fibre Channel IP address.
Name The switch’s symbolic or user-created name in quotes. An arrow (>) indicates the principal switch.
Setting the domain ID
1. Connect to the switch and log in on an account assigned to the admin role.
2. Enter the switchDisable command to disable the switch.
3. Enter the configure command.
4. Enter y after the Fabric Parameters prompt:
Fabric parameters (yes, y, no, n): [no] y
5. Enter a unique domain ID at the Domain prompt. Use a domain ID value from 1 through 239 for normal operating mode (FCSW-compatible).
Domain: (1..239) [1] 3
6. Respond to the remaining prompts, or press Ctrl-D to accept the other settings and exit.
7. Enter the switchEnable command to re-enable the switch.
domain ID: a number that uniquely identifies a switch in a fabric. It is the highest or most significant hierarchical level in the three-level address hierarchy.
See also: zoning
Concept
Generally, each switch is a single domain. The domain ID is an 8-bit identifier with a range of 0-255. Typically, zero (0) is reserved and one (1) is the default setting for new switches. Products may have restrictive ranges, typically from 1 to 239, varying by switch vendor and model. Old switches are more restrictive and their ranges could include zero (0) as an optional domain ID.
Best practices suggest that:
-
The domain ID and other parameters should be set for each switch before cabling any switch into a fabric.
-
The domain ID should reflect the last octet of the IP address of the switches management interface. A contiguous block of IP addresses reserved for current and future switches is beneficial.
-
When changing the domain ID, verify if port zoning entries exist for devices on the switch. If they do, then change the affected zones to reflect the new domain ID before changing the domain ID.
- When merging fabrics or adding a new switch to a fabric, check for domain ID conflicts and resolve the conflict by changing one of the conflicting domain IDs.
The protocol specified in FC-FG (general requirements) allows for dynamic assignment of the domain ID at power on in the event that it has not been set. As the first fabric switch powers on, it becomes the principal and typically uses the lowest address in the available range. As other switches with an unassigned domain ID seek to join the fabric, the primary switch assigns a domain ID, typically the next number in sequence.
Consider the case of a fabric where all switches have unique domain IDs. As a matter of policy, the client started their domain ID numbering scheme at 100. A new administrator given the task of adding a new switch does not set the domain ID. In addition, the administrator powers up the switch before connecting the switch to the fabric. The new switch, believing itself to be alone or first (not sensing any E_Ports) seeks the lowest address and becomes the primary. Now, the new administrator adds an inter-switch-link. It still works as it renegotiates primary. The introduction of the new switch where the domain ID has not been set may actually work. However, you can easily see why setting the domain ID is important.
As you add an online switch to a fabric, where the domain ID was not set, the probability of experiencing a domain ID conflict is high. This is because a new, unconnected switch also defaults to the base address, believing that it is the principle switch. In this case the problem is immediately apparent.
Domain ID conflicts can occur if an online switch attempts to join a fabric if the added switch has the same domain ID as an existing switch in the fabric; not unlike the problem of a duplicate IP address. The best long-term resolution is to follow the best practice of setting the domain ID for each switch. However, changes can disrupt storage services. If the domain ID was set at default, or in error, the intermediate solution is to disable and enable the offending switch; this allows the principal switch will do an auto-assignment. When there is an accidental join of two fabrics, this can be a big problem usually resulting in risk to availability and to data resources. Although the protocol specifies that the offending switch essentially isolates itself, this is not very good if the disk you need is coming from the isolated switch.
The FC-SP (Fibre Channel - Security Protocol) addresses some of the above issues.