目录
一、什么是SAN?
二、什么是ZONE?
三、配置ZONE
2.1 核心概念
2.2 划分原则
2.3 Zone划分最佳实践
2.4 配置语法
1). 基于端口(Domain,Port)的zone语法
2). 基于WWN(World Wide Name)的Zone语法
3). 使用Alias简化配置
4). 配置文件的创建与管理
5). 验证与维护命令
6). 配置类型的选择
7). 注意事项
2.5 配置案例
1). 环境概述
编辑2). 配置流程
1. 基于WWPN/Alias的配置
2.基于端口的配置
一、什么是SAN?
存储区域网络(Storage Area Network,简称SAN)采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通道)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。
WWN是HBA卡用的编号,每一个光纤通道设备都有一个唯一的标识,称为WWN(world wide name),由IEEE负责分配。在有多台主机使用磁盘阵列时,通过WWN号来确定哪台主机正在使用指定的LUN(或者说是逻辑驱动器),被使用的LUN其他主机将无法使用。
以下介绍WWN,WWNN,WWPN的意义与区别:
WWN概念包含WWPN、WWNN。一个不可拆分的独立设备有WWNN,一个端口有WWPN。
WWN: world wide number 是硬件的全球唯一标示
WWPN: world wide port number 指光纤端口的端口号,是FC网络的基本单位,相当于IP网络里的IP地址或Mac地址
WWNN: world wide node number 是指节点号
例: 比如一台SAN交换机,不可拆分,有一个WWNN,它有一堆端口,每个端口有一个WWPN。一块多口光纤HBA,卡本身有一个WWNN,每个端口有一个WWPN,单口的HBA也是,不过只有一个WWNN和一个WWPN。但主机就没有WWNN,因为卡和主机是可以分离的,单纯一个主机本身并不一定是SAN环境中的设备。
如果是光纤交换机的话WWN和WWNN是一样的,而WWPN是指每个光纤端口。如果是HBA卡的话,若是只有一个端口则三者可能一样,若是有多个端口则和交换机差不多.。
对于主机来说:
单个hba卡(单口)的情况下: wwnn只有一个 wwpn和wwnn一样
单个hba卡(双口)的情况下: wwnn只有一个 wwpn有两个
两个hba卡(单口)的情况下: wwnn有两个 wwpn有两个
两个hba卡(双口)的情况下: wwnn有 两个 wwpn有四个
二、什么是ZONE?
SAN网络中一个常用的概念叫做zone,zone在SAN网络中的作用和以太网络中的VLAN有些类似。Zone的主要作用就是把Fabric网络分区,避免不相关的设备之前相互访问,同时也具有安全的作用。在设备较多的Fabric网络中,务必要划分zone。博科交换机支持多种zone,常规zone和特殊zone。常规zone就是我们通常所说的zone,主要作用是隔离设备,把Fabric网络划分为多个分区;特殊zone有TI zone,QoS zone和LSAN zone。若非特殊说明,此处所提的zone全部是常规zone。常规zone按照所包含的成员类型不同,可以分为端口zone,WWN zone和混合zone。
一个zone由一组zone成员组成,一个设备可以是一个或多个zone的成员,如设备RAID4既是Zone2的成员也是Zone3的成员。同一个zone内的成员之间可以相互访问,不在同一个zone内的成员之间不可访问。如Zone1包括成员Web Server和RAID2,这两个设备之间可以相互访问。
三、配置ZONE
2.1 核心概念
Alias:别名,相当于给WWPN起个名字,一方面便于配置,一方面也便于理解
Zone:SAN交换机的配置核心,类似于IP网络的vlan,同一Zone内的接口相互之间可以互访
WWPN:光纤端口的端口号,是FC网络的基本单位,相当于IP网络里的IP地址或Mac地址
端口编号:类似于交换机的interface,SAN交换机的端口一般也表示为(交换机ID/Domain,端口/port),如1,8就是1号交换机8号端口
CFG:配置文件,一台交换机仅能生效一个配置文件,因此多个Zone会置于1个配置文件中
2.2 划分原则
碰到FC-SAN的环境在不做任何配置的情况下默认所有接口都在一个Zone内,接上光纤线直接互通,就是所谓的All in One,当然最佳实践一定不推荐这么做,主要有两个问题:
访问安全层面:所有前端计算节点和所有存储之间能够互通,尤其在多集群或多存储的场景就比较危险
流量安全层面:当一个Zone内出现状态变更通知RSCN(registered state change notification,RSCN)或者错误告警等的时候不会传播到别的Zone,从而造成影响
2.3 Zone划分最佳实践
Zone划分最佳实践一般考虑以下两个维度:
Zone划分区域
一般不推荐直接用一个大Zone,那应该怎样划分才最合理,很多文章都有提到最佳划分即每个Zone仅包含一个存储控制器端口和一个业务端口,当然这么做一定没问题,但是有个小缺点,在很多场景下需要配置的Zone过多,尤其是后期需要增改端口等工作量巨大,也容易出错,因此以下谈谈我个人的理解:
首先再引入两个概念:
同一个Zone端口内相互通信并不是平级,分为Target和Initiator,一般来讲存储段作为Target,服务器端为Initiator,当然这并不绝对,可以手动配置将这两个角色互换。配置Zone的时候,应该将一个Initiator对应多个Target,这样在节省大量配置的情况下对安全及性能也不会有影响
Zone划分单位
Zone划分基本有两种方式,一个是基于WWPN/Alias,一个是基于物理端口,两种方式各有优劣,可根据实际情况进行选择,主要的区别在于以下两个场景:当服务器HBA卡出现故障或者更换HBA卡过后,基于WWPN的方式需要更改配置中的相关WWPN号,而基于端口的方式无需更改任何配置
当SAN交换机接口出现故障需要更换端口时,基于端口的方式就需要重新更改端口进Zone,而此时基于WWPN的方式则配置无需做任何改动
2.4 配置语法
Zone的创建与成员定义(add、delete、replace、show、enable、save)
1). 基于端口(Domain,Port)的zone语法
使用zonecreate命令创建Zone,参数格式为"zone名称","domain_id,端口号; domain_id,端口号..."
zonecreate "line01", "10,3;10,4" # 创建名为line01的Zone,包含domain 10的端口3和4
zonecreate "ocr_fc1", "1,94;1,68;1,69" # 多端口配置
2). 基于WWN(World Wide Name)的Zone语法
直接使用设备的WWN作为成员,适用于设备更换端口但需保持通信的场景
zonecreate "wwn_zone", "21:00:00:24:ff:48:e2:de;20:01:00:0e:1e:d1:00:ff" # 使用WWN号代替上面的端口号
3). 使用Alias简化配置
通过alicreate命令定义别名,将端口或WWN映射为易记名称,便于后续Zone配置
alicreate "storage_port", "1,0" # 定义domain 1端口0的别名
alicreate "server_ports", "1,2;1,3;1,4" # 定义多个端口的别名
zonecreate "alias_zone", "storage_port;server_ports" # 引用别名
4). 配置文件的创建与管理
cfgcreate "配置名称", "zone1;zone2;..."
cfgcreate "test", "line01;ocr_fc1" # 创建名为test的配置文件,包含两个Zone
cfgadd "test", "wwn_zone" # 将wwn_zone添加到test配置中
保存配置:cfgsave命令永久保存当前配置。
激活配置:cfgenable "配置名称"使配置生效,同一时间仅一个配置可激活。示例:
cfgsave # 保存配置
cfgenable "test" # 激活名为test的配置
5). 验证与维护命令
zoneshow:显示所有Zone及成员详情110。
cfgshow:查看当前活动的配置文件26。删除Zone:zonedelete "zone名称"26。
从配置中移除Zone:cfgremove "配置名称","zone名称"。
6). 配置类型的选择
Hard Zone(基于端口)
适用于设备固定端口的场景,更换HBA卡无需修改配置。
Soft Zone(基于WWN)
适用于设备频繁更换端口的场景(如虚拟化环境),但更换HBA卡需更新WWN。
混合Zone
同时包含端口和WWN的Zone,需交换机CPU进行额外验证。
7). 注意事项
语法分隔符:端口或WWN列表需用分号(;)分隔。
配置文件冲突:激活新配置前需确保旧配置已停用。
权限与保存:所有变更需通过cfgsave保存,否则重启后失效。
配置示例:
新建配置文件
swd77:admin>cfgCreate “lzlj_idc”swd77:admin>cfgCreate “lzlj_idc”,“zonename”
新建别名
swd77:admin>AliCreate “HyLocal_ESXi112222_p1”,“51:40:2E:c0:15:54:F5:14”swd77:admin>Alicreate “H3C_C650_1”,“member1;member2;member3……”
新建zone
swd77:admin>zonecreate “testzonename”, “zonemember1;zonemember2;zone……”swd77:admin>成员可以是"Domain,Port";“WWN”;“Alias”
swd77:admin>是否成功要看最后能否生效,此条也适用于别名。
将新Zone添加至配置文件
swd77:admin>cfgAdd “lzlj_idc”, “testzonename”保存自定义的配置
swd77:admin>cfgsave生效配置文件
swd77:admin>cfgEnable lzlj_idcswd77:admin>同时只能有一个配置文件生效
重命名别名和zoneswd77:admin>zoneObjectRename “testzonename”, “newzonename”
swd77:admin>zoneObjectRename “HyLocal_ESXi112222_p1”, “newaliname”
zoneObjectRename还适用于cfg重命名。
重命名后需要cfgsave和cfgEnable来使修改生效。
!重命名别名后,相应的zone信息会不会跟着变更?会。
别名、zone增加成员
swd77:admin>aliadd “aliName”, “member[; member…]”
swd77:admin>zoneadd “zoneName”, “member[;member…]”
移除别名、zone成员
swd77:admin>aliremove “aliName”, “member[; member…]”
swd77:admin>zoneremove “zonename”, “member[;member…]”
!如果一个alias中只有一个成员,且这个成员WWN错误,如何修改最便捷?
替换别名、zone成员
swd77:admin>zoneobjectreplace “oldZonemember” “newZonemember”swd77:admin>zoneobjectreplace “oldAliasmember” “newAliasmember”
删除别名、zone、zone配置文件
swd77:admin>alidelete “aliname”swd77:admin>zonedelete “zonename”
swd77:admin>cfgdelete “cfgname”
2.5 配置案例
下面以一个典型的SAN环境案例简要说明下配置
1). 环境概述
典型的三主机,两台SAN交换机,一台双控的存储,拓扑如下:
涉及接口及规划表如下:

