- 论坛徽章:
- 0
|
下面做双机cluster
三)双机lvs-ha
主服务器+真实的web服务器 :192.168.2.28
备服务器+ 真实的web服务器:192.168.2.20
Lvs director 配置在主服务器上,根据源地址分配服务器。
集群的虚拟ip为60.*.165,初始分配在主服务器的eth0, 主服务器宕机后,ip由备份服务器接管,分配在备份服务器的eth0.
二、集群软件安装
主服务器安装:
yum -y install ipvsadm # ipvs管理器
yum -y install libnet # 库文件
yum -y install e2fsprogs # 库文件
yum -y install heartbeat # linux-ha
yum –y install heartbeat-ldirectord # connector of linux-ha and lvs 【备份服务器不用安装】
2- 拷贝配置文件
cp /usr/share/doc/heartbeat-2.1.*/ha.cf /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.*/authkeys /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.*/haresources /etc/ha.d/
cp /usr/share/doc/heartbeat-ldirectord-2.1.*/ldirectord.cf /etc/ha.d/【备份服务器不用】
三、集群配置
主服务器配置:
1- 修改/etc/hosts文件
192.168.2.28 name1
192.168.2.20 name2
2- 修改haresources文件
liuyuxi IPaddr::60.*.165 lvsdr-basic ldirectord
3- 修改authkeys文件 修改权限 chmod 600 authkeys
auth 1
1 crc
4- 修改ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
deadtime 20
initdead 20
ucast 192.168.2.20
auto_failback on
node name1
node name2
ping_group group1 192.168.2.28 192.168.2.20
respawn root /usr/lib/heartbeat/ipfail
apiauth ipfail gid=root uid=root
5- ldirectord.cf
checktimeout=3
checkinterval=1
autoreload=no
logfile="/var/log/ldirectord.log"
quiescent=no
virtual=60.*.165:80
real=60.*.171:80 gate
real=60.*.164:80 gate
service=http
request="test.html"
receive="Test"
scheduler=sh
protocol=tcp
6- lvsdr-basic
/etc/init.d/lvsdr-basic
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
VIP=60.*.165
RIP1=60.*.171
RIP2=60.*.164
###########################
# ifconfig a
#
#/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
#
############################
/sbin/route add -host $VIP dev eth0:0
echo "1" > /proc/sys/net/ipv4/ip_forward
备份服务器配置:
1- 修改/etc/hosts文件 同主服务器
2- 修改haresources文件
liuyuxi switchdr IPaddr::60.*.165
虚拟ip地址是 60.*.165
备份服务器在接管主服务器前,执行switchdr start
备份服务器在移交主服务器前,执行switchdr stop
switchdr 见备份服务器配置第5条.
3- 修改authkeys文件 同服务器
4- 修改ha.cf 同主服务器 注意ucast
5- switchdr 脚本
/etc/init.d/switchdr
#!/bin/sh
# description: close lo0 and arp_ignore
VIP=60.*.165
./etc/rc.d/init.d/functions
case "$1" in
start)
echo "************* start director server and close tunl ***********"
ifconfig lo:0 down
echo 0>/proc/sys/net/ipv4/conf/all/arp_announce //允许arp解析虚ip
;;
stop)
echo "start Real Server"
// ---------------------------------------------------禁止arp 解析虚ip
ifconfig eth0:0 down
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP up
/sbin/route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
;;
*)
echo "Usage: switchdr {start|stop}"
exit 1
esac
主服务器上:
/usr/local/apache/bin/apachectl start
/etc/init.d/heartbeat start
备服务器上:
/etc/init.d/httpd start
/etc/init.d/switchdr stop
/etc/init.d/heartbeat start
到此ok,如果有问题就是配置问题,好好检查你的log,所有的信息都在log上显示的。Ipvsadm可显示lvs连接,ipvsadm –l –c 命令查看当前响应。
最后感谢刘俊,ghbspecial 等同志 ,我是参照他们的文档作出的,
有问题请联系我 xu_pj#hotmail.com (#替代@) |
|