一 概述
1.1 项目背景
行内于13年开展同城灾备项目的建设,并确立了通过VPLEX来构建同城双活存储的架构,逐步完成了将原有存储系统改造接入到VPLEX的管理之下。
随着银行的业务种类的增长及业务量的增长,在信息系统数据增长的同时,银行IT系统需要提供更高的存储容量和性能需求。行内新增了多种不同类型的存储设备,存储架构也变得较为复杂,原来的VPLEX存储双活架构面临着严峻的挑战:
1) 由于所有存储设备都介入了VPLEX,这对VPLEX的性能和稳定性产生了很大的压力,无法接入更多的存储设备以满足存储容量需求的扩展。
2) 所有存储系统又通过VPLEX产生了联系,在某些存储设备出现异常的情况下,故障影响会被放大,无法很好地隔离故障影响
3) 随着接入SAN交换机的存储和主机的增多,需要通过SAN交换机级联的方式来扩展SAN交换机的接口。但是通过级联线路访问存储,存在着性能和稳定性的隐患
这就需要我们及时调整改进目前的架构,以适应新的业务及技术需求
1.2 改造目标
通过对行内存储架构梳理,确定存储架构调整方向,以满足如下目标:
1.优化并确立新的存储架构,降低故障发生几率,隔离故障影响程度
2.新的存储架构需要满足存储双活架构,提高系统的可靠性
3.新的存储架构有更大地可扩展性,满足更多的存储容量和性能需求
4.消除通过级联线路访问存储的情况,规划主机与访问的存储在同一个SAN交换机
二 存储架构现状及改造方案设计
2.1 存储架构现状
行内生产机房部署了4台SAN交换机,并两两级联;多台异构存储接入到VPLEX中,通过VPLEX实现存储双活,不同类型的系统都接入到这个存储系统中,存储混用现象严重。具体存储架构见下图:
2.2 改造方案设计原则
按照存储架构改造的目标,我们确立了基于存储分域的存储双活架构改造的设计原则。
存储分域是以业务系统为主要考量因素,将若干功能关联性强,数据访问共享性高的应用组成相对独立的存储域,每个域的主机,存储,san网络都独立部署。从而能有效降低IT系统的基础架构复杂程度,降低故障发生几率,隔离故障影响程度。
2.3 总体方案设计
结合生产现状,在原有生产存储域和容灾存储域基础上,将生产存储域再细分为:
1.交易域:包含实时交易以及非实时交易系统,满足高性能高可靠双活设计容灾设计的要求
2.数据域:包含数据分析类系统,高性能,高可靠,本地双活设计
3.X86平台虚拟化域:作为VMware等虚拟化平台的底层存储,性能和可靠性要求要低一些。
三 各存储域的改造方案
3.1 X86虚拟化域的改造方案
考虑到X86虚拟化域与交易域、数据域完全不同的系统架构,以及低一层级的性能与可靠性需求,而将X86虚拟化域独立出来。X86虚拟化采用中端型号存储,通过存储自身的镜像功能和存储双活功功能实现存储数据的冗余。
涉及到的改造工作主要是将原使用高端存储的虚拟机迁移到中端型号存储上,主要是通过Vmware的VMotion在线迁移存储的方式完成改造。
3.2 交易域的改造方案
交易域的改造需要考虑尽量减少存储改造对业务系统的影响,依然沿用原有的VPLEX Metro+Local的存储双活架构。在此基础上主要考虑两方面的改造工作:VPLEX的性能评估及扩容和交易域存储数据迁移。
3.2.1 VPELX的性能评估与扩容
由于VPLEX在整个交易域的架构中处于极为重要的位置,VPLEX的性能瓶颈会影响到整个交易存储域。在收集了VPLEX一段时间内的性能数据后,去重点分析了VPLEX前后端的IOPS、latency、Diretcor的CPU和内存等指标。其中VPLEX的延迟等指标还处于较正常范围,但Director的CPU负载较高。
如上图所示,生产机房4个director的CPU均值达到50%,峰值超过80%。这也说明生产机房的VPLEX需要扩容director,并且需要将原director的前后端负载通过修改SAN配置引流到新增的director。
3.2.2 交易域的存储数据迁移
考虑到存储分域的原则,在规划好交易域所使用的的存储后,将属于其他存储域的数据从规划的交易域存储中迁移出来。主要迁移方式是通过VPLEX的添加镜像和删除镜像方式来完成数据的在线迁移。
3.3 数据域的改造方案
从存储分域以及VPLEX性能分析来看,数据域不适合再与交易域接入到同一套的VPLEX中。而考虑到数据存储域需要考虑至少实现本地双活的设计,所以需要考虑存储双活的选型。
3.3.1 存储双活选型技术需求
数据域的新增存储双活选型主要基于以下的需求:
1) 需要通过存储双活技术实现本地数据保护
2) 实现异构存储的纳入管理,降低管理复杂度
3) 存储双活的选型需要考虑数据域系统存储容量大且数据增长迅速的特点
3.3.2 存储双活方案的选择
市场常见存储双活方案可以分成两大类别,一类是网关虚拟化方案,如IBM SVC以及EMC Vplex,另一类则是存储本身的双活技术方案,如华为Oceanstor ,HDS VSP 系列等存储阵列。两种方案存储架构的示意图如下。两种方案存储架构的示意图如下:
网关虚拟化方案与存储双活技术方案对比:
1) 产品架构与定位
网关虚拟化是一种带内技术,它的模块化结构可以有多个集群节点组成,每个节点配置有大容量缓存和高性能处理器,位于存储和主机之间,可以把不同存储设备组成一个大型存储池,其中若干存储设备以一个统一逻辑设备存在,被系统中所有服务器访问,防止出现存储设备的信息孤岛。其核心优势是对异构存储的整合。
存储双活技术是利用存储自身的控制器来实现的。虚拟化是其辅助功能,用于数据迁移,并不是真正的虚拟化产品,诸多功能在外置虚拟化上有功能限制。
2) 性能与扩展性
网关虚拟化方案支持节点和存储容量的线性扩展,SVC能够方便的通过增加节点的方式提高性能,提高磁盘阵列利用率。新老节点可以在同一Cluster中使用,易于投资保护
存储双活技术方案的扩展依赖于存储自身阵列的扩展能力,硬件升级扩展不灵活,尤其是跨代升级有很大的劣势,不利于用户的投资保护。
3) 双活方案对比
考虑到数据域的本地高可用的需求,基于网关虚拟化的方案至少需要本地的两节点集群,并将原存储接入到虚拟化网关,后续的存储扩容较灵活;而基于存储双活技术的方案至少需要两台同品牌支持存储双活技术的高端存储,而且需要较高存储容量以完成与原存储的替换,后续的存储扩容也会有一定的限制条件。
4) 双活改造工作的对比
基于网关虚拟化方案与存储双活方案的双活改造都需要涉及到主机层面、SAN层面、存储层面的改造工作,都需要一定的停机窗口。而不同点在于,网关虚拟化主要完成的是与存储、主机之间SAN连通的改造工作,存储双活方案改造工作主要完成的是对原存储数据的拷贝替换工作。
基于以上四个方面的对比发现,行内数据域的改造中采用网关虚拟化方案更适合去兼容接入行内原有的多台异构存储。
3.3.3 存储网关选型
结合行内现状和业界的经验,我们确立了网关选型的技术参考指标:
结合存储网关选型的技术指标,对市场主要的两种存储网关技术SVC与VPLEX做详细对比:
1) 技术架构与原理
VPLEX由于没有写缓存,会更加依赖于后端存储的性能。
2) 可靠性对比
集群网关架构下本地高可用或双活
在本地高可用场景下,SVC与VPLEX均具有较高的可用性
3) 技术功能对比
SVC与VPLEX方案的比较:
考虑到数据域以本地双活为主,会有一定的存储性能需求,且通过SVC方案可以获得存储快照等异构存储之上的存储管理手段。所以综合对比后,选择SVC用于数据域存储双活。
3.3.4 基于SVC的存储双活方案
按照数据域存储本地高可用的规划,确定了SVC Local VDM镜像的方案。在SVC Local VDM方案中,只需要在本地部署1个I/O Group,2个SVC节点组成本地集群,且两节点均部署于同一机房,不考虑第三方仲裁,采用SVC集群的Prefer Node模式。主机在访问SVC的过程中,会先去访问SVC集群分配的SVC优先节点,再通过缓存同步到另一个节点,最后再写入存储。在本方案中,SVC与存储都能容忍单节点故障,满足本地双活架构需求。具体方案架构示意图如下:
3.3.5 基于SVC的数据域双活改造
1) SVC的安装规划
数据域SVC部署了本地两节点的SVC集群,每个SVC节点配置了3块4端口16Gb接口卡,规划接入5台存储设备,26台主机。按照SAN的改造规划,SVC接入到SAN C和D。
根据最佳实践,规划每个节点的FC端口用途如下,如下表所示:
连接示意图如下:
在具体的zone划分上,主要两种系统类型的主机,每台主机2个端口与SVC的4个端口组网;接入的5台存储不分组,每台存储规划8个端口连接SVC。具体与SVC端口的对应如下:
1、红色:主机 (1和5),(7和11)成对给主机使用,其中(1和5)用于AIX主机,(7和11)用于Linux主机。
2、蓝色:存储 2个节点共 8个端口不分组,与存储规划接入的8个端口一一对应。
3、黄色:内部通讯 2个节点共2根8Gb作为heartbeat使用
4、白色:预留
2) 存储接入改造
存储接入改造无停机需求,5台规划接入的主机新接入8个端口到SAN C和D,并创建规划的与SVC的zone,创建到SVC的存储映射
3) 主机接入改造
主机接入改造需要业务停机改造。对规划接入的25台主机根据系统间的关联性、停机维护窗口以及改造工作量,规划了4个批次改造执行计划。按照以下的改造步骤完成:
a) 停机前准备(包括数据备份以及线缆准备)
b) 停业务及应用,删除磁盘,更换存储多路径软件
c) 物理切换存储光纤线
d) 删除原存储到主机的lun-mapping以及zone信息
e) 创建主机到SVC的zone
f) 存储分配原主机的lun给SVC,SVC再将这些新原主机的lun建立成Image VDisks,保证原有数据不丢失,并将这些Image VDisk分配给主机
g) 主机识别SVC分配的盘,核对磁盘信息等
h) 起应用,应用检查验证
4) 建立存储双活关系
将原存储的lun创建到另外一台存储的VDM镜像,实现两台存储之间的本地双活。
5) 数据域存储架构变化
3.4 最终的存储架构
最终通过存储分域规划、存储双活改造、存储数据迁移以及SAN接入调整等多个步骤的存储改造工作之后得到了如上所示的存储架构图。与原存储架构相比,新增了2节点的SVC集群,新增了2台高端存储阵列。
其中生产机房分为交易域、数据域、X86虚拟化域以及NAS,交易域存放交易类数据,通过VPLEX做同机房或跨机房的存储双活镜像;数据域存放统计分析类数据,通过SVC做同机房的存储双活镜像,通过存储迁移改造后,交易域与数据域之间完全隔离,采用不同的存储、不同的SAN交换机;X86虚拟化域用于行内虚拟化平台的底层存储,从高端存储中完全剥离出来,采用中端存储及其存储自身软件的镜像功能实现同机房的存储镜像;NAS则是使用了带有nas机头功能的华为5500存储,并通过基于TCP网络的异步复制功能实现存储复制。