高可用集羣的工作原理以及概念簡介

ha_aware:通過底層傳遞的信息調用API完成集羣事務的決策

非ha_aware:作爲一個框架,能夠自動完成集羣事務的決策。

HA集羣架構

wKioL1NTaDWhN4S8AAJQlyEvHGo263.jpg


1.負責實現各層次功能的軟件:

   Messaging Layer:

                   heartbeat:有三個版本 V1、V2、V3

                   corosync/OpenAIS

                   cman:Cluster Manager(RedHat 提供)

   Resourc Allocation:

                   heartbeat V1:

                               haresources (配置文件和配置接口:haresources)

                   heartbeat V2:

                               crm(各節點都運行crmd進程,客戶端:crmsh、heartbeat-GUI,服務端:crmd

                   heartbeat V3:heartbeat+pacemaker+cluster-glue(集羣粘結器)

                               pacemaker:

                                         配置接口:

                                               CLI:crm,pcs

                                               GUI:hawk,LCMC,pacemaker-mgmt

                   cman+rgmanager:

                             rgmanager:Resources Group Manager:提供故障轉移域:Failover Domain

                             配置接口:Conga(完全生命週期配置接口)

   Resource:

           Resource Agent類型:4種

                              heartbeat legacy:heartbeat傳統類型:

                              LSB:/etc/rc.d/init.d/*

                              O:Open Cluster Framework (Provider:pacemaker,linbit等)

                              STONITH:實現節點隔離

2.資源隔離:避免集羣分裂導致的非集羣節點的資源爭用

   節點級別:STONITH、clone

   資源級別:

3.集羣的工作模型:

   A/P:工作與主備模型:兩個節點

   N-M:N>M N個節點,M個服務,活動節點爲N,備用節點爲N-M

   N-N:N個節點,N個服務

   A/A:雙主模型

4.資源的轉移方式:

   rgmanager:Failover Domain,根據故障轉移域中各節點的優先級轉移故障節點中的資源

   pacemaker:通過資源約束完成資源轉移(3種類型)

               位置約束:資源更傾向運行於哪一個節點(值越大傾向性越大)

                       inf:正無窮

                       n

                       -n

                       -inf:負無窮大

               排列約束:資源運行在同一節點的傾向性

                       inf:必須在一起

                       -inf:儘可能不會運行在一起

               順序約束:資源啓動以及關閉順序

5.資源類型:

               primitive,native:主資源,只能運行於集羣中的一個節點上

               group:組資源

               clone:克隆資源

               master/slave:主從資源,主的能執行讀寫操作,從節點只能同步主的數據,不能讀寫。


總結:

   1.一般情況集羣的節點數大於2且爲奇數。

       若集羣節點爲2或者爲偶數時,則需要仲裁設備(ping node、ping group node和仲裁盤等)。

   2.當集羣出現故障發生腦裂,羣節點和非集羣節點發生資源爭用,會造成共享儲存的文件系統崩潰,因此需要對資源進行隔離。

   3.定義多個資源運行於同一個節點的實現方式:A.排列約束 B.定義組資源

   4.如果節點不是集羣節點時,對當前運行節點的資源處理方式:A.stoped B.ignore(繼續運行,完成後不再分配資源) C.freeze D.suicide    


如有不正確的地方,請給予指正會在第一時間進行修改。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章