Linux高可用集羣方案之配置heartbeat v2基於crm+hb_gui接口,配置ipvs高可用集羣

本章主要配置heartbeat v2基於crm+hb_gui接口,配置高可用+ipvs負載均衡集羣。

Heartbeat


如何安裝heartbeat v2、httpd、nfs、配置心跳連接、ssh密鑰通信、同步時間、添加名稱解析、配置yum源等請參照:

>> Linux高可用集羣方案之配置heartbeat v2基於haresources配置文件的httpd高可用集羣

http://ccschan.blog.51cto.com/11854461/1922966


 ll  本文導航 

  · 前期準備

  · 基於crm+hb_gui接口配置ipvs高可用集羣

  · 基於crm+hb_gui+ldirectord接口配置ipvs高可用集羣


  前期準備 

1、heartbeat服務主機規劃

主機接口ip服務用途
node1.chanedu.cometh0192.168.1.131

heartbeat

httpd

ipvs

ipvsadm

LAN數據轉發
心跳信息鏈路

Director Server

eth0:0爲配置ip爲VIP,提供給客戶端訪問http


eth1192.168.2.131

eth0:0192.168.1.161
node1.chanedu.cometh0192.168.1.132

heartbeat

httpd

ipvs

ipvsadm

LAN數據轉發

心跳信息鏈路

directore

eth0:0爲配置ip爲VIP,提供給客戶端訪問


eth1192.168.2.132

eth0:0192.168.1.161
rs1.chanedu.cometh0192.168.1.150httpd

LAN數據轉發

Real Server

lo:0爲配置ip爲VIP

lo:0192.168.1.161
rs2.chanedu.cometh0192.168.1.10httpd

LAN數據轉發

Real Server

lo:0爲配置ip爲VIP


lo:0192.168.1.161


2、集羣架構

wKiom1khqzHSdY9iAAP5y38JA3Y746.jpg



  基於crm+hb_gui接口配置ipvs高可用集羣 

在rs1和rs2安裝httpd並保存能正常訪問,然後設置參數,配置VIP,添加路由

# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
# ifconfig lo:0 192.168.1.161 netmask 255.255.255.255 broadcast 192.168.1.161 up
# route add -host 192.168.1.161 dev lo:0



在node1和node2上分別安裝ipvsadm。

基於DR模型配置director

關閉防火牆,配置VIP,添加路由,配置集羣

# yum -y install ipvsadm
# iptables -t filter -F
# ifconfig eth0:0 192.168.1.161 netmask 255.255.255.255 broadcast 192.168.1.161 up
# route add -host 192.168.1.161 dev eth0:0

在node1和node2上分別配置集羣服務並保存集羣的配置信息至/etc/sysconfig/ipvsadm

而後清除集羣

# ipvsadm -A -t 192.168.1.161:80 -s rr
# ipvsadm -a -t 192.168.1.161:80 -r 192.168.1.150 -g -w 1
# ipvsadm -a -t 192.168.1.161:80 -r 192.168.1.10 -g -w 2
# ipvsadm-save > /etc/sysconfig/ipvsadm
# ipvsadm -C


啓動node1和node2上的heartbeat服務,並啓動hb_gui圖形配置界面

[root@node1 ~]# service heartbeat start
logd is already running
Starting High-Availability services: 
Done.
[root@node1 ~]# ssh node2 'service heartbeat start'
logd is already running
Starting High-Availability services: 
Done.
[root@node1 ~]# hb_gui &

wKiom1kbDcSTdqZSAAC_7twHACs356.png

wKiom1kbHu7g6sJjAADw8j7kchk271.png

wKioL1kbDcWC7HK8AAEE-guLvMo326.png

wKiom1kbDcXSDIhcAABC-EX-vgQ565.png

wKioL1kbDcayJG2qAACjy3VQWr4939.png

wKiom1kbDcbwWY5yAAEQvDBxSn4115.png

wKioL1kbDcbzko8HAAAku6CPVug829.png


  基於crm+hb_gui+ldirectord接口配置ipvs高可用集羣 

1、將上面的高可用集羣信息所配置的資源都刪除,停止heartbeat,並將node1和node2上的ipvs配置文件/etc/sysconfig/ipvsadm刪除。

[root@node1 ~]# service heartbeat stop
Stopping High-Availability services: 
Done.
[root@node1 ~]# ssh node2 'service heartbeat stop'
Stopping High-Availability services: 
Done.
[root@node1 ~]# rm /etc/sysconfig/ipvsadm
rm: remove regular file `/etc/sysconfig/ipvsadm'? y
[root@node1 ~]# ssh node2 'rm /etc/sysconfig/ipvsadm'

2、在node1和node2上分別安裝ldirectord組件

在node1上安裝,直接rpm安裝不成功,需要解決依賴關係,改爲yum安裝,可解決依賴關係

[root@node1 heartbeat_v2]# rpm -ivh heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm 

error: Failed dependencies:

perl(Mail::Send) is needed by heartbeat-ldirectord-2.1.4-12.el6.x86_64

[root@node1 heartbeat_v2]# yum -y install heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm 


[root@node2 heartbeat_v2]# yum -y install heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm


3、複製配置文件

在node1上將/usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf複製到/etc/ha.d/目錄下。

wKioL1kbGIXyUCYyAAAX9HpqQZs712.png

# cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/
# cat /etc/ha.d/ldirectord.cf | grep -E -v '^#|^$'
checktimeout=3
checkinterval=1
autoreload=yes
logfile="/var/log/ldirectord.log"
quiescent=yes
virtual=192.168.1.161:80
	real=192.168.1.10:80 gate
	real=192.168.1.150:80 gate
 	fallback=127.0.0.1:80 gate
	service=http
	request=".health.html"
	receive="OK"
	scheduler=rr
	#persistent=600
	#netmask=255.255.255.255
# scp /etc/ha.d/ldirectord.cf node2:/etc/ha.d/
# scp /etc/ha.d/ldirectord.cf node2:/etc/ha.d/
ldirectord.cf                                            100% 7500     7.3KB/s   00:0

4、在node1和node2啓動httpd,並創建內容爲Maintenance Time的.health.html頁面,當RS都不在線時,將在客戶端顯示此頁面內容。

將httpd.conf配置文件中的Directored Index項的第一個位置修改爲.health.html頁面

# service httpd start
# vim /var/www/html/.health.html
# cat /var/www/html/.health.html
<h1>Maintenance Time</h1>

5、在rs1和rs2啓動httpd,並創建內容爲OK的.health.html頁面,這個頁面是指RS的健康狀態檢測頁

# service httpd start
# vim /var/www/html/.health.html
# cat /var/www/html/.health.html
OK

6、配置高可用集羣

新建名爲ipvs_service的資源組

wKiom1kbJPXw8MwQAADeiBNT890234.png

配置vip資源

wKioL1kbJPajAkLhAADw8j7kchk694.png

配置ldirectord,指定configfile文件的位置爲/etc/ha.d/ldirectord.cf

wKiom1kbJPawK4k9AAC1xy_3Tsk457.png

啓動ipvs_service資源組

wKioL1kbJPfjyAgZAAEFhhDtBa4936.png

客戶端訪問

wKiom1kcWkizUuXoAAAcppn3280555.pngwKiom1kcWkjAgosyAAAc5D_jGX4768.png


讓RS1和RS2下線。

wKioL1kcWkmQLSUwAAAjiKPuZG0050.png



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