1)高可用集群(HA)
為什么需要HA
由于硬件、軟件各類故障,單臺電腦提供的服務終止會導致整個服務中斷,為了提高服務的高可用,我們會搭多臺服務器同時提供服務。
A=MTBF/(MTBF+MTTR)
我們應該通過幾個9來衡量服務器的性能。(99.9% 99.99% 99.999%
2)HA中的重要概念
* Message Layer
需要運行在每個節點上
功能:
實現各節點心跳信息的傳遞,集群事務消息傳遞,并向上層提供費用的API接口
實現的軟件:
hearbeat corosync cman
* CRM 集群資源管理層 (每個資源管理器通過配置接口去配置)
功能: 調用底層message layer提供的豐富的API功能,負責集群策略,決定哪個資源運行到哪個節點
實現的軟件:
heartbeat v1 haresources (配置接口: 配置文件,文件名:haresources)
heartbeat v2 crm (配置接口: 在每個節點上運行一個crmd(5560/tcp)進程,這個有一個命令行接口,命令行接口為:crmsh; heatbeat-gui接口(程序名:hb_gui))
heartbeat v3 + pacemaker (配置接口: crmsh,pcs,GUI接口: hawk(suse上支持),pacemaker-gui)
corosync+pacemaker
cman+rgmanager(RHCS) (配置接口: cluster.conf(xml格式),system-config-cluster,conga(webgui),cman_tool.......)
組合方式:
heartbeat v1
hearbeat v2
heartbeat v3 + pacemaker
corosync + pacemaker
corosync v1 +pacemaker (pacemaker是以corosync插件運行)
corosync v2 +pacemaker (pacemaker是以獨立服務運行)
cman + rgmanager
centos6: corosync+cman+pacemaker (cman以插件形式)
在centos7上: corosync v2(支持投票系統)+ pacemaker
* LRM 本地資源管理層
功能: 接收CRM的發來的指令,負責在本地執行資源管理,通過RA資源代理層(各類服務腳本)啟動服務
* RA 資源代理層
功能:各類服務腳本
常見的服務腳本有:OCF,LSB風格的
資源代理的種類:
heartbeat v1 資源代理(有hearbeat所提供)
LSB腳本: /etc/rc.d/init.d/目錄下腳本
OCF: open cluster framework(開放集群框架)
3) 資源隔離
Stonish: 節點級別隔離
Fence: 資源級別的隔離
4) 投票系統
2節點的集群,必須需要仲裁盤或ping node
擁有法定票數(with quorum): > 總票數/2
without quorun 不擁有法定票數
5)模型
N - M N個節點運行M個服務(5個節點運行4個服務)
6)判斷資源在哪個節點
資源的約束性
位置約束:資源對節點的傾向性
排列約束: 資源彼此間是否能運行在統一節點的傾向性
順序約束:多個資源的啟動順序(判斷誰先啟動)、
定義故障轉移域(組)
故障轉移域(fda):node1,node5
7) 資源類型
主資源: primitive
在集群中只能運行一個實例
克隆資源: clone
在集群中可運行多個實例
匿名克隆 全局唯一克隆,狀態克隆
主從資源(master/slave),多狀態資源
克隆資源的特殊實現
group: 組資源、是一種特殊資源(啟動或停止、資源監視、粘性)
將多個資源組合在一起
資源屬性:
priority 優先級
target-role: 默認started,stopped,master
is-managed: 是否允許集群管理資源
resource-stickiness: 資源粘性
allow-migrate: 是否允許遷移
- 第一章:集群理論介紹
- 第二章:共享存儲
- 第一節:搭建基于 IP SAN 的 ISCSI 存儲系統(在centos6系統)
- 第二節:基于openfiler搭建共享存儲
- 第三章:高可用HA集群
- 第一節:Heartbeat高可用集群
- 第二節:corosync+pacemaker高可用nginx集群
- 第四章:反向代理(負載均衡)集群
- 第一部分:haproxy服務
- 第一節:haproxy基本介紹
- 第二節:在Centos7安裝HAProxy
- 第三節: haproxy配置文件參數詳解
- 第四節:haproxy+nginx+mysql+discuz
- 第五節:haproxy配置文件
- 第六節: Haproxy搭建全站ssl