pacemaker corosync 用LSB管理自己的服務
corosync簡介
corosync最初只是用來演示OpenAIS集羣框架接口規範的一個應用,可以說corosync是OpenAIS的一部分,但後面的發展明顯超越了官方最初的設想,越來越多的廠商嘗試使用corosync作爲集羣解決方案。如Redhat的RHCS集羣套件就是基於corosync實現。
corosync只提供了message layer,而沒有直接提供CRM,一般使用Pacemaker進行資源管理。
CRM中的幾個基本概念
資源粘性:
資源粘性表示資源是否傾向於留在當前節點,如果爲正整數,表示傾向,負數則會離開,-inf表示正無窮,inf表示正無窮。
資源類型:
primitive(native):基本資源,原始資源
group:資源組
clone:克隆資源(可同時運行在多個節點上),要先定義爲primitive後才能進行clone。主要包含STONITH和集羣文件系統(cluster filesystem)
master/slave:主從資源,如drdb(下文詳細講解)
RA類型:
Lsb:linux表中庫,一般位於/etc/rc.d/init.d/目錄下的支持start|stop|status等參數的服務腳本都是lsb
ocf:Open cluster Framework,開放集羣架構
heartbeat:heartbaet V1/V2版本
stonith:專爲配置stonith設備而用
RA類型:
1.lsb(詳細看crm中幾個基本概念)。
lsb管理/etc/init.d 目錄下
2.ocf(詳細看crm中幾個基本概念)
ocf管理的資源路徑在:(/usr/lib/ocf/resource.d)
查看 ocf 下管理的命令:
3.pacemaker corosync 搭建可以看(pacmemaker corosync 做高可靠的WEB HA)
4.創建 VIP 看(pacmemaker corosync 做高可靠的WEB HA)
5.創建LSB 來管自己的服務(此教程管理的是jetty服務)
5.1、使用lsb來註冊資源到pacemaker服務
5.1.1、查看lsb註冊資源的命令:(lsb管理命令路徑:/usr/lib/lsb)
5.1.2、lsb目錄下有兩個命令;
install_initd:安裝一個服務(注意:服務必須是在/etc/init.d目錄項)
EX:/usr/lib/lsb/install_initd /etc/init.d/CMgwMain
注意:安裝過程中出現(service CMgwMain does not support chkconfig)
需要在shell 腳本中添加兩行
#chkconfig: 2345 90 10
#description: CMgwMain
remove_initd:刪除一個服務
EX:/usr/lib/lsb/remove_initd /etc/init.d/CMgwMain
5.1.3、查看添加的LSB服務已經有了
6.添加CMgwMain到pacemaker
#添加CMgwMain到pacemaker
crm configure primitive cmgw lsb:CMgwMain op monitor interval=1min timeout=20s on-fail=restart
7.添加pacemaker:資源黏性、不具備法定票數、排列約束(colocation)和順序約束(order)(一般這兩個是成對出現):
添加排列約束(colocation)參考(pacmemaker corosync 做高可靠的WEB HA)