HA高可用集群学习笔记

前言

  什么是HA?HA做什么用的?

  HA(High Available)是高可用集群,是保证业务不中断性的有效解决方案;通常HA集群部署在多个节点,正在提供服务的节点成为活动节点,没有提供服务的是非活动节点;当活动节点发生故障,非活动节点会转为活动节点,向外提供服务,以保证业务的连续性;这就是HA。

一、HA(High Available)的基本结构

                       QQ图片20150624102054.png

1)Messaging Layer: 信息层

   用于节点之间传递心跳信息、传递事务信息;

 常见的有以下几类:

 Openais标准:

   heartbeat v1,v2,v3(heartbeat的三个版本)

   corosync

   cman

 非Openais标准:

   keepalived

 

2)Cluster Resource Manager:CRM, 集群资源管理

   接受上层对资源的管理,接受底层信息传递信息,以及提供接口给用户,让用户进行定义资源;

  常见的有以下几类:

  heartbeat v1:resource manager

   配置接口:/etc/ha.d/haresource

  heartbeat v2:crm;在各个节点运行crmd进程

   配置接口:crmsh(CLI客户端);hb_gui(GUI客户端)

  heartbeat v3: pacemaker;以插件方式运行或运行为独立进程  

   配置接口:crm、pcs(CLI客户端);hawk、LCMC、pacemaker-mgmt(GUI客户端)

 rgmanager:RHCS

   配置接口:clsat、cman_tool(CLI客户端);Conga(GUI客户端)

  

3)Resource Agent:RA

  常见的有以下几类:

  heartbeat legacy:传统类型的资源代理,通常位于/etc/ha.d/目录下

  LSB: 通常位于/etc/rc.d/init.d/目录下的脚本;至少能够接受{start|stop|restart|status}等参数

  OCF:Open Card Framework;其子类别:provider

  STONITH:专用于让当前节点使用STONITH设备的资源

 

二、Resource:资源

 1)资源分类:

  primitive: 主类资源,只能在于某个节点运行一份(native);

  group:组资源,也称容器;包含一个或多个资源,这多个资源需要运行于同一个节点;

  clone:克隆资源;可以在同一个集群内部于多个节点运行多份克隆; 

  master/salve:主从资源;在同一个集群内部于一个或两个节点运行两份,而此两份有主从关系;

 2)资源的约束关系:

  location:位置约束;资源对节点的倾向性;-∞,+∞

  colocation: 排列约束;定义资源在一起的倾向性;-∞,+∞;也可通过资源“分组”实现在一起的功能

  order:顺序;定义资源在某节点启用时的次序;-∞,+∞

 3)资源转移:

  failover: 故障转移

  failback:故障转回

 4)资源隔离:级别

  节点级别:STONITH

   例如:power switch

  资源级别:fencing

   例如:FC SAN switch

    

原创文章,作者:马行空,如若转载,请注明出处:http://www.178linux.com/5627

(1)
马行空马行空
上一篇 2015-06-30 16:59
下一篇 2015-06-30 17:02

相关推荐

  • shell脚本总结

    shell脚本简要总结 脚本调试 bash -n /path/to/some_script检测脚本中的语法错误 bash -x /path/to/some_script调试执行 变量 环境变量 变量声明、赋值:export name=VALUEdeclare -x name=VALUE 变量引用:$name, ${name} 显示所有环境变量: export…

    Linux干货 2016-08-21
  • Python的模块及详解(1)

    psuitil模块 filecmp模块 pycurl模块 一、系统性能信息模块psuitil psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,…

    2018-01-15
  • keepalived实现nginx的高可用-实战可用

    Keepalived.conf解析 三大部分: 全局定义块、VRRP 实例定义块及虚拟服务器定义块 实例剖析 ! Configuration File for keepalived   global_defs {    notification_email {…

    Linux干货 2015-04-14
  • 初学Linux练习题

    1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 tr ‘a-z’ ‘A-Z’ < /etc/issue  > /tmp/issue.out 2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中 3、一个linux用户给root发邮件…

    2017-11-19
  • 【招聘】北京/互联网/运维工程师/7-15K/双休,五险一金

    岗位职责:   1、负责服务器的规划、调试优化、日常监控、故障处理、数据备份、日志分析等工作;   2、参与运维流程制定,确保任何突发情况都能高效响应;  3、负责服务器部署,对服务器构架和网络进行优化和改进;  4、负责运维相关数据的收集、分析和总结;  5、负责技术运维相关的文档、手册…

    Linux干货 2016-04-05
  • 8月3日课堂笔记

    课堂笔记 linux用户和组管理(非常非常重要)    用户管理和组管理各种相关的应用程序    简单的管理命令 安全上下文:   每次对主机操作都是以发起一个进程来完成的,进程代表着人来执行操作,进程以其发起者的身份来运行;所以开机时有很多守护类的进程,我们应该以普通身份来运行,普通用户通常都是系统用户;从来不用登陆系统的;进程对文件的访问权限,取决于发起…

    Linux干货 2016-08-04