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

[经验分享] Linux HA集群

[复制链接]

尚未签到

发表于 2015-9-10 12:12:44 | 显示全部楼层 |阅读模式
  HA(High Availability,高可用)集群的主要目的是提高服务的在线率,也就是缩短平均无故障的时间。实际上就是当一个提供服务的服务节点不在线时,有另一个提供相同服务的节点可以继续提供服务,避免出现单点故障。
HA集群相关概念
一、相关名词解释
1、在线率
  在线率是衡量HA集群的一个重要指标,就算方式如下:
      在线率=平均无故障时间/(平均修复时间 + 平均无故障时间)
  所以提高系统的可用性:
      1)、增加平均无故障时间
      2)、缩短平均修复时间 (可以通过冗余机制实现)
2、资源
  这里的资源指的是 HA 集群提高服务时所需要的资源。例如:提供mysql服务时,需要的资源有ip地址(访问数据库的接口),mysql服务脚本(提供数据库服务),文件系统(提供数据的存储位置,可以是本地的文件系统也可以是共享文件系统,例如:nfs等)。
  对于不同的 HA 集群来说所需要的资源也是不同的。
3、资源类型

  •   主资源:primitive/native,只能运行在某一节点
  •   组资源:是多个资源的集合
  •   clone:克隆资源,一个资源可以运行于多个节点。包括克隆的份数,每个节点最多运行的克隆份数都要指定
  •   master/slave:主从资源,特殊的克隆资源。(drbd)
4、资源切换
  FailOver:故障转移,当节点出现故障时,需要实现资源的转移。
  FailBack:资源恢复,当出现故障的节点重新上线时,是否重新接管资源。
5、资源约束
  定义资源与资源之间的粘性和约束。常见的约束有位置约束、排练约束、顺序约束。
二、HA 集群架构
  这里提到的架构是使用软件的方式来实现高可用,能实现高可用集群的软件都应该实现以下几个方面的内容。
1、Messaging Layer(消息层)
     此层的主要目的是为了传递“心跳”信息。“心跳”信息: (也称为状态信息)是一定大小的广播、组播或多播数据包。可为以每个节点配置其向其它节点通报“心跳”信息的频率,以及其它节点上的进程为了确认主节点出节点出现了运行等错误之前的等待时间。
  能实现此功能的软件有:

  •   heartbeat v1
  •   heartbeat v2
  •   heartbeat v3
  •   corosync
  •   cman
2、CRM(Cluster Resource Manager集群资源管理)
  所在的HA集群中的每个节点都运行的,为高可用集群提供核心组件,包括资源的定义,属性。另外,在每个节点上都维护一个CIB(集群信息库 XML文档)和LRM(本地资源管理)组件。对于CIB只有工作在DC(主节点)上的文档才是可以修改的。对于LRM,是执行CRM传递过来的本地执行某个资源和停止的具体执行人。当某个节点发生故障时,是由DC通过PE(策略引擎)和TE(实施引擎)来决定是否抢夺资源。
  实现此层功能的软件有:
  1)、heartbeat v1: 自带资源管理器haresources,haresources:需要的是配置文件,文件名为haresources
  2)、heartbeat v2: 自带资源管理器crm,crm:需要在各节点运行crmd。配置接口:命令行:crmsh;GUI:ha-gui
  3)、heartbeat v3 = heartbeat + pacemaker + cluster-glue
    pacemaker:CLI: crm(SuSE),pcs;GUI接口:hawk,pacemaker-mgmt
  4)、rgmanager(cman作为Message Layer):会使用到Failover Domial,Node priority这些机制来管理集群。
      配置接口:CLI: clustat,cman_tool;GUI: Conga(lici + ricci)
3、RA(Resource Agent资源代理)
  能够管理本节点上的属于集群的某一资源的启动、停止和状态信息的脚本。
  常见的资源代理:
  LSB:在/etc/init.d/目录下的所有脚本
  OCF(Open Cluster Framework 开源集群架构):相比LSB来说,更加通用。
  hb legcy: /etc/ha.d/haresource.d/下的所有文件
三、资源约束
  资源运行的倾向性:(资源转移倾向性)  
资源粘性:资源倾向于留在当前节点的值 (-oo +oo)      
    -oo的意思是:只有此节点提供服务时,才选择。      
    +oo 优先选择此节点。
  资源约束:      
位置约束:资源对某一节点运行的倾向性      
     inf -inf      
排列约束:定义资源之间的倾向性      
     inf:      
     -inf:      
顺序约束:多个资源运行于同一节点时,启动和关闭的次序
  
  未完待续......

运维网声明 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-111931-1-1.html 上篇帖子: ansible 下篇帖子: 英语称谓大全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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