高可用集羣:實現服務的持續性達到99.999% 備份 防止單點故障
實現高可用需要的條件資源:
探測對方服務器工作是否正常即心跳信息
定義資源 服務 htpd------>資源管理器
監控某個資源或服務的工作狀況
工作的三個層次:
Infrastructure:基礎設施 :測心跳
Recourse Allocation:
資源管理器 cluster resource manager :CRM
CIB:cluster information base: xml文件定義資源信息
LRM:本地資源的工作狀況
Recourse:
資源代理resource agent :腳本
三個層次軟件:
底層的:heartbeat keeplived ultramokey openais/corosync
RHCS: redhat提供的基於openais/corosync 提供多大100個節點
二層的資源管理的:
RHCS開發的CRM
heartbeat開發的pacemaker
三層的提供的方法:
heartbeat v1
腳本實現/etc/init.d/httpd
CIF 集羣信息格式 pacemaker使用的
模型:
1、active/passive或primary/standby 主從狀態的
主處於工作狀態
從處於閒置狀態 可以使用性能不是很好的主機
主從服務器使用同一個地址 流動的
共享一個文件系統即共享存儲來放置web數據
主從服務器避免資源爭用,可使用stonith設備來解決:電源交換機、FC光纖交換機、ssh 、手動manual
2、active/active
都處於工作狀態 提供的主要服務類型不同 互爲主從的 web/p smtp/s 和 smtp/p web/s
需要兩個共享存儲 寫同一個文件時會出現問題 需要集羣文件系統解決
集羣文件系統:保證節點數據的同步 數據加鎖在修改節點可以同時看到,只會用在高可用集羣中
軟件 ocfs2 , gfs2
多個節點提供高可用集羣 ,每個節點提供不同的服務, 提供故障轉移域:轉移範圍 默認只有一個節點提供服務
故障轉移域原則: 節點故障達到半數以上時,正常的節點也不再提供服務 該高可用集羣就不能使用--->
quorum 法定代表票數 防止brain-split 總的票數是定義好的 並不是一個節點只有
一票 根據性能定義
各節點停止心跳信息使用多播
解決集羣director採用數據庫的形式數據庫不同步的問題
drbd :基於塊設備 主機之間保持數據的一致性
rsync :基於文件的 實現數據的一致性