第268篇:FC 交换机基础:Domain ID、WWN、Zone
关键词
FC 交换机、Domain ID、WWN、Zone、Fabric、FSPF、端口类型、E_Port、N_Port、FC 寻址
一、FC 交换机基础
1.1 FC 交换机的角色
FC 交换机是 FC-SAN 的核心设备,负责在服务器(Initiator)和存储(Target)之间转发数据:
FC-SAN 中的 FC 交换机:
| Server A HBA: WWN-A Port: N_Port └──────────────┘ | ─────► F_Port(N→F) | FC Switch Domain 1 Port Type: └──────────────┘ | ◄───── | Storage A WWN-C Port: N_Port |
|---|---|---|---|---|
| │ E_Port(F→F) │ | ||||
| Server B HBA: WWN-B └──────────────┘ | ─────► ─── ISL ────► | Domain 2 FC Switch └──────────────┘ | ◄───── | Storage B WWN-D |
| --- | --- | --- | --- | --- |
| └──────────────┘ |
核心概念: WWN(World Wide Name):每个 FC 端口的全球唯一标识(64-bit) Domain ID:FC 交换机在 Fabric 中的地址 Port ID(FCID):24-bit 端口地址(Domain_ID + Port_ID + Area) N_Port:节点端口(服务器/存储) F_Port:交换机的节点连接端口 E_Port:交换机之间的级联端口 ISL(Inter-Switch Link):交换机间链路
1.2 端口类型
FC 端口类型详解:
┌──────────┬──────────────────────┬────────────────────┐
│ 端口类型 │ 连接对象 │ 用途 │
├──────────┼──────────────────────┼────────────────────┤
│ N_Port │ 节点(HBA/存储) │ 终端设备接入 │
│ F_Port │ N_Port │ 交换机面向设备端口 │
│ E_Port │ 另一 FC 交换机的 E_Port │ 交换机级联 │
│ NL_Port │ FC-AL 环路节点 │ 仲裁环(已淘汰) │
│ FL_Port │ NL_Port │ 环路接入 │
│ G_Port │ 通用(自动协商) │ 自动识别 F/E │
│ EX_Port │ 另一 Fabric 的 E_Port │ 跨 Fabric 连接 │
└──────────┴──────────────────────┴────────────────────┘
华为 FC 交换机配置:
# 查看端口类型
display interface fc 1/0/1
# 配置端口类型(通常自动协商)
interface fc 1/0/1
port-type auto # 自动协商(推荐)
trunk enable # 开启 Trunk(多 VSAN)
二、Domain ID
2.1 FC 地址格式
FC 地址(FCID)是 24-bit 地址,格式如下:
| Domain 8-bit | Area 8-bit | Port 8-bit |
|---|---|---|
例子:0x010101 Domain = 0x01(交换机标识) Area = 0x01(端口组) Port = 0x01(具体端口)
Domain ID 范围: 1-239(有效 Domain) 0:未初始化 255:广播 FF-FF-FF:未分配 FF-FF-FE:名称服务器
FC 地址空间限制: 最大 239 个 Domain 每 Domain 最大 256 Area × 256 Port = 65536 端口 总计:239 × 65536 ≈ 1560 万端口(理论上) 实际限制:Domain 数量 239
2.2 Domain ID 分配
Domain ID 分配方式:
方式 1:静态分配(推荐)
FC Switch1:Domain ID = 1
FC Switch2:Domain ID = 2
FC Switch3:Domain ID = 3
配置:
# 华为 FC 交换机
fabric domain 1
#
# Brocade FC 交换机
configure
domain 1
优点:
可预测的地址规划
易于排错
避免冲突
方式 2:动态分配
新交换机加入 Fabric 时:
1. 发送 Domain ID 请求
2. Principal Switch 分配未使用的 Domain ID
3. 全网更新 FSPF 路由表
缺点:
地址不可预测
可能引起路由振荡
Principal Switch 选举:
FC Fabric 中有一台 Principal Switch
负责 Domain ID 分配和管理
选举规则:最高 WWN 或最低 Priority
2.3 Domain ID 冲突
Domain ID 冲突场景:
场景:两个 Fabric 合并
Fabric A:Domain 1, 2, 3
Fabric B:Domain 1, 4, 5
合并时 Domain 1 冲突!
解决:
1. 自动解决
Principal Switch 要求重复的交换机重新分配 Domain
2. 手动解决
预先规划,不重复
合并前修改一方的 Domain
配置 Domain ID 冲突检测:
# 华为 FC 交换机
fabric domain 1
domain-check enable # 开启冲突检测
Domain ID 耗尽:
最大 239 个 Domain
大型数据中心可能有 100+ FC 交换机
规划原则:预留增长空间
跨数据中心:使用不同的 Fabric
三、WWN(World Wide Name)
3.1 WWN 格式
WWN 是 FC 设备的全球唯一标识符(类似以太网的 MAC 地址):
WWN 格式(64-bit / 8 字节):
WWN: 10:00:00:90:FA:12:34:56
│ │ │
│ │ └─ 厂商分配的序列号
│ └─ OUI(厂商编码)
└─ NAA(Network Address Authority)
NAA(Network Address Authority)类型:
NAA=1:IEEE 48-bit 地址(OUI + 序列号)
NAA=2:IEEE Extended(OUI + 扩展 + 序列号)
NAA=3:Locally Administered
NAA=5:IEEE Registered Name
WWN 的种类:
WWNN(Node WWN):设备本身(每台设备一个)
WWPN(Port WWN):每个端口(用于 Zone 配置)
服务器 HBA 卡:
WWNN: 20:00:00:90:FA:12:34:00(设备)
WWPN: 10:00:00:90:FA:12:34:01(端口 1)
WWPN: 10:00:00:90:FA:12:34:02(端口 2)
3.2 WWN 用途
WWN 在 FC-SAN 中的用途:
1. 设备标识
每台设备有唯一的 WWNN
每个端口有唯一的 WWPN
2. Zone 配置
Zone 基于 WWPN 实现访问控制
Zone 成员 = WWPN 列表
3. 名称服务器(Name Server)
FC 交换机的名称服务器记录所有设备信息
包括 WWPN、FCID、端口类型等
# 查看名称服务器
display fc name-service
FCID WWPN Type
0x010100 10:00:00:90:FA:12:34:01 N_Port
0x010200 10:00:00:90:FA:56:78:01 N_Port
0x010201 10:00:00:90:FA:AB:CD:01 N_Port
4. 多路径(MPIO)
服务器使用多个 HBA 端口(多个 WWPN)
存储端看到多个路径
MPIO 软件做负载分担和故障切换
四、Zone(分区)
4.1 Zone 的概念
Zone 是 FC-SAN 中的"VLAN"——用于隔离设备:
没有 Zone:
所有服务器可以看到所有存储 LUN
不安全、不可控
有 Zone:
服务器 A 只能看到存储 A
服务器 B 只能看到存储 B
隔离、可控
Zone 的作用:
1. 访问控制——指定哪些设备可以通信
2. 安全隔离——不同业务隔离
3. 减少资源消耗——设备只看到需要的 LUN
4. Zoning 是软隔离(不是物理隔离)
Zone vs VLAN 对比:
Zone(FC) VLAN(以太网)
─────────────────────────────────
WWPN 做成员 MAC/VLAN ID 做成员
软隔离 硬隔离
无广播域概念 广播域隔离
基于 FC 名称服务器 基于 MAC 表
注意:Zone 不能阻止 FC 交换机之间的 ISL 流量转发
Zone 只控制终端设备的可见性
4.2 Zone 类型
Zone 成员标识方式:
1. WWPN Zoning(推荐)
zone name DB_Zone
member 10:00:00:90:FA:12:34:01 # 服务器 HBA
member 10:00:00:90:FA:56:78:01 # 存储端口 A
member 10:00:00:90:FA:56:78:02 # 存储端口 B
#
优点:WWPN 不变(换交换机也不变)
缺点:更换 HBA 后 WWPN 改变
2. Domain/Port Zoning
zone name DB_Zone
member 0x010100 # Domain 1, Port 0
member 0x020100 # Domain 2, Port 0
#
优点:配置简单
缺点:换端口后需要修改
3. FCID Zoning(最不推荐)
zone name DB_Zone
member 0x010101
member 0x020101
#
问题:FCID 是动态分配的
推荐配置方式:
WWPN Zoning(WWPN 在设备生命周期内不变)
如换 HBA 卡 → 更新 Zone 的 WWPN 即可
4.3 Zone 配置
华为 FC 交换机 Zone 配置:
# 1. 创建 Zone
zone name DB_Zone
member 10:00:00:90:FA:12:34:01 # Server HBA1
member 10:00:00:90:FA:56:78:01 # Storage Port1
member 10:00:00:90:FA:56:78:02 # Storage Port2
#
zone name Web_Zone
member 10:00:00:90:FA:AB:CD:01 # Server HBA2
member 10:00:00:90:FA:56:78:03 # Storage Port3
#
# 2. 创建 Zoneset(激活 Zone)
zoneset name Production
member DB_Zone
member Web_Zone
#
# 3. 激活 Zoneset
zoneset activate name Production
# 查看 Zone
display zone
display zoneset
display zoneset active # 查看已激活的 Zone
# Brocade 交换机配置示例
alicreate "DB_Zone", "10:00:00:90:FA:12:34:01; 10:00:00:90:FA:56:78:01; 10:00:00:90:FA:56:78:02"
cfgcreate "Production", "DB_Zone; Web_Zone"
cfgenable "Production"
4.4 Zone 最佳实践
Zone 规划最佳实践:
1. 单 Initiator + 多 Target(推荐)
zone name App1_Zone1
member 10:00:00:90:FA:12:34:01 # App Server
member 10:00:00:90:FA:56:78:01 # Storage A
member 10:00:00:90:FA:56:78:02 # Storage B (冗余)
#
每个 Zone 只包含一台服务器的端口
避免多服务器共享 Zone(减少变更影响)
2. 不推荐:多 Initiator + 多 Target
zone name Huge_Zone
member Srv1, Srv2, Srv3 # 多个服务器
member Storage_ALL # 多个存储端口
#
问题:所有服务器看到所有 LUN → 不可控
3. VSAN(Virtual SAN)隔离
使用 VSAN 做物理级隔离:
VSAN 100:生产
VSAN 200:测试
VSAN 300:备份
每 VSAN 独立运行 FSPF
完全隔离
五、FSPF 路由协议
5.1 FSPF 原理
FSPF(Fabric Shortest Path First)是 FC 交换机的路由协议:
FSPF = FC 版的 OSPF
特性:
链路状态协议
基于 Cost 计算最短路径
支持 ECMP
快速收敛
配置:
# FSPF 默认启用,无需配置
# 查看 FSPF 路由表
display fc routing-table
FC Routing Table:
Dest Domain Next Hop(Domain) Cost Interface
0x01 - 0 Local
0x02 0x02 1000 fc1/0/1
0x03 0x03 1000 fc1/0/2
0x04 0x02 2000 fc1/0/1
0x03 2000 fc1/0/2 ← ECMP
Cost 计算:
默认:每 ISL 链路 Cost = 1000
可手动修改:
interface fc1/0/1
fc cost 500 # 更低 Cost → 优先选择
六、总结
| 知识点 | 核心要点 |
|---|---|
| Domain ID | FC 交换机地址(1-239),类似 OSPF Router-ID |
| FCID | 24-bit 地址(Domain + Area + Port) |
| WWN | 全球唯一标识(64-bit),WWNN(设备)/WWPN(端口) |
| Zone | 基于 WWPN 的访问控制,类似以太网 VLAN |
| Zoneset | Zone 的集合,激活后才生效 |
| 端口类型 | N(节点)、F(Fabric)、E(级联) |
| FSPF | FC 交换机的链路状态路由协议 |
| 最佳实践 | 单 Initiator 单 Zone,WWPN Zoning |
七、思考
- FC 地址(FCID)的格式是什么?Domain ID、Area、Port 各占多少位?Domain ID 的最大数量是多少?
- WWN 和以太网 MAC 地址在功能上有什么异同?WWPN 和 WWNN 有什么区别?
- Zone 在 FC-SAN 中的作用是什么?为什么建议使用 WWPN Zoning 而不是 Domain/Port Zoning?
- Zone 和 Zoneset 的关系是什么?为什么需要先创建 Zone 再创建 Zoneset 并激活?
- FSPF 是做什么的?如果两个 FC 交换机之间有两条 ISL,FSPF 如何实现负载分担?
下篇预告:第269篇《NVMe over Fabric 协议演进》——从 SCSI 到 NVMe 的存储协议演进,NVMe over Fabrics 的架构与关键协议。