上一篇博客在整合HA和LB实现高可用负载集群的时候,有的是脚本实现两个HA之间的资源转移,这一个使用的是ldirectord来实现的,这就简化了配置,接下来就做具体的配置了,拓扑图依然如上篇博客《整合HA和LB来实现高可用的LB集群》所示:
一、RealServer1上的配置:
#ifconfig eth0 192.168.1.172/24
#ifconfig lo:0 192.168.1.80 broadcast 192.168.1.80 netmask 255.255.255.255 up
#route add -host 192.168.1.80 dev lo:0
#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
#echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
#yum install httpd
#echo "<h1>RealServer1</h1>" >/var/www/html/index.html
#echo "ok" >/var/www/html/.test.html
#service httpd start
#ifconfig eth0 192.168.1.172/24
#ifconfig lo:0 192.168.1.80 broadcast 192.168.1.80 netmask 255.255.255.255 up
#route add -host 192.168.1.80 dev lo:0
#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
#echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
#yum install httpd
#echo "<h1>RealServer1</h1>" >/var/www/html/index.html
#echo "ok" >/var/www/html/.test.html
#service httpd start
二、RealServer2上的配置:
#ifconfig eth0 192.168.1.178/24
#ifconfig lo:0 192.168.1.80 broadcast 192.168.1.80 netmask 255.255.255.255 up
#route add -host 192.168.1.80 dev lo:0
#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
#echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
#yum install httpd
#echo "<h1>RealServer2</h1>" >/var/www/html/index.html
#echo "ok" >/var/www/html/.test.html
#service httpd start
#ifconfig eth0 192.168.1.178/24
#ifconfig lo:0 192.168.1.80 broadcast 192.168.1.80 netmask 255.255.255.255 up
#route add -host 192.168.1.80 dev lo:0
#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
#echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
#yum install httpd
#echo "<h1>RealServer2</h1>" >/var/www/html/index.html
#echo "ok" >/var/www/html/.test.html
#service httpd start
三、Node1上的配置:
安装软件包:
#ls 安装如下软件包
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-devel-2.1.4-9.el5.i386.rpm
heartbeat-gui-2.1.4-9.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
heartbeat-pils-2.1.4-10.el5.i386.rpm
libnet-1.1.4-3.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
#yum localinstall * --nogpgcheck -y
#yum install ipvsadm
接下来就是配置了:
#ifconfig eth0 192.168.1.78/24
#ifconfig eth1 10.1.1.1/8
#vim /etc/hosts
10.1.1.1 node1.a.org node1
10.1.1.2 node2.a.org node2
#hostname node1.a.org
接下来就是关键的配置了
#cd /usr/share/doc/heartbeat
#cp ha.cf haresources authkeys /etc/ha.d/
#cd /usr/share/doc/heartbeat-ldirectord-2.1.4/
#cp ldirectord.cf /etc/ha.d/
#cd !$
#vim ha.cf
添加如下内容:
node node1.a.org
node node2.a.org
#vim authkeys
auth 2
2 sha1 jljlllkllj
#chmod 400 authkeys
#vim haresources
node1.a.org 192.168.1.80/24/eth0/192.168.1.255 ldirectord::ldirectord.cf
#vim ldirectord.cf
安装软件包:
#ls 安装如下软件包
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-devel-2.1.4-9.el5.i386.rpm
heartbeat-gui-2.1.4-9.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
heartbeat-pils-2.1.4-10.el5.i386.rpm
libnet-1.1.4-3.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
#yum localinstall * --nogpgcheck -y
#yum install ipvsadm
接下来就是配置了:
#ifconfig eth0 192.168.1.78/24
#ifconfig eth1 10.1.1.1/8
#vim /etc/hosts
10.1.1.1 node1.a.org node1
10.1.1.2 node2.a.org node2
#hostname node1.a.org
接下来就是关键的配置了
#cd /usr/share/doc/heartbeat
#cp ha.cf haresources authkeys /etc/ha.d/
#cd /usr/share/doc/heartbeat-ldirectord-2.1.4/
#cp ldirectord.cf /etc/ha.d/
#cd !$
#vim ha.cf
添加如下内容:
node node1.a.org
node node2.a.org
#vim authkeys
auth 2
2 sha1 jljlllkllj
#chmod 400 authkeys
#vim haresources
node1.a.org 192.168.1.80/24/eth0/192.168.1.255 ldirectord::ldirectord.cf
#vim ldirectord.cf
# Global Directives
checktimeout=3
checkinterval=1
#fallback=127.0.0.1:80
autoreload=yes
# pool then localhost:80 is added to the pool as a fallback measure.
# Global Directives
checktimeout=3
checkinterval=1
#fallback=127.0.0.1:80
autoreload=yes
#emailalert=" admin@x.y.z"
#emailalertfreq=3600
#emailalertstatus=all
quiescent=yes
# Sample for an http virtual service
virtual=192.168.1.80:80
real=192.168.1.172:80 gate
real=192.168.1.178:80 gate
fallback=127.0.0.1:80 gate
service=http
request=".test.html"
receive="ok"
scheduler=rr
#persistent=600
#netmask=255.255.255.255
protocol=tcp
checktype=negotiate
checkport=80
checktimeout=3
checkinterval=1
#fallback=127.0.0.1:80
autoreload=yes
# pool then localhost:80 is added to the pool as a fallback measure.
# Global Directives
checktimeout=3
checkinterval=1
#fallback=127.0.0.1:80
autoreload=yes
#emailalert=" admin@x.y.z"
#emailalertfreq=3600
#emailalertstatus=all
quiescent=yes
# Sample for an http virtual service
virtual=192.168.1.80:80
real=192.168.1.172:80 gate
real=192.168.1.178:80 gate
fallback=127.0.0.1:80 gate
service=http
request=".test.html"
receive="ok"
scheduler=rr
#persistent=600
#netmask=255.255.255.255
protocol=tcp
checktype=negotiate
checkport=80
截止到这里Node1上的都配置完成了!接下来是Node2上的配置:
四、Node2上的配置:
安装软件包:
#ls 安装如下软件包
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-devel-2.1.4-9.el5.i386.rpm
heartbeat-gui-2.1.4-9.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
heartbeat-pils-2.1.4-10.el5.i386.rpm
libnet-1.1.4-3.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
#yum localinstall * --nogpgcheck -y
#yum install ipvsadm
接下来就是配置了:
#ifconfig eth0 192.168.1.151/24
#ifconfig eth1 10.1.1.2/8
#vim /etc/hosts
10.1.1.1 node1.a.org node1
10.1.1.2 node2.a.org node2
#hostname node2.a.org
四、Node2上的配置:
安装软件包:
#ls 安装如下软件包
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-devel-2.1.4-9.el5.i386.rpm
heartbeat-gui-2.1.4-9.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
heartbeat-pils-2.1.4-10.el5.i386.rpm
libnet-1.1.4-3.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
#yum localinstall * --nogpgcheck -y
#yum install ipvsadm
接下来就是配置了:
#ifconfig eth0 192.168.1.151/24
#ifconfig eth1 10.1.1.2/8
#vim /etc/hosts
10.1.1.1 node1.a.org node1
10.1.1.2 node2.a.org node2
#hostname node2.a.org
接下来还要回到Node1上进行下一步配置文件格式转换和拷贝的操作了
#cd /usr/lib/heartbeat/
#./haresources2cib.py //转换成cib.xml格式的文件
#cd /etc/ha.d
#scp ldirectord.cf haresources node2:/etc/ha.d/
#cd /usr/lib/heartbeat/
#./ha_propagate //拷贝ha.cf和authkeys两个文件
#cd /usr/lib/heartbeat/
#./haresources2cib.py //转换成cib.xml格式的文件
#cd /etc/ha.d
#scp ldirectord.cf haresources node2:/etc/ha.d/
#cd /usr/lib/heartbeat/
#./ha_propagate //拷贝ha.cf和authkeys两个文件
配置完成,接下来就是启动服务了,我均在Node1上启动
#/etc/init.d/heartbeat start
#service ldirectord start
#ssh node2 -- '/etc/init.d/heartbeat start'
#ssh node2 -- 'service ldirectord start' (注:我这里的命令执行都是不用密码的,详细操作请看《整合HA和LB来实现高可用的LB集群》中的介绍)
#/etc/init.d/heartbeat start
#service ldirectord start
#ssh node2 -- '/etc/init.d/heartbeat start'
#ssh node2 -- 'service ldirectord start' (注:我这里的命令执行都是不用密码的,详细操作请看《整合HA和LB来实现高可用的LB集群》中的介绍)
五、验证:
1.首先在Node1上使用#ipvsamd -L -n查看,出现了ipvs的条目,而且使用 http://192.168.1.80访问,可以看到网页,同时使用#ifconfig可以看到一个eth0:0的接口,上面的IP就是我使用的VIP:192.168.1.80
2.现在使用/usr/lig/heartbeat/hb_standy脚本,我们可以清晰的看到网页一样可以访问,但是#ipvsadm -L -n 和#ifconfig的信息转移到了Node2上去了,实验成功!
1.首先在Node1上使用#ipvsamd -L -n查看,出现了ipvs的条目,而且使用 http://192.168.1.80访问,可以看到网页,同时使用#ifconfig可以看到一个eth0:0的接口,上面的IP就是我使用的VIP:192.168.1.80
2.现在使用/usr/lig/heartbeat/hb_standy脚本,我们可以清晰的看到网页一样可以访问,但是#ipvsadm -L -n 和#ifconfig的信息转移到了Node2上去了,实验成功!
转载于:https://blog.51cto.com/luoweiro/662824