1、而在大部分业务交易中,数据的处理更加消耗时间,因此合理的数据处理方案是大部分方案的重点,本文将结合我行采用的存储双活方案介绍数据的处理。2.1 存储双活需求分析双活中心的字面意思是两个“活着”的中心,也就是说两个中心都能处理业务请求,那么两个中心的应用服务器处理请求时如何获取数据或者存储数据?在相同条件下,传输距离越短,数据传输越快基本是我们的共识,基于这个共识我们都想将存储和服务器放在一起,这样获取数据或者存储数据的时间最短,但是现实中,灾备中心的服务器与主中心的存储必然存在着一定的距离,那么由于传输距离的拉长,存储数据势必会产生较长的处理时间,但是如果双数据中心各自存储数据,那么又与数据一
2、致性的原则相背离,如何平衡这种需求是存储双活的重点。目前市场主要有以Dell EMC VPLEX为代表的分布式全局读缓存的存储双活;以华为HyperMetro为代表的使用Vdisk mirror技术的存储双活;以IBM SVC为代表的MDG技术的存储双活等等,如何选取适合自己的双活方案?首先考虑业务的响应容忍性,传统银行业务仍然以线下业务为主,也就是柜面业务为主,对业务响应时间有严格要求,核心的响应时间要在100MS以内;其次考虑业务的对重要业务的中断容忍性,银行业关系国计民生,业务中断会引起普通民众恐慌,会造成国家秩序的混乱,因此业务系统的稳定性是银行业首要注重的,推及银行科技方面,银行业的
3、科技发展也是最注重安全性与稳定性的;再次考虑本行的科技能力,我行维护人员较少,因此尽量减少变更,设备故障时尽量避免手工切换动作;科技发展成本较少,因此尽量减少资源浪费;再次行内近年来发展速度较快,业务种类较多,设备的可扩展性尤为重要;最后,大部分存储双活技术都与其存储产品相绑定,是否接受被厂商绑架成为我们选择技术时一个非常重要的指标。基于以上这些考虑,我行选择Dell EMC VPLEX产品为我行实现存储双活。Dell EMC VPLEX具有哪些优劣势,又是如何和我们的需求相结合的呢?Dell EMC VPLEX是透写,同时在传输路径中增加存储网关设备,拉长了传输路径,所以其在写操作中不占据优
4、势,影响一定的写I/O,但是仍然能够达到RTT Witness detach time。如何解决写IO延时扩大化问题?如何解决双中心链路不稳问题?数据库热点急剧扩大;存储链路频繁切换;集群仲裁事件频繁被触发;跨中心通讯:保证VPLEX同步及Rac私网为第一优先级。跨中心带宽:根据功能区分,实现具体限制。读写规则:批量&联机区别对待。如何解决SAN网络中的故障无限扩展问题?计算节点的存储接入点故障导致整个存储网络发生面积性故障;计算网络:每个中心建立自己的核心SAN计算网络。存储网络:存储设备间单独建设自己的SAN网络,并整合双中心为统一存储SAN网络。3.1 集群仲裁一致性问题我们建设系统的目
5、的是什么,是给予业务发展以强有力的支撑,是为业务服务的,如果业务做不了,要数据中心就没有意义。RAC&VPLEX仲裁一致性有多么重要,我们举例说明,比如两中心发生通讯故障时,数据库判断A中心的节点为活的节点,对外提供服务,存储判断B中心的节点为活的节点对外提供服务,这个事情A中心数据库接受到的数据无法落盘,B中心的存储启用着却没有数据请求,最终导致数据库无法对外提供服务,应用也最终夯死。第二种情况,RAC&VPLEX仲裁一致性导致脑裂的出现,这种事件是一种非常小的几率性事件,但是这种事件导致的结果却是会产生非常恶劣影响的。假设RAC&VPLEX仲裁结果并不一定一致,双中心的链路不稳定,链路的传
6、输抖动会引起RTT时间超时,那么此时RAC与VPLEX都会发生仲裁,第一次仲裁时,RAC判定A中心节点可用,存储判断A中心节点可用,RAC与VPLEX都要阻断B中心的节点可用性,所有的数据存储动作都要向A落盘,然后链路稳定,B中心的节点恢复正常使用。A存储向B存储同步数据,在存储还没有将数据同步到B中心节点的时候,链路再次传输抖动,发生仲裁,如果此次仲裁的结果是B中心节点正常,可以接受数据落盘,那么双侧就会数据不一致,形成脑裂。当脑裂发生时我们无法判断以那边的数据作为基准数据进行恢复,最终可能丢失一部分的数据,数据是企业的生命基石,如果数据都无从保证,灾备中心的意义何在?综合以上两点,RAC&
7、VPLEX仲裁一致性问题对于灾备中心的建设绝对是影响巨大的,那么我们如何解决这种问题?Prefer Winner = Lowest Cluster ID,在VPLEX的仲裁策略中设置仲裁时Cluster ID小的为winner,那么仲裁发生时,除非Cluster ID小的节点故障,否则都以小节点为优胜者。RAC集群的仲裁策略也是instance ID小的为winner,并且和VPLEX的Cluster ID小的节点在同一中心,同时CSS misscount时间应该大于VPLEX的Witness detach time,即存储仲裁优先于RAC仲裁。这样在链路不稳定的情况下,集群总是仲裁节点ID小
8、的那一边为winner,这样恢复数据时就以节点ID小的一边为基准,这样就不会产生数据不一致。同时因为RAC和VPLEX的仲裁winner都在同一边,也不会产生服务夯死的状态。3.2 双中心链路不稳定问题我们建设同城灾备时要非常注意这个问题,避免光纤的问题影响我们的双中心运行。我们是如何做的?使用DWDM设备+裸光纤作为双中心链路的传输手段,并且均做到冗余,对于光纤不仅仅要做到链路冗余,还要保证其物理跳接路径的冗余;DWDM增加OLP单板,监控链路状况,保障稳定也可以自动进行切换。3.3 I/O延迟扩大化问题I/O延迟会导致数据库的热点急剧扩大,对设备的性能是一种考验,如果设备性能不足,那么很容
9、易产生宕机的风险,最小的风险也会导致业务上的响应延迟,业务端频繁报错。对此我们通过以下方式进行一定的保障:DWDM上做好通道划分,将VPLEX数据同步以及RAC心跳私网作为第一优先级进行数据传输;跨中心带宽按照功能分区实现具体限制;对业务系统进行一定的优化,分离读写,区别对待,比如核心系统的批量与联机交易,可在不同节点或者不同中心执行。使用VMAX存储的FAST策略,对存储的数据进行分层及二次Cache的保障,重点业务使用SSD盘,次重点使用SAS盘,同时可以使用SSD作为内存Cache下的二次Cache,既能节省成本的投入,又能保障I/O的延迟较小。3.4 SAN网络中的故障无限扩展问题SA
10、N网络中节点故障很容易引起整个SAN网络的瘫痪,直接影响业务的运行,对此我们需要给SAN网络进行区域划分:每个中心建立自己的核心SAN网络;主机与VPLEX的SAN网络分区可以按照系统重要性单独建设;VPLEX与存储的SAN网络分区也要单独建设;整合双中心存储网络为同一SAN网络。4 总结在双活数据中心中,VPLEX的使用是较为成熟的方案,对读操作有明显的加速效果,VPLEX Metro 可以满足RTT5ms的要求。我行的数据库最主要等待事件db file sequential read一直维持在5ms左右,完全符合应用响应时间的要求。同时其纳管异构存储的功能是相对强大的,保证行方不被存储厂商
11、所绑定,同时也可以使用利旧存储设备,避免资源的浪费。考虑我行当前的业务规模以及未来5年的发展,VPLEX产品的扩容能力已经完全足够,且扩容较为方便。VPLEX产品稳定性非常好,虽然使用透写技术牺牲了一部分性能,但是却给数据的安全性增加了保障,我们的根本就是要保障数据的安全与准确性,VPLEX在双活中的使用恰恰迎合了我们的需求。VPLEX的配置相对简单,支持GUI及CLI,分层清楚明确,并且形成的结果可以直接查看MAP界面,直接看到每次封装的结果,对于新员工很友好,上手速度很快。综上所述,VPLEX产品的稳定性、安全性、高可用性、可扩展性、操作界面友好这些优点让我行选用这个产品作为存储双活的最终方案。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1