为保证整个虚拟数据中心系统的安全可靠,本方案针对系统的核心部分,包括 VDC运营管理平台、虚拟计算管理平台、数据库系统等设计了高可靠和高可用方案,主要通过高可用集群和负载均衡集群来实现。
一、高可用集群
高可用集群简称 HA群集,其主要技术特点是加入HA群集中主机处于主备工作模式状态,通过资源监视器监控资源运行情况,致力于通过主备资源切换来实现主机系统的高可用性。
在 HA群集系统中,所有的应用程序、数据文件、磁盘、网络IP地址等都可被抽象为资源,资源可以组成一个资源组,它是HA群集系统可以进行故障切换的最小单元。资源的存在可以分为五种状态:
l Offline,资源不能被别的资源或者客户机使用;
l Offline Pending,资源正处于 Offline的过程中;
l Online,资源处于可用的状态;
l Online Pending,资源正处于 Online的过程中;
l Failed,资源出现了无法解决的问题。
HA群集服务用依赖性来定义不同资源彼此之间的关系,根据资源间的相互依赖关系来决定把这些资源变为在线或者是离线的顺序。
HA群集服务会启动一个资源监视器来监视节点中的全部资源,所有的资源都处于资源监视器的监视之下,资源监视器与资源进行通信,侦测对应资源的状态,监视器再把信息提供给群集服务。资源监视器会发送状态信息的请求检查资源是不是可用,一般会有两种级别的检查: LooksAlive和IsAlive。LooksAlive级别的检查相对比较简单,每隔一段时间(相对比较短的时间,一般是5秒),资源监视器会进行一次LooksAlive级别的检查,如果资源没有响应,监视器会向群集服务报告。IsAlive级别的检查是非常完整的检查,它会彻底检查资源是不是工作正常,IsAlive检查的时间间隔比LooksAlive要长,一般是1分钟。
故障切换( Failover)是指把出现故障的节点上的资源重新定位到另一个可用的节点上。负责监视资源的资源监视器一旦发现资源出现故障,它就会通知群集服务,群集服务会根据事前定义好的策略触发对应的事件。虽然发现的是个别资源的故障,但是群集还是会把整个资源组进行故障切换。
故障切换会在三种不同的情况下发生:人工(一般是因为管理员的请求)、自动或者在特定的时间(由群集管理软件设定)。自动故障切换又包含了三个阶段:故障发现、资源重新定位和重新启动应用程序(一般是故障切换过程中最耗费时间的)。当达到资源组的故障切换阀值时,自动的故障切换才会发生,阀值是可以设定的,一般由管理员来设定。
故障恢复( Failback)是一种故障切换的特例,是指发生故障切换之后,把部分或者全部资源组移回它们首选的节点的过程。首选的节点就是指群集中指定的运行资源组的道选的节点,如果是多个节点的高可用性方案,就会有多个首选的节点。当首选的节点出现故障后,对应的资源组就切换到另外的可用节点上,当出现故障的节点恢复正常后,资源组可以自动的切换回首选节点。如果没有定义首选节点,资源组就不会自动切换回来。
高可用性实现过程如下:资源监视器根据设定的时间间隔对资源进行 LookAlive和IsAlive两种级别的检查,一旦发现某一个资源不可用,就会试图重新启动该资源。根据阀值的设定,如果在某一时间段内,资源不可用的情况达到了设定的阀值时,就会发生故障切换。经过故障切换的过程,对应的资源组在另外一个节点上重新启动了,继续为客户提供服务,对客户来说工作没有影响,这就完成了一次故障切换。当出现故障的节点恢复正常以后,如果事先对该资源组设定了首选节点,就会把该资源组移回该首选节点。
 
