EMC Vplex双活数据中心

 

总体方案描述

为了满足客户建设容灾系统的需求,我们设计了本地双活数据中心,利用EMC Vplex构建存储双活技术和主机集群技术实现数据库系统的双活,用户可以利用负载均衡设备实现应用系统在两个数据中心内的负载均衡,利用动态域名确保两个数据中心的网络双活。双活数据中心可以实现业务系统同时在两个节点同时工作,达到负载均衡的目的。当生产节点出现故障时,业务系统还能够在第二生产节点上正常工作,实现业务零切换。

在每一个生产中心, 均做到了简化管理、增加存储利用率、提高存储的扩容能力,在原有SAN架构中我们在存储和应用端插入了虚拟化层,使得后端存储在虚拟层得到统一供应,而应用端不必关心后端存储的问题,同时由于虚拟化层对存储的异构开放特征,我们在将来存储扩容时将非常方便,不再局限于品牌,结构等。此种架构对于我们的成本控制也是一个极好的手段,不仅控制了设备的总拥有成本而且可以提高存储的利用率。

因此我们引入了存储虚拟化层的核心即EMC VPLEX存储虚拟化产品来解决这些问题。将VPLEX部署在现有的SAN环境中,通过交换机ZONING划分,可以使来自主机的数据访问先通过VPLEX再达到后端存储。而VPLEX事先已经将分布在各存储中的物理LUN封装为虚拟LUN,因此主机在访问VPLEX时并不需要关注真正的物理LUN究竟在哪台存储之中,底层访问过程完全由VPLEX来完成,大大简化了管理的难度。

数据访问流程图:

 

另外,EMC VPLEX产品在一个引擎中已经包含双控制器,可以实现故障的在线切换,可在虚拟化层保证前端应用的持续、可靠、安全、快速访问,解除了因为存储的单点故障导致的业务停顿,减少了时间和设备、业务的费用损失。

方案优势

基于EMC VPLEX系统所构建的双活数据中心,能够实现双中心零时间切换的终极目标,使客户的业务持续运行。

技术领先:EMC VPLEX 引入了一种新的体系结构,它吸收了我们在 20 年设计、实施和完善企业级智能缓存和分布式数据保护解决方案的实践中取得的经验教训。以可扩展、高可用的处理器引擎为基础,EMC VPLEX 设计为可从小型配置无缝扩展到大型配置。VPLEX 驻留在服务器和异构存储资产之间,使用独特的群集体系结构,此体系结构允许多个数据中心的服务器具有对共享块存储设备的读/ 写访问权限。

此新体系结构的独特特征包括:

■ 横向扩展群集硬件,允许您从小配置开始并以可预知的服务级别逐步扩展

■ 高级数据缓存,它利用大规模 SDRAM 缓存提高性能并减少 I/O 延迟和阵列争用

■ 分布式缓存吻合性,可跨整个群集自动执行 I/O 的共享、平衡和故障切换

■ 跨 VPLEX 群集的一个或多个 LUN 的统一视图

这些群集可以是在同一数据中心内相距几英尺,也可以跨同步距离 - 从而实现新的高可用性和工作负载移置模式凭借独特的纵向扩展和横向扩展体系结构,VPLEX 高级数据缓存和分布式缓存吻合性提供了工作负载弹性、存储域的自动共享、平衡和故障切换,并帮助实现了有可预知服务级别的本地和远程数据访问。

双活中心方案描述

通过需求的分析,我们建议客户采用双活数据中心架构设计。

● 主机、数据库系统双活架构设计

在这个架构中,存储层除了支持EMC 存储系统外,还支持目前主流存储厂商(HDS,IBM,Netapp等)的产品,通过引进了EMC全新一代数据整合系统VPLEX,由VPLEX实现存储系统高可靠性和同城范围内数据高效共享。

● 本地存储高可靠性保证

在本方案中,首先我们要满足客户对生产中心存储系统高可靠性的需求。目前的IT系统架构中,从应用服务器、数据库服务器到网络等各个部分都已经提供了高可靠性的设计,唯独存储系统很少有高可靠性方案的设计,这主要基于两个原因:

1)存储系统自身已经有高可靠性设计,控制器、电源、链路等都是冗余设计,可靠性较高,一般情况下很少会发生整体故障,导致数据不可访问。

2)没有非常合适的技术来实现存储系统的高可靠性保证。

现在EMC推出了全新架构的数据整合解决方案——VPLEX,VPLEX首先实现了本地存储系统的整合及高可靠性设计,而且是硬件级别的解决方案。

在本项目中,生产中心VPLEX首先将两台存储整合在一起,实现存储级别的HA系统。如下图显示:

● 在两台存储中分别划出两个LUN,LUN-A和LUN-B

● LUN大小一样

● RAID的保护方式一样

● 为了保证性能所分布的硬盘类型和数量最好也一样

