您的位置:首页 > 运维架构 > Linux

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

2017-05-13 23:14 916 查看
本章主要配置heartbeat v2基于crm+hb_gui接口,配置高可用+ipvs负载均衡集群。

如何安装heartbeat v2、httpd、nfs、配置心跳连接、ssh密钥通信、同步时间、添加名称解析、配置yum源等请参照:>> Linux高可用集群方案之配置heartbeat v2基于haresources配置文件的httpd高可用集群http://ccschan.blog.51cto.com/11854461/1922966
ll 本文导航 · 前期准备 · 基于crm+hb_gui接口配置ipvs高可用集群 · [b]基于crm+hb_gui+ldirectord接口配置ipvs高可用集群[/b][b][b][b][b][b] 前期准备[/b][/b][/b][/b][/b][b][b][b][/b][/b][/b][b][b][b][b]1、heartbeat服务主机规划[/b][/b][/b][/b][b][b][/b][/b]
主机接口ip服务用途
node1.chanedu.cometh0192.168.1.131heartbeat
httpd
ipvs
ipvsadm
LAN数据转发
心跳信息链路
Director Servereth0:0为配置ip为VIP,提供给客户端访问http
eth1192.168.2.131
eth0:0192.168.1.161
node1.chanedu.cometh0192.168.1.132heartbeat
httpd
ipvs
ipvsadm
LAN数据转发
心跳信息链路
directore
eth0:0为配置ip为VIP,提供给客户端访问
eth1192.168.2.132
eth0:0192.168.1.161
rs1.chanedu.cometh0192.168.1.150httpdLAN数据转发
Real Server
lo:0为配置ip为VIP
lo:0192.168.1.161
rs2.chanedu.cometh0192.168.1.10httpdLAN数据转发
Real Server
lo:0为配置ip为VIP
lo:0192.168.1.161
2、集群架构



[b][b][b][b][b][b][b][b][b][b][b] 基于crm+hb_gui接口配置ipvs高可用集群 [/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]在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 &






















[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b] 基于crm+hb_gui+ldirectord接口配置ipvs高可用集群 [/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]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/目录下。



# 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的资源组



配置vip资源



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



启动ipvs_service资源组



客户端访问






让RS1和RS2下线。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息