Brocade SAN 配置实例
前些年,人们谈起虚拟化就会想到刀箱,因此很多单位的虚拟机都是跑在刀片上的,以我的拙见,实际上虚拟化与高密度的刀箱并不是天生一对,刀箱架构与wmware 的vSphere HA 配合起来并不灵活,通过vSphere HA可以将故障ESXi主机上的VM在集群中的其他主机重启,因此可以避免单点故障。而刀箱实际上就是一个巨大的单点,想要实现真正的高可用就必须跨刀箱做cluster ,同时资源利用率必须小于50%,以满足故障切换。并且由于刀箱封闭的设计,刀片服务器上网卡有限,各种I/O模块固定在刀箱内部,组网模式不灵活,网络设计有很大局限。
实例
下面介绍一个IBM BladeCenter 系列刀箱的SAN构建实例:
现有刀箱、存储、FC交换机等设备。刀箱上有Brocade8g FC交换机模块两个,刀片服务器双HBA卡,存储双控,FC交换机两台。需要构建一个高可用SAN ,使SAN网络中不存在单点故障。刀箱内部的Brocade8g 交换机与刀片服务器的连接方式如下图:
Brocade8g模块有20个端口,其中14端口是集成端口,通过刀箱的背板连接刀片服务器,6个端口是普通的SFP端口,对外部连通存储或其他交换机。
可行的配置有两种:一种是基于ISL Trunking 的,另一种是基于NPIV(N_Port Identifier Virtualization)的,结构如下:
(一)基于 ISL Trunking 的SAN
如图2 所示,Brocade8g 与 B310 通过ISL Trunking 级连负载,每台刀片的每个hba卡同storage 上的两个控制器组成一个zone ,SAN网络中不存在单点故障,理论带宽32Gbps
(二)基于NPIV 的SAN
如图3所示,brocade8g 工作在AG mode下,将INT1-7 端口map 到EXT0 上,,此时EXT0 被设置成N_Port,通过NPIV,刀片S1-7 可共享使用EXT0。EXT15 与INT8-14做相同设置。B310上每台刀片的每个hba卡同storage上的两个控制器组成一个zone,SAN网络中不存在单点故障,理论带宽32Gbps。
两种方案比较起来,基于ISL Trunking 冗余负载方式更加灵活,但是需要Fabric 和trunking license ,Brocade8g 上没有,因此只能选择基于NPIV 的SAN。
配置示例:
Brocade8g 配置:(另一台做类似配置)
brocade8Gb:admin>switchdisable
brocade8Gb:admin>ag –modeenable #交换机进入AG模式
brocade8Gb:admin>ag –mapshow #查看映射
brocade8Gb:admin>ag --mapdel 0 "1;2" #删除默认的映射
brocade8Gb:admin>ag --mapadd 0 "1;2;3;4;5;6;7" #1-7刀片一组-> EXT0
brocade8Gb:admin>ag --mapadd 15"8;9;10;11;12;13;14" #8-14刀片一组->EXT15
brocade8Gb:admin> ag --mapshow
注:ag –mapadd 命令可以动态添加端口进入map组
Brocade B310 配置:(另一台做类似配置)
swd77:admin>switchshow #查看端口状态
swd77:admin> portshow 2
可以看到B310上已经识别到了刀片服务器的HBA卡 Wwn ,下面配置zone:
swd77:admin> alicreate "storage_spa_p1","20:08:e0:97:xx:xx:xx:xx"
swd77:admin> alicreate " storage_spb_p1","20:18:e0:97:xx:xx:xx:xx"
swd77:admin> alicreate "S1","10:00:00:xx:xx:xx:xx:c9"
swd77:admin> alishow
swd77:admin> zonecreate "S1_to_ storage ","S1; storage_spa_p1; storage_spb_p1"
其他刀片服务器做类似配置
swd77:admin> cfgcreate "cfg0"," S1_to_ storage;S2_to_ storage;
S3_to_ storage;S4_to_ storage;S5_to_ storage;S6_to_ storage;
S7_to_ storage;S8_to_ storage;S9_to_ storage;S10_to_ storage;
S11_to_ storage;S12_to_ storage;S13_to_ storage;S14_to_ storage”
swd77:admin> cfgshow
swd77:admin> cfgenable cfg0
运行时更新配置示例:
swd77:admin> zonedelete S1_to_ storage
swd77:admin> alidelete S1
swd77:admin> alicreate "S1","10:00:00: xx:xx:xx:xx:64" # 新刀片hba卡Wwn
swd77:admin> zonecreate "S1_to_ storage ","S1; storage_spa_p1; storage_spb_p1"
swd77:admin> cfgremove "cfg0"," S1_to_ storage "
swd77:admin> cfgadd "cfg0"," S1_to_ storage "
swd77:admin> cfgenable cfg0