二、负载均衡集群
负载均衡集群简称 LB群集,其主要技术特点是加入负载均衡集群中的所有节点都处于活动状态,使用负载均衡的软件或硬件设备来实现负载的动态调度和合理分摊,致力于通过来多主机节点负载均衡集群架构实现主机系统灵活伸缩性和高可靠性。
Web服务器群集和应用服务器群集推荐主要使用负载均衡集群来提升其服务的可靠性和灵活的动态扩展性。
在负载均衡群集的设计中,系统拓扑一般被设计为对称结构。在对称结构中每台服务器都具备等价的地位,都可以单独对外提供服务。通过负载算法,分配设备将外部发送来的请求均匀分配到对称结构中的每台服务器上,接收到连接请求的服务器都独立回应客户的请求。
负载均衡群集系统使应用程序处理负载或网络流量负载可以在主机群集中尽可能平均地分摊处理,非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。对于网络流量也如此。通常, WEB服务器或者应用服务器接受了太多的入网流量,以致无法迅速处理,这就需要将流量发送给在其它节点上运行的服务器,还可以根据每个节点上不同的可用资源或网络的特殊环境来进行优化。
负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法来扩展服务器带宽,增加吞吐量,提高数据处理能力,同时又可以避免单点故障。负载均衡的作用就像轮流值日制度,把任务分给大家来完成,以免让一个人过度劳累。但是与轮流值日制度不同的是,负载均衡是一种动态均衡,它通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务分配出去。对于不同的应用环境,使用的均衡策略算法是不同的。均衡策略算法有多种多样的形式,广义上的负载均衡既可以设置专门的网关、负载均衡器,也可以通过一些专用软件与协议来实现。在 OSI七层协议模型中的第二(数据链路层)、第三(网络层)、第四(传输层)、第七层(应用层)都有相应的负载均衡策略(算法),在数据链路层上实现负载均衡的原理是根据数据包的目的MAC地址选择不同的路径;在网络层上可利用基于IP地址的分配方式将数据流疏通到多个节点;而传输层和应用层的交换(Switch),本身便是一种基于访问流量的控制方式,能够实现负载均衡。
负载均衡群集是带均衡策略算法的主机群集。负载均衡群集在多节点之间按照一定的策略分发网络或计算处理负载。目前均衡算法主要有三种:轮循( Round-Robin)、最小连接数(Least Connections First)和快速响应优先(Faster Response Precedence)。轮循算法就是将来自网络的请求依次分配给群集中的服务器进行处理。最小连接数算法就是为群集中的每台服务器设置一个记数器,记录每个服务器当前的连接数,负载均衡系统总是选择当前连接数最少的服务器分配任务。这要比"轮循算法"好很多,因为在有些场合中,简单的轮循不能判断哪个服务器的负载更低,也许新的工作又被分配给了一个已经很忙的服务器了。快速响应优先算法是根据群集中的服务器状态(CPU、内存等主要处理部分)来分配任务。 这一点很难做到,事实上到目前为止,采用这个算法的负载均衡系统还很少。尤其对于硬件负载均衡设备来说,只能在TCP/IP协议方面做工作,几乎不可能深入到服务器的处理系统中进行监测。但是它是未来发展的方向。
负载均衡群集有如下特点:
l 高性能
一个服务器群集系统由多台服务器组成,对外部而言,整个群集就如同一台高性能服务器。以 WEB服务器为例,系统只有一个对外的网络地址(主机名或IP地址),所有的HTTP请求都发到这个地址上。系统中有专门的机制能够将这些请求按照一定原则分发到群集中的各台服务器上,让它们各自分担一部分工作。
l 可扩展性
它是采用同样的方法或技术高效率地支持较大规模系统的能力。负载均衡服务器群集系统的组成结构和工作原理决定了它能够比较容易地达到较好的可扩展性,因为扩大系统规模非常容易,只要在网络中增加新的服务器计算机即可。
l 高可用性
由于负载均衡服务器群集系统中各台服务器之间相对独立,采用一些不太复杂的技术就能使服务器群集系统达到很高的可用性。
 
三、数据库集群系统
VDC运营管理平台需要一年 365天、每周7天、每天24小时在线开展业务。如果重要的应用系统、服务器或数据不可用,就有可能导致收入损失、客户不满意、罚款以及负面报道将对企业声誉产生持久的影响。
为确保整个虚拟数据中心业务平台的正常运行,本方案里面主要从以下两个方面来保障数据库系统的高可靠性和高可用性。
首先,在整个系统里面部署两台数据库服务器,每台数据库服务器上部署安装 HA软件,一台数据库服务器作为主服务器,另一台数据库服务器作为备服务器,数据库的数据统一存放在共享存储上。日常运营中,两台数据库服务器同时运行,但是同时只有一台数据库服务器对外提供服务。当一台服务器出现故障时,高可用软件只需2-3秒即可检测到故障,并将数据库服务从失效的节点迁移到备份节点,确保业务系统的正常运营。
其次,数据库数据的备份主要分为三种类型:冷备份、热备份和逻辑备份。
Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、 ini文件。
Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在 (Archive Log)归档方式下。
Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在 restrict状态将不能保证导出数据的一致性。
数据备份首先应该制定合理的备份策略方案,本方案数据库备份采用全备份、部分备份和增量备份。备份周期为每天增量备份、每周以及每月一次的全备份等。备份介质可以是磁带库、光盘或者是其他离线存储。
 