2). 配置流程
一般分为三步进行,以下把两种配置都说明下:
1. 基于WWPN/Alias的配置
配置规划:
配置流程(以SW-A为例):
创建Alias:
swd77:admin> alicreate "ESXi01_1","11:00:00:00:00:00:00:1a"
swd77:admin> alicreate "ESXi02_1","11:00:00:00:00:00:00:2a"
swd77:admin> alicreate "ESXi03_1","11:00:00:00:00:00:00:3a"
swd77:admin> alicreate "Storage01_1","22:00:00:00:00:00:00:1a"
swd77:admin> alicreate "Storage02_1","22:00:00:00:00:00:00:2a"
创建Zone:
swd77:admin> zonecreate "zone_A1","ESXi01_1,Storage01_1,Storage01_2"
swd77:admin> zonecreate "zone_A2","ESXi02_1,Storage01_1,Storage01_2"
swd77:admin> zonecreate "zone_A3","ESXi03_1,Storage01_1,Storage01_2"
创建CFG:
swd77:admin> cfgcreate "cfg_wwpn","zone_A1;zone_A2;zone_A3"
swd77:admin> cfgenable "cfg_wwpn"
swd77:admin> cfgsave
2.基于端口的配置
配置规划:
配置流程(以SW-A为例):
创建ZONE(端口也可以创建Alias,但端口本身并不复杂,一般不需要Alias):
swd77:admin> zonecreate "zone_A1","1,2;1,0;1,1"
swd77:admin> zonecreate "zone_A2","1,3;1,0;1,1"
swd77:admin> zonecreate "zone_A3","1,4;1,0;1,1"
创建CFG:
swd77:admin> cfgcreate "cfg_port","zone_A1;zone_A2;zone_A3"
swd77:admin> cfgenable "cfg_port"
swd77:admin> cfgsave
原文链接:SAN交换机Zone配置详解及最佳实践_san交换机配置-CSDN博客