[转载]分布式双活数据中心
[转载]分布式双活数据中心
分布式双活数据中心在传统“两地三中心”模式的基础上,针对不同双活模型部署不同的技术。基于IP地址发布业务的数据中心在前端网络的Ingress方向(客户端到服务器)上需要设备支持RHI特性,在Egress方向(服务器到客户端)上需要配置网关分离。在数据中心后端需要部署服务器负载均衡与HA,以及数据分布式双活技术。基于域名发布业务的数据中心在前端网络需要采用全局负载分担设备(GSLB)进行选路。以下将对各类实现方式与技术进行介绍分析。
1 数据中心前端分布式双活网络技术
在分布式双活数据中心网络环境下,通过数据中心前端分布式双活技术,用户能快速访问“距离最近”的可用数据中心相对应的业务,提高服务响应速度,提升用户访问体验。数据中心的业务对外发布时,可以采用纯IP地址也可以采用DNS域名方式。根据业务对外发布方式的不同,数据中心前端也相应采用不同的技术实现分布式网络双活。
1.1 纯IP地址方式发布业务的前端网络双活技术
所示,当业务采用纯IP方式对外发布时,正常情况下只有主中心DC A对外发布业务路由,从而将用户访问流量牵引到主中心,实现主中心业务访问。而备中心DC B的流量管理设备(支持RHI特性)只探测业务地址,因没有探测到而不对外发布业务路由,实现主中心的备份作用。
当主中心业务迁移到备中心后,备中心的流量管理设备探测到业务IP已经转移到备中心,从而对外发布业务路由,引导用户访问备中心的业务IP,从而实现基于纯IP发布业务的数据中心前端网络双活。
值得注意的是,该方案需要备中心流量管理设备支持RHI特性(如图2所示),能够对外发布路由。数据中心间需配置网关分离(如采用ACL方式对相关报文进行控制)。若数据中心互联采用EVI方式,则天然支持网关分离,无需配置。
1.2 域名方式发布业务的前端网络双活技术
当业务系统基于DNS域名方式对外发布时,可以采用基于智能DNS解析的GSLB[1]。GSLB解决了第一步即引导数据中心前端广域网用户流量访问适当的数据中心问题,所以GSLB的应用环境往往是基于域名的多数据中心之间的负载分担和相互之间的容灾备份。
GSLB 基于DNS的流量管理机制主要完成DNS解析请求的负载均衡、服务器状态监控、用户访问路径优化。用户访问应用时,域名解析请求将由GSLB负责处理,它通过一组预先定义好的策略,将最接近用户的节点地址提供给用户,使其可以得到快速的服务。同时,它还与分布在各DC的所有GSLB节点保持通讯,搜集各节点的健康状态,以保证不将用户的请求分配到任何一个已经不可用的节点上。GSLB 通过就近探测实现负载分担.
数据中心A、B、C各部署一个GSLB,其中DC A的GSLB为主GSLB,响应流程如下:
1. Local DNS向主GSLB发起域名解析请求;
2. GSLB-A、GSLB-B、GSLB-C将访问local DNS的延迟时间等相关信息返回给GSLB-A汇总,并判断最优的地址返回给local DNS;
3. 以站点的响应时间作为引导用户的依据,用户的访问请求被导向到性能好,响应时间快的站点。
DNS方式的GSLB主要功能和特性如下:
l 应用智能:感知应用,及时发现业务中断;
l 可管理:自动切换,通知用户改变数据访问点;
l 高性能:支持流量在数据中心的动态负载均衡。
2 服务器负载均衡与HA技术
为了保证分布式双活数据中心的持续业务提供能力,需要在后端采用服务器负载均衡与HA技术,和前端网络双活配合,实现服务资源的调配和高可用保证。
2.1 服务器负载均衡
为了满足高性能和高可靠性的服务需求,将多台服务器通过网络设备相连组成一个服务器集群,每台服务器都提供相同或相似的网络服务。服务器集群前端部署一台SLB[2] 设备,负责根据已配置的均衡策略将用户请求在服务器集群中分发,为用户提供服务,并对服务器可用性进行维护。
服务器负载均衡可以工作在L4或L7模式下,一般采用L4模式。负载均衡的工作方式有以下两种。
l DR(Direct Routing)方式。(如图5所示)负载均衡设备对数据流量优化时,采用旁挂方式部署,在此模式下只有客户端的请求报文通过负载均衡设备,服务器的响应报文不经过负载均衡设备,从而减轻负载,有效的避免了其成为网络瓶颈。客户端请求报文的目的地址为虚服务地址(VSIP),此地址由负载均衡设备对外呈现。负载均衡设备分发服务请求时,不改变目的IP地址,而将报文的目的MAC替换为实服务的MAC后直接把报文转发给实服务。
l NAT方式组网更加灵活,后端服务器可以位于不同的物理位置或不同的局域网内。客户端将发往VSIP的请求发送至服务器群前端的负载均衡设备,负载均衡设备上的虚服务接收客户端请求,根据持续性功能、调度算法依次选择真实服务器,再通过网络地址转换,用真实服务器地址重写请求报文的目标地址后,将请求发送给选定的真实服务器;真实服务器的响应报文通过负载均衡设备时,报文的源地址被还原为虚服务的VSIP,再返回给客户,完成整个负载调度过程。
一般情况下,SLB更加适合在一个数据中心内部部署,而不是跨数据中心部署。因为当SLB跨数据中心部署时,会导致跨中心的广域/城域链路承载流量多,而且跨中心转发一般延迟高,流量路径复杂低效,不利于实现高性能的负载均衡集群(如图7所示)。而GSLB更加适合实现跨数据中心的负载均衡,所以GSLB和SLB配合能够很好的实现从数据中心前端到数据中心内部全路径的负载均衡,以及更好的实现服务器健康状态检测(如图8所示),主要包括:
l GSLB可针对SLB、服务器做状态监测,可消除单点故障,并引导流量避开性能较低的站点和服务器;
l 通过收集这些设备的性能测量数据,GSLB可了解网络状态,对包速率、每秒千字节、磁盘、内存、CPU 利用率以及连接数量等参数进行测量。
2.2 服务器HA技术
高可用性集群(High Availability Cluster,HA Cluster)是以减少服务器中断时间为目的实现故障屏蔽的服务器集群技术,主要包括可靠性和容错性两方面。在这种高可用集群环境下,若某台服务器出现故障导致服务中断,预先设定的接管服务器会自动接管相关应用并继续对用户提供服务,具有更高的可用性、可管理性和更优异的可伸缩性。HA Clusters是可用于“热备模式容灾”的集群技术(如表1所示),其技术特点是:
l 需要共享存储资源(磁盘卷或是复制卷),HA集群可在同城或较近距离内部署;
l 对客户端来说,集群只有一个IP地址,由Active节点响应ARP;
l 需要一个独立的网络做节点之间的进程通信(心跳);
l 心跳网络对传输延迟不敏感(如微软MSCS要求的最小心跳间隔是1秒),因此两节点间的传输延迟小于500ms即可;
l 因为对外只有一个虚IP地址,所有节点需在一个网段(二层互联);
双节点的高可用性集群典型的工作方式有以下两种。
l 主/主( Active/Active) 。集群中两节点同时运行各自的应用并且相互监控对方的情况, 当一台主机宕机后,预先设定好的另一台主机立即接管它的一切工作。这种工作方式允许最大程度的利用硬件资源,一般要求各节点具有相等或相似的处理能力,所有的服务在故障转移后仍保持可用。
l 主/从( Active /Standby) 。主机工作,从机处于监控准备状况。当主机宕机后,从机接管主机的一切工作,继续为客户机提供服务,待主机恢复正常后,用户可以自行设定以自动或手动方式将服务从Standby 上切换到Active 上,也可不切换。
厂商名称简要说明
IBM? HACMP应用于小型机的高可用服务器集群技术
OracleRAC数据库应用集群技术
Microsoft? MSCS应用于X86 Windows环境的服务器集群技术
VMware? SRM应用于虚拟化环境下的服务器集群技术
表1 常见的HA CLUSTER 产品
2.3 延时对服务器集群部署的影响
与传统IP网络应用能够容忍较大的网络传输延时不同,存储网络对传输延时非常敏感。由于服务器集群成员一般是共享存储,所以必须考虑存储延时对服务器集群部署的影响。
以通信线路SDH 155M链路(其中50M用于存储业务)为例,经过测算:光纤距离为50KM(典型的同城距离)时的单向延时为1.51 ms,正常存储系统能够接受;光纤距离为1000KM(典型的异地距离)时的单向延时为7.26 ms,将导致共享存储部署时服务器应用能力急剧下降到不可接受的程度。可见,距离因素对传输延时的影响巨大。
因此在“两地三中心”数据中心灾备方案中,远距离的异地范围要部署采用异步复制的暖备灾备方案(如图9所示),即采用广域链路如SDH、ATM或IP相连,通过存储异步复制方式实现灾备功能;同城范围内则可以部署基于共享存储的服务器HA方案(如图10所示),即两个中心之间用裸光纤、波分或SDH项链,通过存储同步复制方式部署HA Cluster,在这种部署环境下,主备中心之间需要二层互联以满足集群成员之间二层通信需求,同时还需要SAN互联以实现数据同步复制。
3 数据分布式双活技术
3.1 数据库分布式双活技术
目前主要的数据库备份技术有两种。
l 主-备方式
(如图11所示)主数据库服务器(PRIMARY)承担生产业务,备用数据库服务器(STANDBY)只完成数据复制功能。当主数据库中发生事务操作时,会同时将日志文件通过TCP/IP协议传送到备用数据库服务器,然后备用数据库对接受到的日志文件进行重放(Replay),从而保持与主数据库的一致性。当主数据库发生故障时,备用数据库服务器才会接管主数据库服务器的事务处理。此时,备用数据库服务器作为新的主数据库服务器进行数据库的读写操作,而客户端应用程序的数据库连接可以通过自动客户端重新路由机制转移到新的主服务器。当原来的主数据库服务器被修复后,又可以作为新的备用数据库服务器加入系统。主流的数据库(如IBM DB2、Oracle、SQL Server等)都支持通用主-备方式数据备份技术,金融行业业务以该备份方式为主。
l 双活数据库备份技术
随着技术的发展,出现了更加先进的双活数据库备份技术(如图12所示),采用双活数据库备份技术的主、备数据库能够同时承担生产业务并且实现备份功能,即主-主方式的数据库双活技术。极大提高数据库的利用效率。
双活数据库备份技术在源数据库端实时读取交易日志数据,捕获数据的变化部分并暂存到队列中,然后将变化的数据经过压缩和加密后通过网络传送到目的地。在目的数据库端,变化的数据被还原为标准的SQL语句提交到目的库实现修改数据的备份功能。这个备份过程是双向复制的,即可以从目的端向源端数据库做类似的复制。双活数据库备份技术能够支持灵活的拓扑复制结构(包括单向、双向、点对多点、集中和分级等方式),如图13所示。
双活数据库备份技术可以应用于高可用的容灾备份环境中,最大化利用灾备中心的IT设施,实现加倍的计算能力,提升系统整体性能,实现双中心负载均衡,改善地域分布,提高系统及网络响应实现分布式双活的数据库,双向复制,同时两端数据库都是活动的,可以对两端的数据库同时进行操作,并保证两端数据库的同步。
双活数据库备份技术提供异构环境下交易数据的实时捕捉、变换、投递,支持多种类型的异构数据库(如Oracle、DB2 UDB、Microsoft SQL Server、Sybase ASE、Teradata、Ingres、 Enscribe、SQL/MP、SQL/MX)和操作系统平台(如Windows 2000/2003/ XP、Linux、Sun Solaris、HP NonStop、HP-UX、HP TRU64、IBM AIX、IBM z/OS)。
3.2 存储分布式双活技术
在容灾备份的存储应用环境中,有两种典型的存储备份工作方式。
l 主-备方式
这是主流存储厂商如EMC、IBM、HDS等都支持的存储备份方式,即建立物理上独立的两个存储系统之间的完全的、实时的数据镜像,数据中心现场发生灾难时,确保另有一套完整的生产数据安全可用,达到容灾级别的数据高可用性。由于传统的存储备份技术是采用主备方式,从而决定了主中心和灾备中心也工作在主动-被动方式,即在同城灾备中心建立主中心的同步镜像备份,当主中心出现故障不能工作时灾备中心利用备份的存储数据接管主中心工作.
该备份技术广泛应用于各个行业,特别是在追求安全稳定高可靠地金融行业。
l 分布式双活存储技术
存储分布式双活解决方案基于存储虚拟化技术实现,用于数据中心内、跨数据中心和在数据中心之间进行信息虚拟化、访问、共享和迁移。本地联合提供站点内信息基础架构的透明协作;分布式联合提供跨远距离两个位置的读写访问能力。随着技术的不断发展,存储分布式双活技术逐步成熟,为实现分布式双活数据中心打下了良好的基础。
存储分布式双活方案承载于一个硬件与软件虚拟化平台,作为基于存储虚拟化的解决方案,可实现本地和分布式数据中心存储。通过部署存储分布式双活技术,跨数据中心实现了统一的逻辑存储映像,进而支撑分布式双活数据中心业务实现,如图15所示。
存储分布式双活技术对数据中心产生重要的价值。
? 提高数据中心可用性:分布式中心都承担生产工作负载并且同时互相提供恢复能力;
? 提高资产利用率:被动的备份中心价格昂贵并且通常闲置资源,存储分布式双活使得原来的被动备份中心也成为了承担生产任务的主中心;
? 提高性能(局部访问数据):数据不需要从“生产”站点读取,在两个站点上可以读写访问同样的数据
4 结束语
随着数据中心的建设和技术发展,分布式双活数据中心已经成为当前的技术热点。而实现分布式双活的数据中心是一个具有挑战性的系统工程,涉及到数据中心的网络系统、服务器系统、数据库系统和存储系统等多个系统的分工合作。随着数据库与存储双活技术的发展,未来分布式双活数据中心将消除数据层面对双活的限制,从而具有更好的灵活性。