设为首页 收藏本站
查看: 2329|回复: 0

[经验分享] [转载] OpenAIS集群分析

[复制链接]

尚未签到

发表于 2015-9-10 12:05:40 | 显示全部楼层 |阅读模式
  [转载] http://blog.sina.com.cn/s/blog_7695e9f40100pcnz.html
  
  一.AIS概述
  应用接口规范(AIS)是用来定义应用程序接口(API)的开放性规范的集合,这些应用程序作为中间件为应用服务提供一种开放、高移植性的程序接口。是在实现高可用应用过程中是亟需的。服务可用性论坛(SA Forum)是一个开放性论坛,它开发并发布这些免费规范。使用AIS规范的应用程序接口(API),可以减少应用程序的复杂性和缩短应用程序的开发时间,这些规范的主要目的就是为了提高中间组件可移植性和应用程序的高可用性。SAF AIS是一个开放性工程,在不断更新中。目前主要的服务如图1所示:
  
DSC0000.jpg
    绿色部分为AIS管理的服务包括IMM,NTF,LOG,和SEC。中间红色部分为AIS 管理框架,有AMF和SMF两个架构。右边红色部分为AIS提供的公共服务,包括CKPT,EVT,LCK,MSG,NAM,TMR。下边红色部分CLM和PLM。AIS各个实体之间关系如图2所示。PLM在处在AIS最底层提供硬件的逻辑视图和系统低级软件,这些低级软件可以构成了操作系统,并为各种应用程序提供了执行的环境。CLM是在集群中描述集群节点的信息和集群节点的配置信息。AMF,SMF是AIS的两个框架,AMF是集群框架,为集群各个实体提供注册、注销,错误报告,保护组管理,可用性管理,健康状况监控等。SMF是服务管理框架,作用包括保持活动状态模型、监控由于软件改变造成的潜在的错误信息、配置恢复错误信息的步骤等。AIS Utility Services为AIS提供公共服务。AIS Management Services是AIS管理服务的对象。(其他组件详细资料在AIS文档中,此处略)
  
  
DSC0001.jpg

  二.OpenAIS概述
OpenAIS是基于SA Forum 标准的集群框架的应用程序接口规范。OpenAIS提供一种集群模式,这个模式包括集群框架,集群成员管理,通信方式,集群监测等,能够为集群软件或工具提供满足 AIS标准的集群接口,但是它没有集群资源管理功能,不能独立形成一个集群。OpenAIS组件包括AMF,CLM,CKPT,EVT,LCK,MSG,TMR,CPG,EVS等,因OpenAIS分支不同,组件略有不同。(下面介绍)OpenAIS主要包含三个分支:Picacho,Whitetank,Wilson。Wilson是最新的,比较稳定的版本是从openais 1.0.0到openais1.1.4。Whitetank现在是主流分支版本,比较稳定的版本是openais0.80到openais0.86。Picacho第一代的OpenAIS的分支,比较稳定的版本是openais0.70和openais0.71。现在比较常用的是Whitetank和Wilson,两者之间有很多不同。OpenAIS从Whitetank升级到Wilson版本后,组件变化很大,Wilson把Openais核心架构组件独立出来放在Corosync(Corosync是一个集群管理引擎)里面。Whitetank包含的组件有AMF,CLM,CKPT,EVT,LCK ,MSG, CPG,CFG,EVS, aisparser, VSF_ykd,bojdb等。而Wilson只含有AMF,CLM,CKPT,LCK, MSG,EVT,TMR(TMR,Whitetank里面没有),这些都是AIS组件。其他核心组件被放到了Corosync内。Wilson被当做Corosync的一个插件。(详细资料看OpenAIS文档)

三.Corosync概述


Corosync是OpenAIS发展到Wilson版本后衍生出来的开放性集群引擎工程。可以说Corosync是OpenAIS工程的一部分。OpenAIS从openais0.90开始独立成两部分,一个是Corosync;另一个是AIS标准接口Wilson。Corosync包含OpenAIS的核心框架用来对Wilson的标准接口的使用、管理。它为商用的或开源性的集群提供集群执行框架。Corosync执行高可用应用程序的通信组系统,它有以下特征:

● 一个封闭的程序组(A closed process group communication model)通信模式,这个模式提供一种虚拟的同步方式来保证能够复制服务器的状态。

● 一个简单可用性管理组件(A simple availability manager),这个管理组件可以重新启动应用程序的进程当它失败后。

●一个配置和内存数据的统计(A configuration and statistics in-memory database),内存数据能够被设置,回复,接受通知的更改信息。

●一个定额的系统(A quorum  system),定额完成或者丢失时通知应用程序。(详细参看Corosync文档)

四.AIS、OpenAIS,Corosync的关系

1.AIS与Whitetank的关系

由图3可以看出,OpenAIS的分支版本Whitetank除了包含AIS标准的应用程序接口,同时也有自己独立的管理模块,这些独立的模块为图3中浅黄色部分,包含CPG,CFG,EVS, aisparser, VSF_ykd,bojdb等控制模块。


DSC0002.jpg

2.AIS与Wilson的关系

当OpenAIS到了Wilson以后,OpenAIS一分为二,Wilson的组件基本都是AIS组件。其他控制的核心组件被添加到Corosync中,关系如图4所示。


  
DSC0003.jpg

3.Corosync与OpenAIS关系

  图5所示,Wilson与Whitetank的主要区别在于Wilson相比Whitetank缺少核心架构。Wilson 作为Corosync的插件支持SA Forum 。
  

DSC0004.jpg

五.OpenAIS集群实例

1.CMAN(略)

CMAN是红帽RHCS套件的核心部分,CCS是CMAN集群配置系统,配置cluster.conf,而cluster.conf其实就是openais的配置文件,通过CCS映射到openais。

2.Pacemaker1.x+corosync1.x+openais1.x

Pacemaker升级到1.0版本后,从Heartbeat独立出来,Pacemaker achieves maximum availability for your cluster services by detecting and recovering from node and service-level failures. It achieves this by utilizing the messaging and membership capabilities provided by your preferred cluster infrastructure (currently either OpenAIS or Heartbeat)


  
  注意:
        Pacemaker必须升级到1.0以后,OpenAIS必须为Wilson版本

3.成功实例

Pacemaker/Corosync/OpenAIS/OCFS2/GFS2 for Ubuntu 10.04(详情)

Pacemaker/Corosync/OpenAIS for Fedora13(配置详情)

Novell cluster(详情)

六.集群测试思考

1.SAFTEST测试工具

OpenaAIS官网说明,Whitetank和Picacho版本是采用SAFTEST测试。测试结果详情OpenAIS官网。(SATtest官网)

2.builtbot

Builtbot是用来测试Corosync的测试工具,与Pacemaker CTS一起使用(builtbot官网)

3.Pacemaker CTS

(暂无)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-111925-1-1.html 上篇帖子: [转载] Linux 高可用(HA)集群之Corosync详解 下篇帖子: FW 构建OpenStack的高可用性(HA,High Availability)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表