天天看點

hp-unix下的高可用叢集設定

原文出處:http://www.ixpub.net/thread-2754263-1-1.html

雙機備份原理:在2個主機節點上分别安裝叢集軟體(如:HP ServiceGuard),對用戶端配置一個浮動IP,浮動意思是該IP位址适時綁定在2個節點中的某一個上,但該IP對用戶端是固定的。每個節點配置3塊網卡,分别是資料網卡,心跳信号網卡,以及一塊對資料和心跳備份的網卡。資料和心跳網卡需要配置IP位址,備份網卡不配,當資料或心跳網卡失效,備份網卡自動接管資料或心跳網卡IP位址。當ServieGuard啟動後,一旦主節點發生異常,如主節點停機、應用的關鍵程序退出、網絡中斷等情況發生,備節點立即啟動預設的應用程式,同時将浮動IP綁定到備節點上,整個主備機切換時間大概在2分鐘内完成,切換後,用戶端通過浮動IP透明地連接配接到備機上。當主節點故障排除後,是否要将備節點重新切換到主節點有2個政策,一是手工切換,二是自動切換,預設是手工切換。

ServiceGuard軟體的組成:

軟體元件

Package Manager 運作包管理器

Cluster Manager 叢集管理器

Network Manager 網絡管理器

主要背景程序

cmcld:節點守護程序,負責發送心跳信号、管理本地網絡、以及負責運作包的管理

cmlogd:負責在系統日志(syslog)中記錄資訊

cmlvmd:監控所有屬于叢集控制的卷組(VG)的狀态

cmsrvassistd:負責包啟動、停止腳本以及服務程式的運作

叢集的結構組成

1、節點:構成叢集的主機。一個叢集中允許的節點數量是2—16個

2、 運作包:運作包裡面包含使用者的應用程式,以及為該應用程式所配置設定的資源。報運作在某個運作的節點上,并且可以在節點間進行切換。

有關包(package)的一些概念

1、包含應用程式

2、 配置設定相應資源:①卷組、邏輯卷和檔案系統 ②浮動IP位址 ③應用程式的啟動和停止腳本 ④服務程式

規則是:配置設定給一個包的資源不能再配置設定給其他包;同一時間一個包隻能運作在一個節點上

浮動IP的概念

浮動IP是配置設定給每個應用程式(運作包)的。如果要通路一個應用程式,則需要連接配接浮動IP位址。隻需連結這個位址,而不管它實際上是在哪台主機或那塊網卡上。

浮動IP必須加載在具有同網段靜态IP位址的網卡上,當發生本機網卡切換時,浮動IP會和靜态IP一起被加載到備用網卡上。

構成叢集的硬體條件

1、主機:多台主機構成叢集,每台主機必須擁有自己獨立的根盤,強烈建議鏡像。

2、資料磁盤:由于MC/SG不能對資料磁盤故障作出響應,需要使用高可用性的磁盤陣列或對資料盤進行鏡像。

3、網絡:MC/SG中的network manager可以對網絡故障作出響應。需要配置備援的網絡裝置(網線、交換機、網卡等)。

叢集配置—相關檔案

1、/etc/cmcluster/cluster.ascii

叢集配置檔案,包含節點組成、卷組指定和相關參數設定等

2、/etc/cmcluster/cmclconfig

叢集二進制檔案,由配置檔案編譯而成,包含叢集的全部資訊

3、/etc/cmcluster/mscppkg/mscppkg.conf

包配置檔案,指定包所在的節點、監控網段、切換模式等參數資訊

4、/etc/cmcluster/mscppkg/control.sh

包控制檔案,指定包所擁有的各種資源

5、/etc/cmcluster/mscppkg/control.sh.log

包運作時記錄的日志

6、/etc/cmcluster/mscppkg/start_mscp.sh

包啟動時用于啟動應用程式的腳本

7、/etc/cmcluster/mscppkg/stop_mscp.sh

包停止時用于停止應用程式的腳本

8、/etc/cmcluster/mscppkg/mscp_service.sh

包服務腳本,執行程序監控及其它客戶化的功能

MC/SG運作過程---啟動過程

啟動叢集

1、        在每個節點上啟動守護程序cmcld

2、        所有cmcld運作正常的節點組成叢集

啟動包

1、        激活卷組,加載浮動IP,挂起檔案系統

2、        執行應用程式啟動程式(start_mscp.sh)

3、        運作服務(mscp_service.sh)

MC/SG運作過程---停止過程

停止包

1、        停止服務(mscp_service.sh)

2、        執行應用程式停止腳本(stop_mscp.sh)

3、        卸下檔案系統,解除安裝浮動IP去激活卷組

停止叢集

1、        在每個節點上停止守護程序cmcld

叢集相關指令

啟動叢集:cmruncl –v 停止叢集:cmhaltcl –v(若有包運作,加-f參數) 隻在一個節點上啟動叢集:cmruncl –n 節點名  觀察整個叢集狀态:cmviewcl –v

運作包相關指令

啟動包:cmrunpkg –v –n 節點名 包名  停止包:cmhaltpkg –v 包名

設定包的自動切換屬性:cmmodpkg –e 包名(允許包在節點之間自動切換)

cmmodpkg –e –n 節點名 包名(允許包在該節點上啟動)

運作包管理---手工切換包執行個體

将包scppkg從mscp1切換到mscp2:

步驟一:在任意主機上執行

cmhaltpkg –v scppkg

步驟二:在任意主機上執行

cmrunpkg –v –n scp2 scppkg

步驟三:在任意主機上執行

cmmodpkg –e scppkg

日志檢查---系統日志

/var/adm/syslog/syslog.log 系統日志

日志檢查---包日志

/etc/cmcluster/mscppkg/control.sh.log 包運作日志

應急處理方案

如果出現緊急情況,需要脫離雙機軟體直接啟動應用程式

1、 執行vgchange –c n vgdata,讓vg脫離MC的控制

2、 執行vgchange –a y vdata  激活vg

3、 執行ifconfig lan 1:1 inet 129.9.168.120 netmask 255.255.255.0手動将浮動IP綁定在網卡上

4、 執行/etc/cmcluster/pkg/裡的包啟動腳本或直接執行相關指令啟動應用及資料庫

雙機配置恢複後

1、停止資料庫和應用

2、執行ifconfig lan 1:1 0.0.0.0,删除浮動IP

3、執行vgchange –a n vgdata去激活vg

4、執行cmruncl –v啟動叢集,第一次啟動會由于vg不能被MC控制使得包無法啟動

5、在叢集處于running狀态時,執行vgchange –c y vgdata将vg加入MC控制

6、執行cmrunpkg –v pkg,啟動包

繼續閱讀