byethen
作者byethen·2016-11-17 00:37
系统工程师·CMBC

两地三中心容灾系统设计方案

字数 3390阅读 5758评论 1赞 0

系统介绍

统一考核平台数据库、流程处理应用服务及总行级web服务放在一台服务器上,数据存储在磁盘阵列上,两台服务器互为备份,全行考核平台数据集市、实例系统数据集市及实例系统考核结果数据存储在磁盘阵列上。各实例系统设置本实例系统的查询web服务器,通过网络与本实例系统考核数据集市相连,提供本实例系统的考核数据查询及报表展现,考核平台最终用户通过局域网或广域网连接到查询web服务器。主要数据应用环境为DB2数据库,以下是系统的基础架构图:

以下是整套系统的功能架构图:

当前环境

当前数据库存放在V7000系统存储中,V7000通过SVC管理, IBM SVC虚拟化方案实现存储层的双活,SVC采用stretched cluster,利用两台V7000实现vdisk mirror,加入第三个节点作为仲裁节点,每台V7000总可用容量120T,两个node距离20KM,通过DWDM设备连接,运营商租用电信和联通两家运营商裸光纤线路,当一台存储出现问题时,应用层不会感知,切换时间在十几十秒之间,当前的基础架构方案如下图所示:

用户痛点:

  1. 目前全行两地三中心建设,在现有的技术条件下,当前V7000存储环境不支持两地三中心灾备建设
  2. 月末,季末,报表查询导出,绩效统计,考核业务压力大,主要瓶颈在于存储的I/O压力。
  3. 客户希望提高分行考核系统的处理速度,应对日益增长的员工数和分支行数量带来的数据增长的压力。
  4. 两地三中心的容灾建设,需要定时切换验证数据的有效性, 目前的SVC双活环境无法实现两地三中心的数据保护。

解决方案:

基础架构选型

a. SVC使用已有的SVC-DH8,相对于以往的SVC版本,它在多项硬件功能上做了改进,在实时压缩等功能上都有非常好的表现。

b. 与EMC XtreamIO闪存系列存储相比,IBM flashsystem可以在更小的机架空间提供四倍于EMC XtremIO闪存产品的容量,并提供更高的IOPS。因此选用FlashsystemFS 900,IOPS为1.1M, 相比于flashsystem 840, 900提供了更高的带宽(读10GB/sec, 写4.5GB/sec)和更大的总可用容量,同时IBM与镁光合作,采用改进的MLC Nand, 提供了更高的可靠性。考虑到当前交换机不支持16G port,Flashsystem 900采用16个8G port,2.9T的flash module, 总可用容量26T左右, 占用2U空间,在空间上不用再添加新的物理机柜。

c. 本地SVC VDM双活采用已有的DWDM设备,两条运营商裸光纤链路实现线路冗余,异地复制增加思科FCIP设备,数据压缩比最高可以达到1:6, 以减少链路带宽占用,同时租用两家运营商IP专网,联通和电信,均为155*2M。

d. 交换机支持8G port, 在该方案中不存在ISL情景。

e. 需要新采购一套同等配置的V7000存储作为第三中心异地存储。

技术选型

a. 本地复制仍然采用SVC提供的virtual disk mirror双活技术,

b. 为了解决当前存储的性能瓶颈,为SVC添加flash system 900的存储层,采用SVC的easy tier,该功能在SVC上默认打开,不会额外增加采购成本。

c. 远程复制采用V7000的Global mirror, RPO 30秒。

d. 由于可以利用SVC和V7000的快照和复制技术,暂时不必采购V9000, 以后可以根据业务需要进行横向扩展。

整体方案架构

如上图,方案设计如下:

Quorum disk承担两个SVC node的仲裁角色。

将flashsystem设置为SVC flashtier, V7000映射的Mdisk设置为Enterprise tier,将其映射给SVC的Mdisk创建成storage pool 1并创建lun, 这样可大大提升1站点的读写性能。

