Apache高可用性集群的研究与实现

来源 :物联网技术 | 被引量 : 0次 | 上传用户:hhejiang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:高可用性集群是以减少服务间断时间为目的的一组服务节点,该系统能够最大限度地向用户提供不间断的网络服务,使集群的整体服务最大可用。文中采用Pacemaker对Apache提供集群资源管理,并用Corosync实现通信和关系管理,当集群中的某一个节点发生故障时,其他节点将在几秒钟甚至更短时间内自动接管集群资源和服务,从而不间断的向用户提供服务,最大限度地减少服务中断的时间。本系统添加了一个VIP资源,利用VIP测试Apache的高可用性。测试结果表明,该集群系统可以有效增强Apache集群服务的可用性,具有高性价比、高可靠性、高扩展性等特点。
  关键词:Apache;Pacemaker;Linux;高可用;资源配置
  中图分类号:TP302.1 文献标识码:A 文章编号:2095-1302(2016)08-00-03
  0 引 言
  随着计算机网络的广泛应用,确保向用户提供连续不间断的网络服务变得日趋重要。在金融、电信以及政府等领域,服务器设备担负着存储、处理和传递大量重要信息等任务,一旦服务器出现故障,可能会给用户造成非常严重的损失。因此,要保证网络服务的连续性,使用高可用集群技术是最佳选择。
  高可用集群作为一个整体向用户提供一组服务不间断的网络资源,为了确保集群对外连续不断地提供可用的服务,实现故障检测和业务切换的自动化,从而尽可能的降低因软、硬件故障或人为操作失误带来的损失。本文介绍了现有高可用性集群系统的实现技术,提出了一种利用Pacemaker管理Apache高可用集群资源的系统方案,并设计实现了基于Apache的高可用性集群管理系统。在集群中,Corosync检测主节点和备份节点的状态,判断当前节点是否处于活跃状态。如果主节点发生故障,备份节点将自动接管资源和服务,确保集群对外提供连续的网络服务。本集群管理系统可用性高、管理简便且易实现。经多次实验反复测试,本系统能够检测故障并高效的实现主备节点资源切换,快速接管服务,从而实现Apache集群的高可用性。
  1 Pacemaker简介
  Heartbeat和Corosync都是高可用集群中的集群信息层(Cluster Messaging Layer),主要传递集群信息与心跳信息,并没有资源管理功能,资源管理依旧依赖于上层的集群资源管理器,本文采用的便是 Pacemaker集群资源管理器。Pacemaker是Heartbeat到V3版本后拆分出来的资源管理器,现在Corosync合成了高可用集群中的最佳组合。Pacemaker能够监测和恢复资源以确保集群服务的最大可用性,它可以做任意规模的集群,配备强大的依赖模型使管理员能够准确理解集群资源之间的关系,编写各种脚本对集群资源进行管理。
  Pacemaker的关键特性是能够监测故障并恢复节点服务,不需要共享存储,可以管理任何能用脚本控制的资源服务,使用STONITH保证数据的一致性,支持任意类型的集群,包括主/主, 主/备, N 1, N M, N-to-1和 N-to-N各种类型。能够自动同步集群中各节点的配置文件,设定集群范围内的多种资源约束,支持更多高级服务类型及需要多种模式的服务,也支持统一的脚本化集群shell。
  2 技术架构
  Pacemaker堆栈结构如图1所示,图中,当Pacemaker与Corosync集成时,可以支持常见的多种开源集群文件系统,并用一个通用的分布式锁控制器协调同步资源,Corosync负责通信,Pacemaker管理成员关系和隔离服务。Pacemaker的内部组件如图2所示。
  Pacemaker由以下几 个关键组件组成:
  PE 或者策略引擎 (PE or Policy Engine, PEngine):主要负责将CRM传递过来的信息按照配置文件中的设置计算出下一个集群状态。
  Stonithd(Shoot-The-Other-Node-In-The-Head ):通常用远程电源开关来充当。在 Pacemaker 中,STONITH设备被当成资源监控,然而Stonithd会根据STONITH的拓扑结构实施管理,例如它的客户端请求隔离一个节点,则它就会重启那个节点。
  集群资源管理守护进程 (Cluster Resource Management Daemon, CRMD):主要作为PEngine和lrm的消息代理,需要同时选举一个leader去协调管理集群的活动,包括集群资源的启动和停止。
  集群信息基础 (Cluster Information Base, CIB):CIB在系统中充当的是当前集群中各资源原始配置以及之后动态变化了的状态,是一个不断更新的信息库。当CIB收集到资源以及节点统计信息的变化后,都会整合到一起成为当前集群最新的信息,并分发给集群各个节点。
  3 Pacemaker功能概述
  CIB包含集群中所有资源的配置信息和当前状态,CIB的内容会被自动同步在整个集群中。PEngine计算集群的理想状态并生成指令列表,然后输送到DC(指定协调员),把所有节点选举的DC节点作为主决策节点,如果主决策节点宕机,会迅速选举建立一个新的主决策节点。DC将PEngine生成的理想策略指令列表传递给集群中其他节点上的LRMD,或者用CRMD通过集群消息传递基础结构。当集群中有节点发生故障,Pengine会重新计算理想策略。如果出现特殊情况,需要关闭节点以保护共享数据或完整的资源回收,Pacemaker则应用Stonithd设备,STONITH应用远程电源开关将节点“爆头”。Pacemaker把STONITH设备配置为资源保存在CIB中,使它可以更方便地监测节点宕机。
  4 系统的实现与测试   4.1 系统环境部署
  集群架构如图3所示,本系统采用ACTIVE/PASSIVE集群架构模式,设置两个节点node1和node2,操作系统为Ubuntu14.04,分别在两个节点上安装Apache,Corosync,Pacemaker,并添加一个虚拟IP资源,通过VIP访问两个节点上的Apache服务并测试集群的高可用性。
  4.2 系统资源配置
  4.2.1 创建一个VIP地址资源
  增加虚拟IP命令:
  primitive vip ocf:heartbeat: IPaddr params ip=10.10.10.81 nic=eth0 cidr_netmask=24
  检查配置是否正确命令:verify,如果没有报错,则配置正确。然后用commit命令提交,把信息写入cib.xml的配置文件中。
  查看添加的资源,成功添加VIP资源如图5所示。有一个VIP资源运行在node1上。
  4.2.2 设置资源黏性
  当一个节点出现故障时,资源在节点上来回流动会造成某段时间内无法正常访问,因此在资源因为节点故障转移到其它节点后,即便原来的节点恢复正常也禁止资源再次流转回来,此举可通过定义资源的黏性(stickiness)来实现。
  资源黏性是指资源更倾向于运行在哪个节点。本系统将node1资源粘性值设置为100,在没有故障的情况下资源就会在node1上。当node1出现故障时,资源才会跳转到node2上。rsc_defaults resource-stickiness=100
  4.3 系统测试
  停止node1节点服务,查看集群状态。从图6可以看出,node1离线。VIP资源在node2上运行。测试成功。
  4.4 浏览器测试
  为了区分两个节点,在Apache的index.html中分别添加Welcome to node1!Welcome to node2!,访问Apache的页面时就会出现不同的内容。
  因为配置了VIP资源,所以用VIP10.10.10.81访问时,也能够出现Apache的页面。如图8 所示,用VIP访问Apache时,可以从浏览器页面看到服务运行在node1上。
  5 结 语
  本文介绍了Pacemaker的特性,并使用Pacemaker进行资源管理以及Corosync实现通信,搭建一个Apache高可用集群系统。利用集群配置的VIP资源进行测试,当node1节点服务停止或者出现故障时,资源可以自动快速跳转到node2节点上。当恢复node1节点的服务时,资源还会停留在node2上,这样可防止资源来回流动,保持系统的稳定性和高可靠性。测试结果表明,本系统管理方便、可用性高,能够高效的切换资源,提供不间断的服务,实现集群的高可用性,从而将因软、硬件故障和人为错误带来的损失降到最低,在多个领域都可以得到广泛应用。
  参考文献
  [1] OpenStack.OpenStack High Availability Guide[EB /OL].http://docs.openstack.org/high-availability-guide/content /index.html.(2013-12-05)[2013-12-05]
  [2] OpenStack.OpenStack Installation Guide for Ubuntu12.04[EB /OL]. http://docs. openstack.org/.(2012-12-26)[2013-08-10].
  [3] High-availabilityCluster[EB/OL].http://en.wikipedia.org/wiki/High-availability_cluster
  [4] Linux HA[EB/OL]. http://www.linux-ha.org
  [5] Pacemaker[EB/OL]. http://clusterlabs.org/
  [6]宋现锋.基于Linux 的高可用性集群管理系统的设计与实现[D].西安:西安电子科技大学,2012.
  [7]崔小燕. Linux集群系统分析[J].西安邮电学院学报,2006,11(5):103-106.
  [8]归达伟.计算机集群技术[J].西安邮电学院学报,2004(4):98-100.
  [9]谢晓燕,张静雯. 一种基于Linux集群技术的负载均衡方法[J].西安邮电大学学报,2014,19(3):64-68.
  [10]訾海燕,朱国晖.一种基于服务质量的资源分配算法[J]. 西安邮电大学学报,2013,18(5):117-120.