● 将这两个LUN同时映射给VPLEX(通过图中虚线链路),VPLEX可以将这些LUN进行再次RAID保护,目前VPLEX支持的RAID保护级别为:

RAID 0

RAID 1

● 分布式RAID 1

● 在实现本地存储HA系统时,使用RAID 1保护方式,形成一个虚拟LUN(V-LUN)。

● VPLEX通过光纤链路(图中实线链路)将V-LUN分配给主机,主机可以进行读写操作

● 当主机向V-LUN写入I/O时,先写入V-LUN,然后再继续写入到两台存储系统中

● 当其中一台存储设备发生故障,整个存储系统能够继续工作,主机访问存储不会受到任何影响

 

双活数据中心数据保护

本本次项目客户要求首先实现本地存储高可靠性保护外,还需要实现双活数据中心,既两个数据中心的业务同时运行,任何一个数据中心出现问题,业务都会继续运行。

通过VPLEX进行数据读写

首先,在第二生产节点上, 存储系统给VPLEX 分配一个LUN,VPELX产生一个V-LUN。如下图显示:

其次,通过两个节点的VPLEX产生一个分布式虚拟LUN,采用分布式RAID 1保护。如下图显示:

两个节点的主机都能够访问到这个虚拟LUN,两节点的主机都能够同时访问这个分布式虚拟LUN。由于我们提供的是双活数据中心,两个节点中的数据要实时一致,所以在写入数据时,要确保数据被同时写入到两个节点中,这样才能保证数据两节点之间的数据一致性。如下图所示:

● 在生产节点的主机产生I/O;

● 向VPLEX写入I/O, I/O通过VPLEX之间的光纤链路发送到第二生产节点的VPLEX上, I/O同时写入到两个节点中的存储系统中;

第二生产节点的VPLEX向生产节点VPLEX发出写I/O完成的确认信息(ACK);

 

通过VPLEX进行数据读取

EMC VPLEX是一个集群系统提供分布式缓存一致性保证,能够将两个或多个VPLEX的缓存进行统一管理,从而使主机访问到一个整体的缓存系统。当主机向VPLEX的摸一个缓存区域写I/O时,VPLEX缓存将锁定这个缓存区域,同一时刻其他主机是无法向这个缓存区域写入I/O的。但是,当主机读取I/O时,VPLEX缓存允许多个主机访问一个缓存区域,尤其是主机访问其他VPLEX集群中其他VPLEX所管理的数据时,统一个缓存管理会将这个I/O的具体位置告知主机,主机直接访问。如下图显示:

存储故障切换

主机故障切换由集群保证,存储系统故障切换则由EMC VPLEX保证。

EMC VPLEX中设计了一个重要的部件——VPLEX Witness

Witness安装在客户提供的 Server 上运行,Witness最好与两个 VPLEX 集群不在同一地点,但是考虑到实际情况,也可以将Witness放置在生产节点。VPLEX Witness 使用 IP 连接监视两个 VPLEX 群集之间的系统“心跳”信号。通过监视这些心跳信号,VPLEX Witness 可以区分站点故障和站点分区。

VPLEX Witness 让应用程序能够承受任何存储故障的影响,包括同时影响整个存储设备机架的故障。VPLEX Witness 与服务器群集软件和 AccessAnywhere 相结合,形成了一套端到端的解决方案,允许在服务器出现故障时自动重启。对于 双活数据中心的部署,VPLEX Witness 能为客户提供具有零恢复点目标 (RTO) 的高可用性解决方案。

由于在生产节点已经通过VPLEX实现存储的HA,所以一个存储系统出现故障,不会影响到整个系统的正常运行。如图所示:。

第二生产节点存储系统出现故障,不会影响到整个系统的正常运行。如图所示:

◆ VPLEX系统故障

VPLEX系统自身是全冗余设计,可用性能够达到99.999%,但是为了防止VPLEX自身出现故障,VPLEX自身有一整套放置系统故障的处理流程,在这个过程中就要结合上面我们提到的Witness。如下图所示:

上图中,①—⑦种情况中,业务正常工作;⑧—⑩种情况中,业务暂停,需要少量人工干预将业务恢复,时间不会超过10分钟。

◆ 生产节点发生灾难

如果生产节点发生灾难,则所有业务要切换至第二生产节点,其过程如上图所示情况⑨,需要少量人工干预,在这种情况下人工干预是指将V-2暂时中断的工作重新启动,主机能够重新访问存储系统,最终业务恢复。

◆ 生产节点恢复

生产节点修复后,需要重新将生产节点和第二生产节点的VPLEX关联起来。

在VPLEX上重新通过两个节点的VPLEX产生一个分布式虚拟LUN,采用分布式RAID 1保护,此时业务可以正常运行,第二生产节点与生产节点之间的数据在后台进行复制,直到两边数据一致。在这个过程中,我们还需要将VPLEX的Witness修复,在其中定义生产节点为主节点。