双活数据中心建设方案建议书
前言
信息是用户的命脉。
在过去的十年中,信息存储基础架构的建设为用户带来了长足的进步。
从内置存储到外部RAID存储,从共享外部RAID阵列的多台服务器,到通过SAN共享更大存储服务器的更多服务器。
在存储服务器容量不断扩展的同时,其功能也在不断增强。
从提供硬件级RAID保护到跨磁盘阵列的独立于服务器的数据镜像,存储服务器正逐渐偏离服务器外围设备的角色,成为独立的“存储层”,以为服务器提供统一的数据存储,保护和共享服务。
在数据中心。
随着用户服务的不断发展,对IT系统尤其是存储系统的要求越来越高。
考虑到用户服务的重要性,由于信息的重要性,需要多个中心来防止单个数据中心的操作风险。
多数据中心建设计划可以防止出现单个数据中心的风险,但是面对建设多个数据中心的巨额投资,如何同时使用多个数据中心已成为IT部门的首要问题。
决定者。
同时,必须使用多个数据中心在各个中心之间传输和共享生产数据。
众所周知,服务器性能的瓶颈主要在IO部分。
不同中心之间的数据传输和共享将导致IO延迟,这将影响数据中心整体表现。
同时,各种制造商继续引入新技术,新产品,不断扩大容量,不断提高性能以及越来越多的功能。
但是,由于不同存储供应商的技术实现方式不同,因此用户需要使用不同的管理界面来使用不同的供应商。
存储资源。
这样,也给用户行业的用户带来很多问题。
首先,不可能使用统一的接口来允许服务器使用不同制造商的存储服务器,并且不同制造商的存储服务器之间的数据迁移也将导致业务中断。
针对用户跨数据中心信息传输和共享的迫切需求,推出存储解决方案,很好的解决了这些问题。
第一章.方案概述
1.需求
计划建设两个数据中心,构成同城双生产系统,两中心之间距离不超过100公里;要求数据零丢失,系统切换时间小于5分钟;
2.方案简介
为了满足客户建设容灾系统的需求,我们设计了本地双活数据中心。
整体架构如下:
上图是双活数据中心总体框架,包括双活存储系统、双活数据库系统、双活应用系统和双活网络系统。
我们将利用存储双活技术和主机集群技术实现数据库系统的双活,利用负载均衡设备实现应用系统在两个数据中心内的负载均衡,利用动态域名确保两个数据中心的网络双活。
双活数据中心可以实现业务系统同时在两个节点同时工作,达到负载均衡的目的。
当生产节点出现故障时,业务系统还能够在第二生产节点上正常工作,实现业务零切换。
第二章.双活数据中心架构设计
通过对具体需求的分析,我们建议客户采用双活数据中心架构设计。
1.数据库系统双活架构设计
在这个架构中,存储层除了采用存储系统或者其他厂商存储系统外,还引进了全新一代数据整合系,实现存储系统高可靠性和同城范围内数据高效共享。
1.1本地存储高可靠性保证
在本方案中,首先要满足客户对生产中心存储系统高可靠性的需求。
目前的IT系统架构中,从应用服务器、数据库服务器到网络等各个部分都已经提供了高可靠性的设计,唯独存储系统很少有高可靠性方案的设计,这主要基于两个原因:
●存储系统自身已经有高可靠性设计,控制器、电源、链路等都是冗余设
计,可靠性较高,一般情况下很少会发生整体故障,导致数据不可访问。
●没有非常合适的技术来实现存储系统的高可靠性保证
现在全新架构的数据整合解决方案首先实现了本地存储系统的整合及高可靠性设计,而且是硬件级别的解决方案。
在本项目中,生产中心首先将两台存储设备整合在一起,实现存储级别的HA系统。
如下图显示:
1)在两台DMX3/4中分别划出两个LUN,LUN-A和LUN-B
●LUN大小一样
●RAID的保护方式一样
●为了保证性能所分布的硬盘类型和数量最好也一样
将这两个LUN同时映射给存储设备(通过图中虚线链路),存储设备可以将这些LUN进行再次RAID保护,目前存储设备支持的RAID保护级别为:
●RAID 0
●RAID 1
●分布式RAID 1
在实现本地存储HA系统时,使用RAID 1保护方式,形成一个虚拟LUN (V-LUN)。
2)存储设备通过光纤链路(图中实线链路)将V-LUN分配给主机,主机可
以进行读写操作
3)当主机向V-LUN写入I/O时,先写入V-LUN,然后再继续写入到两台
DMX3/4存储系统中
4)当其中一台存储设备发生故障,整个存储系统能够继续工作,主机访问
存储不会受到任何影响
1.2双活数据中心数据保护
本次项目客户要求首先实现本地存储高可靠性保护外,还需要实现双活数据中心,既两个数据中心的业务同时运行,任何一个数据中心出现问题,业务都会继续运行。
1.2.1通过存储设备进行数据读写
首先在第二生产节点上,DMX3/4存储系统给存储设备分配一个LUN,存储设备产生一个V-LUN。
如下图显示:
其次,通过两个节点的存储设备产生一个分布式虚拟LUN,采用分布式RAID 1保护。
如下图显示:
两个节点的主机都能够访问到这个虚拟LUN,两节点的主机都能够同时访问这个分布式虚拟LUN。
由于我们提供的是双活数据中心,两个节点中的数据要实时一致,所以在写入数据时,要确保数据被同时写入到两个节点中,这样才能保证数据两节点之间的数据一致性。
如下图所示:
1)在生产节点的主机产生I/O;
2)向存储设备写入I/O, I/O通过存储设备之间的光纤链路发送到第二生产
节点的存储设备上,
3)I/O同时写入到两个节点中的DMX3/4存储系统中;
4)第二生产节点的存储设备向生产节点存储设备发出写I/O完成的确认信
息(ACK);
1.2.2通过存储设备进行数据读取
存储设备是一个集群系统提供分布式缓存一致性保证,能够将两个或多个存储设备的缓存进行统一管理,从而使主机访问到一个整体的缓存系统。
当主机向存储设备的摸一个缓存区域写I/O时,存储设备缓存将锁定这个缓存区域,同一时刻其他主机是无法向这个缓存区域写入I/O的。
但是,当主机读取I/O时,存储设备缓存允许多个主机访问一个缓存区域,尤其是主机访问其他存储设备集群中其他存储设备所管理的数据时,统一个缓存管理会将这个I/O的具体位置告知主机,主机直接访问。
如下图显示:
1.2.3主机故障切换
我们将1个RAC的集群中的两台主机分别放置在生产和第二生产节点上,这两台主机形成一个跨数据中心的集群系统,如图中RAC1-1和RAC1-2,RAC2-1和RAC2-2。
这种设置保证了正常情况下,两节点的主机同时工作;一旦其中一个节点的主机出现故障,业务会无缝的被另外一个节点的主机所接管。
此时,RAC 的心跳线需要通过网络来进行连接。