上篇我們通過(guò)heartbeat v1版本的資源管理器(haresources文件
)實(shí)現(xiàn)了基于NFS共享存儲(chǔ)的web 服務(wù)阵赠,這篇我們?nèi)匀换谏掀幕A(chǔ)上拷况,通過(guò)heartbeat v2 版本的資源管理器crm
實(shí)現(xiàn)mysql的高可用
配置heartbeatv2
配置heartbeatv2版本極為簡(jiǎn)單,只需要在heartbeat的配置文件中添加一條指令
crm on
膨更,(注意如果啟用此指令妙真,則heartbeat v1版本中haresources
資源管理器所定義的資源將不再有用。) 并安裝程序包heartbeat-gui
既可以實(shí)現(xiàn)了.
[root@node3 ~]# service heartbeat stop;ssh node4.magedu.com 'service heartbeat stop'
[root@node3 ~]# vim /etc/ha.d/ha.cf
[root@node3 ~]# grep -v "^#" /etc/ha.d/ha.cf
logfile /var/log/ha-log
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
mcast eth0 225.12.0.1 694 1 0
auto_failback on
node node3.magedu.com
node node4.magedu.com
crm on #添加此條指令
ping 192.168.99.1
compression bz2
compression_threshold 2
[root@node3 ~]# scp /etc/ha.d/ha.cf root@node4.magedu.com:/etc/ha.d/
ha.cf
[root@node3 ~]# rpm -ivh heartbeat2/heartbeat-gui-2.1.4-12.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:heartbeat-gui ########################################### [100%]
[root@node4 ~]# rpm -ivh heartbeat2/heartbeat-gui-2.1.4-12.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:heartbeat-gui ########################################### [100%]
至此heartbeat v2版本我們已經(jīng)部署完畢荚守。
啟動(dòng)服務(wù),并查看集群狀態(tài)
[root@node3 ~]# service heartbeat start;ssh node4.magedu.com 'service heartbeat start'
#查看端口5560
[root@node3 ~]# ss -tnlp|grep 5560
LISTEN 0 10 *:5560 *:* users:(("mgmtd",42585,10))
[root@node3 ~]# crm_mon #查看c集群的狀態(tài)信息
從上圖练般,我們可以看出矗漾,當(dāng)前HA集群有兩個(gè)節(jié)點(diǎn), node3和node4薄料,指定的協(xié)調(diào)員是node4(DC)敞贡。
配置資源
當(dāng)我們啟用crm on
指令時(shí),此時(shí)v1版本資源管理器haresources
所定義的資源將不再有效摄职,我們需要通過(guò)heartbeat-gui
程序包提供的hb_gui
指令來(lái)實(shí)現(xiàn)資源配置誊役。
-
1.hb_gui需要一個(gè)特定用戶(hù)hacluster登錄進(jìn)行配置
我們需要給此用戶(hù)添加密碼,因?yàn)樗辉试S無(wú)密碼登錄谷市。只要添加了密碼蛔垢,可以在集群的任意節(jié)點(diǎn)進(jìn)行登錄,迫悠。
[root@node3 ~]# echo "magedu"|passwd --stdin hacluster
- 2.打開(kāi)xshell轉(zhuǎn)化進(jìn)行登錄
[root@node3 ~]# hb_gui &
[1] 42742
點(diǎn)擊connection輸入賬號(hào)密碼進(jìn)行登錄鹏漆,如下圖:
登錄成功如下圖:
- 添加一個(gè)資源
點(diǎn)擊Resources,點(diǎn)擊+,會(huì)出現(xiàn)以下會(huì)話框:
Paste_Image.png
我們可以添加的資源有native(基本資源)创泄、group(組資源)艺玲、因?yàn)橹挥杏辛嘶举Y源才有主從和克隆的概念,所以此處我們是無(wú)法添加主從和克隆兩種資源鞠抑。
示例:定義一個(gè)web server
- ** 配置IP地址**
選擇native而后點(diǎn)擊ok饭聚,而后我們就可以通過(guò)以下頁(yè)面來(lái)配置我們的資源屬性信息,此處我們配置的是一個(gè)ip地址搁拙。
Paste_Image.png
此時(shí)我們點(diǎn)擊啟動(dòng)按鈕秒梳,此資源將會(huì)運(yùn)行起來(lái),且運(yùn)行在DC節(jié)點(diǎn)上
Paste_Image.png
[root@node4 ~]# ifconfig |grep eth0:0 -A 1
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:62:D9:12
inet addr:192.168.99.12 Bcast:192.168.99.255 Mask:255.255.255.0
- ** 配置web服務(wù)**
我們通過(guò)httpd來(lái)管理web服務(wù)
Paste_Image.png
Paste_Image.png
將資源進(jìn)行綁定
上面我們雖然定義了web服務(wù)所需要的基本資源ip和httpd感混,但是hb_gui默認(rèn)是將這些基本資源負(fù)載均衡到各個(gè)集群節(jié)點(diǎn)端幼,所以此時(shí)ip在node4節(jié)點(diǎn),而web服務(wù)在node3節(jié)點(diǎn)弧满,這仍然無(wú)法滿(mǎn)足我們的需求婆跑,故,我們需要將IP和httpd綁定在一起庭呜。我們可以通過(guò)資源約束和定義資源組兩種方法來(lái)實(shí)現(xiàn)滑进。
-
定義排列約束(Colocation)來(lái)實(shí)現(xiàn)資源綁定
通過(guò)排列約束實(shí)現(xiàn)IP和httpd在一起實(shí)現(xiàn)webservice,排序約束資源啟動(dòng)有先后順序犀忱,先啟動(dòng)ip,在啟動(dòng)httpd服務(wù),這意味著ip在哪個(gè)節(jié)點(diǎn)扶关,httpd服務(wù)就需要在哪個(gè)節(jié)點(diǎn)阴汇。- 右擊Colocation,選擇Add New Item進(jìn)而選擇colocation,點(diǎn)擊OK
Paste_Image.png
Paste_Image.png -
此時(shí)這兩個(gè)資源(IP和httpd)已經(jīng)綁定在一起了节槐。
Paste_Image.png
- 右擊Colocation,選擇Add New Item進(jìn)而選擇colocation,點(diǎn)擊OK
[root@client ~]# curl 192.168.99.12
<h1>node4.magedu.com</h1>
[root@client ~]# curl 192.168.99.12
<h1>node3.magedu.com</h1>
-
定義順序約束(order)來(lái)實(shí)現(xiàn)資源啟動(dòng)順序控制
- 右擊Order-->Add Now Order[order]-->ok
Paste_Image.png
- 右擊Order-->Add Now Order[order]-->ok
-
定義位置約束(location)來(lái)實(shí)現(xiàn)資源對(duì)節(jié)點(diǎn)的傾向性
- 右擊Location-->Add New Item【location】搀庶,此時(shí)還不夠,還需要通過(guò)其屬性(Attributes)來(lái)定義Location中資源對(duì)節(jié)點(diǎn)的傾向性
Paste_Image.png
- 右擊Location-->Add New Item【location】搀庶,此時(shí)還不夠,還需要通過(guò)其屬性(Attributes)來(lái)定義Location中資源對(duì)節(jié)點(diǎn)的傾向性