四、VDC运营管理平台的高可靠性和高可用性
VDC运营管理平台负责对外提供虚拟计算业务,管理和调度四个城市的计算和存储资源,是整个虚拟数据中心项目的核心系统。 VDC运营管理平台主要通过硬件负载均衡来保证高可靠性和高可用性。
正常运营时,同时会有多台物理服务器运行 VDC运营管理平台,硬件负载均衡设备放置在VDC运营管理平台服务器前面。负载均衡设备会按照后台服务器的实际负载情况,将客户请求均匀分发到不同的运营管理平台服务器。如果客户访问量增加,运营管理平台负载较大时,可以随时通过添加新的运营平台服务器来分担系统负载。
通过硬件负载均衡设备不仅可以大大提升整个 VDC运营管理平台的可靠性和可用性,同时也让整个系统具有良好的可扩展性和灵活性。
 
五、虚拟计算管理平台的高可靠性和高可用性
虚拟计算管理平台部署在各个省份公司,负责物理资源的虚拟化管理和调度。虚拟计算管理平台主要包含了节点控制器、集群控制器和运行虚拟机的物理节点。为保证整个虚拟计算管理平台的正常运营,本方案针对上述三个部分制定了相应的高可靠性和可用性方案。
虚拟计算管理平台对内负责每个数据中心集群的管理和调度,对外负责和上层 VDC运营管理平台对接,具有承上启下的重要作用。每个数据中心采用两台云控制节点,应用数据存放在共享存储。云控制服务通过HA软件来实现高可用性。当一台云控制节点出现故障时,HA软件能在1-2秒内检测到故障,并切换节点控制器服务到另一个正常物理节点。云控制节点和集群节点的交互是通过异步加密WebService服务来实现的,当云控制节点出现故障切换时,不会影响到集群节点和其它物理节点的正常运行。故障切换完毕后,集群控制节点会将最新的信息反馈到云控制节点。
集群控制节点主要负责对运行虚拟机的物理服务器进行管理和调度,同时反馈相关信息给上层云控制节点,所有信息的交换都是通过异步加密 WebService方式来实现。每个集群可以采用两台集群控制节点,集群数据存放在共享存储。集群服务通过HA软件来实现高可用性。当一台集群控制节点出现故障时,HA软件能在1-2秒内检测到故障,并切换集群服务到另一个正常物理节点。集群控制节点管理的信息主要来自各个物理服务器节点,并通过定期询查的模式获取。当集群控制节点出现故障时,上层云控制节点会短暂无法获取此集群信息,但是当集群服务切换完毕后,集群服务会自动更新最新信息给上层云控制节点,不会影响到上层云控制节点的正常运行。当集群服务出现故障时,会暂时失去和运行虚拟机的物理服务器的联系,但是不会影响虚拟机和运行虚拟机的服务器,客户依然可以通过虚拟机的IP地址连接到具体的虚拟机,当集群服务切换完毕后,物理服务器会自动更新最新的信息给集群控制节点。
物理控制节点主要用来运行虚拟机,并反馈每台物理服务器的信息给上层集群控制节点。如果物理控制节点出现故障,会直接影响到客户虚拟机的运行。为了避免物理服务器的单点故障,在所有集群内的物理服务器上需要安装高可用性软件,所有物理服务器连接到共享存储,虚拟机的镜像文件统一存放在共享存储上。当物理服务器出现故障时, HA软件可以将故障服务器上的虚拟机切换到在其他物理服务器上,并自动启动,为所有虚拟机提供高可用×××。
云控制节点、集群控制节点、物理控制节点和虚拟机镜像文件都存放在共享存储上。为了保证这些系统的高可靠性,云控制节点、集群控制节点和物理控制节点的数据需要每周全面备份一次,每天增量备份一次,确保数据的可靠性。虚拟机镜像文件通常都在 10G以上,文件较大,需要每月全面备份一次,每天增量备份一次,确保用户数据的可靠性。
通过采用高可用性软件和重要数据的定期备份,可以确保整个虚拟计算管理平台的高可靠性和高可用性。不管是出现极端硬件损坏情况,或者是软件故障,整个系统都能以最快的速度恢复,并保证用户数据的安全性和完整性。