标题前言

对于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,一个是基于物理端口,两种方式各有优劣,可根据实际情况进行选择,主要的区别在于以下两个场景:

  1. 当服务器HBA卡出现故障或者更换HBA卡过后,基于WWPN的方式需要更改配置中的相关WWPN号,而基于端口的方式无需更改任何配置

  2. 当SAN交换机接口出现故障需要更换端口时,基于端口的方式就需要重新更改端口进Zone,而此时基于WWPN的方式则配置无需做任何改动
    配置案例
    下面以一个典型的SAN环境案例简要说明下配置

1. 环境概述

典型的三主机,两台SAN交换机,一台双控的存储,拓扑如下:
在这里插入图片描述

涉及接口及规划表如下:

在这里插入图片描述

配置流程

以下把两种配置都说明下:

基于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

基于端口的配置

配置规划:
在这里插入图片描述

配置流程(以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

2. 其他-

  1. 新建配置文件

cfgCreate “lzlj_idc”

cfgCreate “lzlj_idc”,“zonename”

  1. 新建别名

AliCreate “HyLocal_ESXi112222_p1”,“51:40:2E:c0:15:54:F5:14”

Alicreate “H3C_C650_1”,“member1;member2;member3……”

  1. 新建zone

zonecreate “testzonename”, “zonemember1;zonemember2;zone……”

成员可以是"Domain,Port";“WWN”;“Alias”

是否成功要看最后能否生效,此条也适用于别名。

  1. 将新Zone添加至配置文件

cfgAdd “lzlj_idc”, “testzonename”

  1. 保存自定义的配置

cfgsave

  1. 生效配置文件

cfgEnable lzlj_idc

同时只能有一个配置文件生效
7. 重命名别名和zone

zoneObjectRename “testzonename”, “newzonename”

zoneObjectRename “HyLocal_ESXi112222_p1”, “newaliname”

zoneObjectRename还适用于cfg重命名。

重命名后需要cfgsave和cfgEnable来使修改生效。

!重命名别名后,相应的zone信息会不会跟着变更?会。

8 .别名、zone增加成员

aliadd “aliName”, “member[; member…]”

zoneadd “zoneName”, “member[;member…]”

9 . 移除别名、zone成员

aliremove “aliName”, “member[; member…]”

zoneremove “zonename”, “member[;member…]”

!如果一个alias中只有一个成员,且这个成员WWN错误,如何修改最便捷?

  1. 替换别名、zone成员

zoneobjectreplace “oldZonemember” “newZonemember”

zoneobjectreplace “oldAliasmember” “newAliasmember”

  1. 删除别名、zone、zone配置文件

alidelete “aliname”

zonedelete “zonename”

cfgdelete “cfgname”

转载:

  1. 博科(Brocade)存储交换机日常运维手册

  2. SAN交换机Zone配置详解及最佳实践

  3. SAN存储交换机配置

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