时间:2024-07-28
侯红祥
(中国电信股份有限公司泰州分公司,江苏 泰州 225300)
经过多年的信息化建设,政府、银行、医院、学校等单位的信息中心已初具规模,关键信息系统中积累了较多的数据,但原有系统建设时均采用传统的“烟囱式IT”建设模式,一个应用模块部署到一台服务器,由于业务系统数量众多,采用传统建设模式,一个单位的整套运营系统至少需要几十台以上服务器,同时为了应对少量的峰值负载,往往会过度配置计算资源,导致资源利用率低下。为了解决以上问题需要构建一个合理的数据中心[1],实现从传统的“烟囱式IT”建设模式迈向数据中心建设模式,从而消除物理边界,提升资源利用率,统一资源的分配。
在数据中心时代,为了避免不必要的数据丢失,往往需要建两套数据中心。一套作为主中心,运营生产系统,一套作为备中心,作为容灾系统。当主中心的生产系统遇到发生崩溃或者受到攻击等情况时,能在规定的时间内切换到备中心的容灾系统,从而保证生产的连续性。由于备中心的配置与主中心相当,硬件投资也相当,但主中心近乎满负荷运转时,备中心很空闲,造成了资源的浪费,设备的综合利用率不高。
本文采用虚拟化云技术对服务器资源统一管理,设计出一套能自动负载均衡的双活数据中心。用户层面只看到系统快速高效地运转,而不用关心应用在主中心还是在备中心运行,系统根据主、备中心的运行情况,动态均衡地分配负载,当一个中心发生崩溃或者受到攻击时,另一个中心能承接所有的负载,用户层面应用不受影响,从而保障应用系统安全、可靠、有效地运行,减少了资金的投入,提高了设备的综合利用率和性能,简化了设备运维管理的复杂度。
文本介绍了基于虚拟化技术的双活数据中心方案设计,首先叙述了数据中心的总体架构,然后从网络层面、应用层面、数据库层面、存储层面描述了如何实现双活设计,最后总结了实现双活设计的难点,并展望了双活数据中心发展的方向。
针对双活数据中心平台[2]建设要求,平台总体架构如图1所示,两个中心通过Internet网络,在核心层和接入层都进行负载均衡,实现网络双活。中央存储和服务器集群分别采用虚拟化技术,实现应用服务双活、数据库双活和存储双活。
图1 双活数据中心总体架构图
本方案设计的重点是主中心和备中心的外联网络链路的双活,数据中心核心网络虚拟化,分别在主中心和备中心各配置两台核心交换机并通过横向虚拟化技术将核心设备虚拟化为逻辑上的一台交换机,简化了网络管理同时提高了可靠性,同时将双中心的核心网络整合成按需调度的大型虚拟资源池。在双活数据网络中心环境下,数据中心通过前端网络双活技术,用户能快速访问“距离最近”的可用数据中心相对应的业务,提高服务响应速度,提升用户访问体验。本方案中数据中心的业务对外发布时,采用纯IP地址方式实现分布式网络双活。
在纯IP地址方式的网络双活设计中,正常情况下只有主中心对外发布业务路由,从而将用户访问流量牵引到主中心,实现主中心业务访问,而备中心的流量管理设备只探测业务地址,因没有探测到而不对外发布业务路由,实现主中心的备份作用。具体过程如图2所示。
图2 主中心业务访问图
当主中心业务迁移到备中心后,备中心的流量管理设备探测到业务IP已经转移到备中心,从而对外发布业务路由,引导用户访问备中心的业务IP,从而实现基于纯IP发布业务的数据中心前端网络双活,具体过程如图3所示。
图3 备中心业务访问图
纯IP地址方式的网络双活设计实际上还是主-备模式,不是主-主模式。采用全局负载均衡设备的动态DNS功能来实现分布式网络双活的主-主模式,通过动态DNS可以实现访问流量的智能分发,从而实现网络设计的主-主模式。
由于主备中心采用主-主模式,数据中心的出入口相当于做了冗余,一旦某个入口有故障,可从另一个入口走,只要主动做好运维管理,后期的设备维保能及时跟进,出入口部分设备的故障发现和故障处理能在短时间内排除。出入口链路不处于系统核心区域,出入口单侧端的故障不会影响整个网络的性能。在后期的建设中,可考虑出入口链路设备单侧的冗余问题。
在网络双活的基础上要实现应用的双活,必须要实施应用服务器的虚拟化及负载均衡,方案中应用程序服务在VMware虚拟机上启用[3],应用程序服务级别内置控制由vSphere来完成,保证提供安全、可用的平台。
通过使用VMware VMotion实现服务器带电维护及虚拟机实时迁移,操作过程中不需要关闭应用程序,保证应用服务不中断。VMware Hot-Add技术向虚拟机添加CPU和内存时不会导致服务中断。
使用VMware DRS对服务器资源进行负载平衡,将资源虚拟成一个统一的资源池,应用程序根据业务优先级排成不同的队列,资源池对优先级不同的应用程序队列分别提供资源,应用程序队列根据资源池的运行情况动态调整,如图4所示。
图4 基于优先级的负载平衡图
通过使用VMware Storage VMotion实现实时迁移虚拟机磁盘。
通过使用VMware vShield Zones和VMware VMsafe在应用服务级别实现企业安全策略,在共享环境中保持了对敏感数据的保护,对虚拟化层进行协调,简化了安全管理,提高了安全性。
应用平台往往由不同业务功能的子业务系统组成,各子业务系统都由不同厂商不同版本的数据库来承载业务数据,数据库双活设计需要将承载各子业务系统的数据库服务器作为一个整体数据库来考虑。本方案通过虚拟化技术将数据服务器做成一个专门的数据库服务池,利用存储虚拟化网关和ORACLE Extend RAC技术在数据底层进行同步,实现数据库的双活。
在双活数据中心模式中,参见图5,Oracle RAC数据库可实现跨站点部署,两个Oracle RAC节点分别部署到两个数据中心上,比如Oracle RAC 1部署在主中心,Oracle RAC 2部署在备中心,如果主中心发生故障,不会影响运行在备中心的Oracle RAC 2应用,再结合VMware HA技术,可保证备中心自动重启原来运行在主中心的Oracle RAC 1应用。
图5 双活数据中心模式
运行在虚拟化平台之上的Oracle RAC结合VMware vMotion技术,可实现在线维护、扩容和迁移,避免应用服务中断,通过VMware Hot-Add技术在线增加RAC节点的CPU和内存[4]。通过高速双链路与存储池相连,实现热备份和负载均衡[5]。
一个完整的双活数据中心要求业务、数据库、主机、网络、存储所有层面实现双活,其最核心部分是存储双活。存储双活通过存储虚拟化技术实现,存储虚拟化技术通过输入输出重定向和存储地址重编排来实现。存储虚拟化可作为应用服务与存储设备之间的逻辑层,其主要任务是捕获应用程序输入输出指令并重定向,对所有存储空间统一编址,并在这一基本机制衍生其他高级功能。
存储双活技术中的硬件解决方案在高可用、高性能、高扩展性方面比软件方案都更具优势,当前业界具备相当多的成熟案例。本文采用的硬件解决方案参见图6,通过分布式联合技术扩展同步了主备中心的访问能力,通过共享访问数据拷贝实现主备业务系统同时访问同一卷的愿望。通过主机集群技术实现两套业务系统同时访问同一套共享卷,并协调输入输出之间的锁机制,控制来自业务系统的输入输出访问的负载平衡和一致性。用VPLEX来保证两个存储缓存的数据一致性。两套业务系统共用的虚拟卷是由镜像卷创建的,在主备中心的数据是镜像关系,当一个中心在写的时候,另一个中心只可接受读请求,保证读出来的数据是实时更新的数据。
图6 硬件存储虚拟化
将VMware技术与Cisco网络扩展技术相结合,打破了两个中心之间的壁垒,为业务系统提供同一数据副本的共享访问,业务数据在两中心可透明地在线移动,动态平衡业务数据负载。存储双活技术中的硬件解决方案的独特特征[6]主要包括以下四点:
(1)硬件集群横向扩展,保证存储在线扩展,不影响服务应用;
(2)数据缓存规模大,利用大规模缓存减少输入输出;
(3)分布式缓存相互吻合,可动态平衡集群间输入输出;
(4)存储阵列统一视图化,显示跨中心的存储,实现跨集群的工作负载平衡。
凭借独特的横向和纵向扩展结构,通过分布式数据缓存动态平衡存储域和工作负载,实现了应用服务级的本地和远程数据访问。热插热拔功能支持在线添加、删除网络设备和虚拟存储,虚拟磁盘热扩展技术支持在线添加虚拟存储。
真正的双活数据中心,要从上到下各个层面都要实现双活,包括网络、数据库、应用服务、存储等各层面。企业中的IT基础架构设施经过多年的积累,从硬件设备、网络、数据库、应用软件到存储都来自不同厂家的不同版本,不同层面的整合又都有各种各样的技术,实现数据中心双活的难点就是技术选型要实现承上启下。本文介绍了一套完整的数据双活中心在各个层面的双活设计,最终实现了主备两个中心并行运行,一个中心断了,另一个中心正常运行,用户应用不受影响,避免了传统备中心长期处于闲置状态的情况,提高了资源利用率,并提供了双倍的服务能力。
双活数据中心随着技术的进步肯定会实现得更加完美,将来随着云计算技术的成熟,有可能实现多活数据中心或者云数据中心,为各单位提供更高的资源利用率、更加完美的容灾方案以及更加动态灵活的硬件扩展。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!