其他文献
高校学生欠费原因分为因家庭贫困导致欠费和主观恶意欠费。对欠费原因进行分析并提出应对策略。高校收费工作进展是否顺利,直接影响到党和政府在人民群众心目中的形象和地位。
美国是国际上公共政策研究与咨询业最发达的国家,在全球约6000余家智库中拥有近2000余家,美国首都华盛顿成为全球拥有智库最多的城市,智库在美国内政外交政策的制定中发挥着重要
管理创新是地方高校内部管理工作的薄弱环节,也是地方高校持续、快速发展的关键。目前,随着高等教育的不断深入普及,如何做好内部管理的创新工作显得尤为重要。加强地方高校管理
针对遥感卫星地面接收系统高码速解调数据输出的技术需求,提出了基于网络的高码速解调数据输出技术方案。采用交换式以太网构建遥感卫星地面接收系统解调器解调数据网络的输出架构,提出了高码速解调数据实时传输协议,并通过配置IP地址的方式建立了一对一或一对多的连接线路,从而实现了高码速解调数据流的可靠、实时输出。该方案设计已用于工程项目中,测试结果表明该方案合理可行。
物联网技术在发展过程中,不断受到传统2G/3G技术的制约,使得物联网在部署范围、应用领域等方面发展受限。LTE无线网络的出现向物联网的进一步发展提供了有力保障。首先介绍分析物联网,进而对二者的融合进行了分析,着重介绍一种基于LTE技术的物联网网络架构,最后对二者融合的发展未来做出展望。
本文在强调敏感信息管理的意义及其重要性的前提下,对现今社会中政府机关、企业单位日常工作中产生的包含敏感信息的档案管理问题进行分析,文章从档案工作的日常管理角度出发,根
摘 要:利用无线传感网络技术和嵌入式实时数据处理技术,提出了一种基于nRF24L01和GSM网络的植物工厂无线监测系统。系统通过7个nRF24L01无线模块构建星型子网结构,扩展用GPRS模块SIM900A完成子网与GSM网络的无线通信,从而实现监控人员对植物工厂的远程监测。星型网络由多个采集终端和集中控制机构成6发1收模式,以集中控制方式对植物工厂的大气温度、土壤湿度、光照强度、CO2等信息进行
加强医学生社会主义核心价值观教育,是新形势下高校思想政治教育内容创新的现实要求,新时期如何有效地把社会主义核心价值观融入到医学生思想教育全过程,培养高素质创新型人
通过调研,分析了新疆生产建设兵团(以下简称兵团)特殊体制下职业院校实践中高职教育衔接的成效,总结了衔接实践中存在的问题,提出了发挥兵团体制机制的优势,在兵团职业院校中做好中
学生管理工作在高职院校中占据着重要的地位.是高职院校培养人才、教育人才的的重要基础.高职院校既要大力加强学生的思想政治教育和理论学习.努力提高学生的思想政治素质;又要在