Linux HA集群

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:      
顺序约束:多个资源运行于同一节点时,启动和关闭的次序

未完待续......

时间: 2024-10-10 16:48:11

Linux HA集群的相关文章

Linux HA集群之Corosync + Pacemaker + DRBD + MySQL实现MySQL高可用

大纲 一.系统环境及所需软件包 二.高可用环境准备工作 三.DRBD的安装与基本配置 四.Corosync的安装与基本配置 五.基于crm配置资源 一.系统环境及所需软件包 系统环境 CentOS5.8 x86_64 node1.network.com    node1    172.16.1.101 node2.network.com    node2    172.16.1.105 软件包 corosync-1.2.7-1.1.el5.x86_64.rpm pacemaker-1.0.12-

Linux HA集群之 Corosync + Pacemaker + drbd + MySQL

大纲 一.什么是DRBD 二.DRBD工作原理 三.DRBD相关概念 四.DRBD配置过程 五.Corosync + Pacemaker + DRBD + MySQL实现 一.什么是DRBD Distributed Replicated Block Device(DRBD)是一个基于软件的.无共享.复制的存储解决方案,在服务器之间的对块设备(硬盘.分区.逻辑卷等)进行镜像. DRBD镜像数据 实时性:当应用对磁盘的数据进行修改时,复制立即发生 透明性:应用程序的数据存储在镜像设备上是独立和透明的

Linux HA集群之Heartbeat

大纲 一.什么是高可用集群 二.什么是高可用性 三.高可用集群相关概念 四.Heartbeat v1版示例 五.Heartbeat v2版示例 六.Heartbeat v3版示例 一.什么是高可用集群 高可用集群,英文原文为High Availability Cluster,简称HA Cluster,简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统 就是集群的节点(node).高可用性集群(HA cluster)是指如单系统一样地运行并

Linux HA集群之Corosync基础概念

大纲 一.什么是AIS和OpenAIS 二.什么是corosync 三.corosync安装与配置 一.什么是AIS和OpenAIS 应用接口规范AIS是用来定义应用程序接口API的开放性规范的集合这些应用程序作为中间件为应用服务提供一种开放.高移植性的程序接口.是在实现高可用应用过程中是亟需的.服务可用性论坛SA Forum是一个开放性论坛它开发并发布这些免费规范.使用AIS规范的应用程序接口API可以减少应用程序的复杂性和缩短应用程序的开发时间这些规范的主要目的就是为了提高中间组件可移植性和

Linux HA集群之Keepalived

大纲 一.什么是Keepalived 二.Keepalived工作原理 三.Keepalived + LVS的实现 一.什么是Keepalived Keepalived是用C写的简单的一个路由软件,这个项目的主要目标是对Linux系统和基于Linux的基础设施提供简单而强大负载均衡和高可用性.负载均衡架构依赖于众所周知的和广泛使用的Linux虚拟服务器(IPVS)内核模块提供第四层负载均衡.另一方面,高可用性是通过VRRP协议实现. Keepalived的作用是检测web服务器的状态,如果有一台

Linux系统架构(LB—HA集群)-HA集群配置

HA集群配置 准备两台设备,分别为主从 主: [[email protected] ~]# ifconfig eth0       inet addr:192.168.137.21 从: [[email protected] ~]# ifconfig eth0      inet addr:192.168.137.23 先开始配置 主上: [[email protected] ~]# hostname master [[email protected] ~]# iptables -F [[ema

架构之高可用性(HA)集群(Keepalived)

Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行,狭义的来讲就是之主机的冗余和接管, 它与HeartBeat RoseHA 实现相同类似的功能,都可以实现服务或者网络的高可用,但是又有差别,HeartBeat是一个专业的.功能完善的高可用软件,它提供了HA 软件所需的基本功能,比如:心跳检测.资源接管,检测集群中的服务,在集群节点转移共享IP地址的所

linux lvs集群nat模式(比上一篇的lvs nat实用)

这是一篇以apcache服务为例介绍lvs的nat模式配合keepalived实现的方案.实验拓扑图如下所示,虚线上面的大图可以看成是虚线下面"服务器群"的放大版: 本实验共用到4台linux虚拟服务器,其中两台rhel5.6作为主从HA(keepalived)服务器,另外两台rhel4.6模拟Apache服务器--用两台Apache服务器模拟多台Apache服务器. 实验原理是,用Apache服务器为代表模拟实际用到的服务器,用两台Apache模拟多台Apache,所有的Apache

HA集群之DRBD浅析及实现DRBD高可用

一.DRBD概述 DRBD (Distributed Replicated Block Device) 是 Linux 平台上的分散式储存系统. 由内核模组.用户空间工具组成,通常用于高可用性(high availability, HA)集群.其实现方式是通过网络在服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像.你可以把它看作是一种网络RAID1. DRBD的工作模式如下图: DRBD工作的位置在文件系统的buffer cache和磁盘调度器之间,数据进入Buffer Cache后,DRB