天天看點

Linux HA Cluster概述

一,高可用原理

系統可用性=平均無故障時間/(平均修複時間+平均無故障時間)

提高系統可用性:

縮短平均修複時間(備援機制)

延長平均平均無故障時間

提高系統可用性方法:

HA叢集:

    手動切換

    自動切換

叢集切換:

failover: 故障切換

failback: 修複轉會 

叢集資源:

     vip: float ip

ipvs規則

限制類型:

     位置限制(location)

     排列限制(colocation)

    順序限制(order)

解決方案:

vrrp+script: keepalived

ais:

heartbeat

corosync

cman(openais)

服務的類型:

no ha-aware

ha-aware

HA的架構:

HA分層

Messaging Layer: 基礎事務層,傳遞叢集事務及心跳資訊

提供程式:heartbeat v1, v2, v3 corosync(openAIS) cman(openAIS)

     CRM: Cluster Resource Manager

     提供程式:heartbeat v1: 自帶資料總管haresources(配置接口:配置檔案,檔案名也叫haresources)

 heartbeat v2: 自帶資料總管crm (各節點運作crmd程序,配置接口:指令行用戶端crmsh,GUI用戶端hb-gui)

 heartbeat v3 = heartbeat + pacemaker + cluster-glue 

 packmaker: 

 CLI: crm(SuSE), pcs

 GUI: hawk, LCMC, pacemaker-mgmt

 cman + rgmanager:

 resource group manager:Failover Domain, node priority

 配置接口:

 clustat, cman_tool

 Conga: luci+ricci

LRM: Local Resource Manager

     由CRM提供

RA:Resource Agent

heartbeat legacy: heartbeat和傳統類型,通常是/etc/ha.d/haresources.d/目錄下的腳本;

LSB: /etc/init.d/*

OCF(Open Cluster Framework):

provider:

STONITH: 

quorum: 法定票數(大于總票數的一半)

用來判定叢集分裂的場景中,某些節點是否可以繼續以叢集方式運作;

        with quorum 擁有法定票數,叢集正常

        with out quorum 沒有法定票數,叢集發生腦裂

仲裁裝置:

ping node

ping node group

     quorum disk: qdisk

資源隔離機制:

節點級别:STONITH

電源交換機

服務硬體管理子產品

資源級别:

     stopped

     ignore

     freeze    

     suicide   

二,CentOS或RHEL系統高可用叢集的工作模型:

CentOS 5:

        RHCS:cman+rgmanager

   選用第三方方案:corosync+pacemaker, heartbeat(v1或v2), keepalived

CentOS 6:

        RHCS: cman+rgmanager

   corosync + rgmanager

   cman + pacemaker

   heartbeat v3 + pacemaker

keepalived

三,配置高可用叢集的前提:(以兩節點的heartbeat為例)

1、時間必須保持同步

使用ntp伺服器

2、節點必須名稱互相通信

解析節點名稱

編輯/etc/hosts 叢集中使用的主機名為`uname -n`表示的主機名;

3、ping node

僅偶數節點才需要;

4、ssh密鑰認證進行通信;

繼續閱讀