标题前言
对于SAN交换机,全球主流的就博科(Brocade)和思科(Cisco),中国市场绝大部分基本都是博科(生产环境截止目前还未接触过思科),另外需要特别说明,市场上能看到的主流的SAN交换机,包括Dell,HP,联想等也全都是OEM的博科的,因此本文就以博科为例简单聊聊Zone的配置思路
配置思路
碰到FC SAN的环境在不做任何配置的情况下默认所有接口都在一个Zone内,接上光纤线直接互通,就是所谓的All in One,当然最佳实践一定不推荐这么做,主要有两个问题:
- 访问安全层面:所有前端计算节点和所有存储之间能够互通,尤其在多集群或多存储的场景就比较危险
- 流量安全层面:当一个Zone内出现状态变更通知RSCN(registered state change notification,RSCN)或者错误告警等的时候不会传播到别的Zone,从而造成影响
核心概念
几个核心的递进逻辑需要先了解下:
- Zone:SAN交换机的配置核心,类似于IP网络的vlan,同一Zone内的接口相互之间可以互访
- WWPN:光纤端口的端口号,是FC网络的基本单位,相当于IP网络里的IP地址或Mac地址
- Alias:别名,相当于给WWPN起个名字,一方面便于配置,一方面也便于理解
- 端口编号:类似于交换机的interface,SAN交换机的端口一般也表示为(交换机ID,端口),如1,8就是1号交换机8号端口
- CFG:配置文件,一台交换机仅能生效一个配置文件,因此多个Zone会置于1个配置文件中
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的方式则配置无需做任何改动
配置案例
下面以一个典型的SAN环境案例简要说明下配置
环境概述
典型的三主机,两台SAN交换机,一台双控的存储,拓扑如下:
涉及接口及规划表如下:
配置流程
以下把两种配置都说明下:
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,Storage02_1,Storage02_2" swd77:admin> zonecreate "zone_A2","ESXi02_1,Storage01_1,Storage01_2,Storage02_1,Storage02_2" swd77:admin> zonecreate "zone_A3","ESXi03_1,Storage01_1,Storage01_2,Storage02_1,Storage02_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> zongcreate "zong_A1","1,2;1,0;1,1" swd77:admin> zongcreate "zong_A2","1,3;1,0;1,1" swd77:admin> zongcreate "zong_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