2站点的V7000/2通过image mode的方式将卷映射给SVC,创建成storage pool 2, 将站点1映射给SVC的和站点2映射给SVC的卷创建成Vdisk mirror,同时在SVC将read的prefer disk设置成站点1。

同时为了使用V7000存储的copyservice,从SVC上禁用V7000/2的cache, 这样既保证了GM的正常运行,也可以将SVC的cache留给站点1用做read/write cache,优先保证站点1的读写性能。

V7000/2和V7000/3之间为异步复制,创建Globalmirror一致性组,同时保证V7000/3上的存储池有至少有30%的空间剩余,以保证在链路出现故障或者数据堵塞时,异地存储有足够的空间来存放快照数据,以此实现数据的两地三中心保护。

SVC的连接的端口为inter-node/storage, 不需要预留replication端口,单个node 8个端口,剩下的端口留作以后扩展。

存储的性能数据收集和监控可用用IBM TPC来监控,以实时分析业务的读写性能数据,随时调整存储的参数,例如闪存的容量等。

案例设计讲解

1.关于easy tier闪存容量的考虑

如果需要准确计算所需要的flashsystem的容量,可以使用STAT工具(IBMStorage Tier Advisor Tool)来获取关于热点数据的分布,这样可以计算所需要闪存容量,一般根据统计,在采用easy tier的环境中,为了达到较快的读写性能,一般快速存储和机械硬盘两个存储层的容量比为1:10,在本案例中,V7000可用容量120T,flash system可用容量26T, 完全可以满足为加速数据读写的需要。

2.采用flash system加速的优点

由于更快速的接口、芯片设计和数据通道的FPGA组件,使用FlashSystem全闪存系列存储,要比V7000内部使用SSD固态硬盘实现easy tier带来成倍的性能增长。

3.传统存储V7000与flashsystem组成VDM对性能的影响

由于业务自身的特点,存储的瓶颈主要在于读操作,同时存储的写操作在写到V7000内存cache之后即可以返回写操作完成,因此本身不会由于与flashsystem之间的性能差异导致滞后,如果仍然影响I/O的response time, 可以通过调整mirrowritepriority的属性为latency, 以保证在出现response time延迟时不会导致VDM的一份拷贝出现offline的情形。

4.异步复制对IO性能的影响

异地选用V7000上的Globalmirror异步传输模式,不会影响VDM方式的数据写入反应时间,在GM源端写入即返回写的成功结果。

5.举例说明各环节故障对事件方案的影响

a) Flashsytem 900停机

i. Flashsystem可以实现绝大部分的故障的在线维护,比如闪存模块(microlatency module),风扇,controller,FC port, 当Flashsystem需要停机维护时,可按照以下步骤,不会影响业务。

ii. 保证存储池有足够的空间将数据移动到HDD Mdisks.

iii. 如果easy tier被设置成auto, 将其改成on, 这个操作过程可以获取热点图,整个过程时间也会得到最小化。

iv. 移除闪存mdisk,强制将数据从HDD的mdisk中移除

v. 确保文件迁移完成,这个过程可能要两天的时间才能完成。

vi. 执行闪存的维护过程。

vii. 将闪存的Mdisk添加回存储池中,24小时内,easy tier开始将热点数据移到闪存的Mdisk中。

b) 1站点故障

如果第一个站点出现灾难,此时Flashsystem 900和V7000/1均不可用,此时SVC的双活机制有效的保证了数据访问的不中断。

c) SVC故障

如果SVC一个node故障,此时quorum disk的存在保证一个node仍然提供服务,但此时可能disable写缓存,进入write-through模式,影响读写性能。如果整套SVC故障,由于V7000/2采用image mode挂载,将V7000/2的image卷直接挂载到host, 即可实现业务的正常运行。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论1 条评论

匿名用户
2022-11-12 14:59
不错,谢谢
Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。

作者其他文章

相关文章

相关问题

相关资料

X社区推广