前言
什么是HA?HA做什么用的?
HA(High Available)是高可用集群,是保證業務不中斷性的有效解決方案;通常HA集群部署在多個節點,正在提供服務的節點成為活動節點,沒有提供服務的是非活動節點;當活動節點發生故障,非活動節點會轉為活動節點,向外提供服務,以保證業務的連續性;這就是HA。
一、HA(High Available)的基本結構
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:克隆資源;可以在同一個集群內部于多個節點運行多份克?。?nbsp;
master/salve:主從資源;在同一個集群內部于一個或兩個節點運行兩份,而此兩份有主從關系;
2)資源的約束關系:
location:位置約束;資源對節點的傾向性;-∞,+∞
colocation: 排列約束;定義資源在一起的傾向性;-∞,+∞;也可通過資源“分組”實現在一起的功能
order:順序;定義資源在某節點啟用時的次序;-∞,+∞
3)資源轉移:
failover: 故障轉移
failback:故障轉回
4)資源隔離:級別
節點級別:STONITH
例如:power switch
資源級別:fencing
例如:FC SAN switch
原創文章,作者:馬行空,如若轉載,請注明出處:http://www.www58058.com/5627