二、支持系统快速恢复
二、支持系统快速恢复
有了双机集群系统,并不能高枕无忧。在此基础上,还为系统设计了磁盘阵列和数据定期备份等多种方式,以保证系统和数据的可靠性。以现有备份手段分析,目前采用的备份措施在硬件一级有磁盘镜像、磁盘阵列和双机容错等; 在软件一级有数据拷贝。
可以看到,前3种措施都属于硬件级备份,对火灾、水淹、线路故障造成的系统损坏和逻辑损坏则无能为力。只有第4种措施,即数据拷贝可以防止任何物理故障;在有严格的备份方案和计划的前提下,能够在一定程度上防止逻辑故障。
用最新的备份恢复系统数据,即使一切顺利,这一过程也至少需要2~3天时间,尤其是一个具有几百万条大记录的数据库系统,这么漫长的恢复时间,对于信息系统的用户,几乎是不可忍受的。
由于HP Alpha服务器设备比较大,对环境要求高,不适合特殊环境下的系统恢复,为了保证在特别情况下,能将综合信息数据库及时转移,并迅速提供服务,我们利用了数据库的复制技术,将HP Alpha上的Oracle数据库,通过定时自动复制,在HP LH系列PC服务器上建立一个完全的数据库备份。这样,可以保证系统在特殊情况下,系统可随时转移,大大增强了系统的可靠性。
我们设计了采用异步复制技术的多主复制方案支持全表在主数据库和备用数据库间的对称复制,允许主数据库和备用数据库对主表都有更新操作的权利。主数据库上和备用数据库上复制表的更新都会被传播到对方。在传播数据的变化时,如果其中的一个远端数据库系统没有准备好,传播变化的延迟远程过程调用就会保存在其远端系统的本地队列中,等到系统准备好以后再执行。
采用异步复制技术的多主复制方案,当HP Alpha服务器因磁盘阵列发生硬件故障或其他原因而造成系统停机和服务中断时,系统事务可以立刻转移到备用数据库上,当主数据库恢复后,备用数据库上的数据的变化将被复制到主数据库。这种机制大大提高了系统的可靠性。
三、改进系统的薄弱环节
在信息服务系统中,系统整体的可用性是依据系统中服务能力最低的环节来衡量的,所以找到系统的瓶颈并加以克服是大型信息服务系统成功的重要环节。
在综合信息数据库系统中,数据库系统采用HP Alpha服务器,而用户访问最为频繁的Web服务器采用的是PC服务器,这样Web服务是整个系统的薄弱环节。根据综合信息数据库系统的特点,定制了基于Linux的Web服务集群解决方案。
在大型综合数据库系统中,随着用户数和网络流量以几何级数增长,对网络服务的可伸缩性提出很高的要求。为用户提供访问的Web站点会因为被访问次数急剧增长和不能及时处理用户的请求,而导致用户长时间的等待。综合信息数据库系统采用Browser/Web/ Database的三层结构为用户提供服务,后台采用HP Alpha主机作为数据库服务器,具有良好的性能和稳定性,而系统Web服务器采用HP的PC服务器,成为系统中的瓶颈。针对以上需求,采用了基于IP层负载平衡调度的解决方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的服务器集群,称为Linux虚拟服务器(Linux Virtual Server,LVS)。在LVS中,具体使用以下技术:Linux内核IP层中的负载平衡调度、基于NAT的报文改写技术、带权值的轮转调度算法。
Web虚拟服务器是实现高可伸缩、高可用网络服务的Web集群。在Linux内核中实现了基于IP层负载平衡调度的方法,能灵活高效地将一组服务器组成一个高可伸缩的、高可用的网络服务。这种服务器集群的结构对客户是透明的,客户访问集群提供的网络服务就像访问一台高性能、高可用的服务器一样。客户程序不受服务器集群的影响,不需做任何修改。通过在服务器集群中透明地加入和删除结点实现系统的伸缩性,通过检测结点或服务进程故障和正确地重置系统达到高可用性。
基于IP层负载平衡调度技术的实现原理是:在操作系统核心空间中将IP层上的TCP/UDP请求均衡地转移到不同的服务器上,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。 LVS集群的体系结构如图2所示,有3个主要组成部分。
1.负载平衡器(Load Balancer),它是整个集群对外面的前端机,负责将客户请求的发送到一组服务器上执行,而客户认为服务是来自一个IP地址上的。
2.服务器池(Server Pool),是一组真正执行客户请求的服务器,执行的服务有Web、E-Mail、FTP和DNS等。
3.后端存储(Backend Storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容提供相同的服务。
负载平衡器采用IP层负载平衡调度技术。当客户请求到达时,负载平衡器根据负载情况从服务器池中选出一个服务器,将该请求转发到选出的服务器,并记录这个调度。所有的操作都是在操作系统核心空间中完成的,它的调度开销很小,所以它能调度很多服务器,而本身不会成为系统的瓶颈。服务器池的结点数目是可变的。当整个系统收到的负载超过目前所有结点的处理能力时,可以在服务器池中增加服务器来满足不断增长的请求负载。对大多数网络服务来说,结点与结点间不存在很强的相关性,所以整个系统的性能可以随着服务器池的结点数目增加而线性增长。
负载平衡器采用基于NAT的IP负载平衡技术。NAT的工作原理是报文头(目标地址、源地址和端口等)被正确改写后,客户相信它们连接一个IP地址,而不同IP地址的服务器组也认为它们是与客户直接相连的。由此,可以用NAT方法将不同IP地址的并行网络服务变成在一个IP地址上的一个虚拟服务。
在综合数据库系统的应用中,后台采用HP Alpha主机作为数据库服务器,具有良好的性能和稳定性,而系统Web服务器采用多台PC服务器,利用LVS构建Web群集服务,并可根据访问的情况动态地增加新节点,完成系统的发布服务。在系统的应用中,Web服务器软件采用基于Windows NT/2000的IIS Web服务器,文件同步采用File Sync,硬件采用相同配置的PC机作为Web服务器,使用了一台高档PC作为LVS负载平衡器,并有一台作为备份。在LVS中,采用了NAT的IP负载平衡技术和轮转调度算法,在系统的使用中,取得了良好的效果。
因内网数据库发布子系统采用Web集群技术为用户提供稳定高效的综合情报资料查询服务。为了准确掌握用户的分布、用户查询的情报数据的类别以及访问次数,系统对终端用户的查询情况进行了自动记录,记载每个访问用户的服务器名和IP地址、访问的数据类型、登录时间、提供服务的服务器IP地址等信息。根据这些用户信息可进行多角度的统计,分析有哪些用户需要数据、对什么数据感兴趣、主要访问的时间段等。到目前为止,已有大量的访问记录,统计分析的结果指导综合信息数据库更科学合理地收集和组织数据,为用户提供更好的服务,同时也可为进一步建设综合信息数据仓库创造条件。
网友评论