LVS+Keepalived负载均衡集群之DR模式
LVS+Keepalived负载均衡集群之DR模式一、环境
5台虚拟机,分别是:
1台测试机(192.168.3.111);
2台DirectorServer(192.168.3.221、192.168.3.222);
2台RealServer(192.168.3.231、192.168.3.232);
注:VIP本实验设置为:192.168.3.220
二、安装配置RealServer
yum -y install httpd
chkconfig httpd on
echo 'R1/R2' /var/www/html/index.html #两台的配置都一样,这步为了区别访问的是哪台的数据,所以分为R1与R2,生产机上一般是统一访问后端的数据层的数据;
service httpd start
#!/bin/bash
SNS_VIP=192.168.3.220
. /etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_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 >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $SNS_VIP > dev/null 2>&1
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0 复制以上内容丢到/etc/init.d/ 目录下,命名自定义,我是命名为:realserver.sh
chmod u+x /etc/init.d/realserver.sh
ln -s /etc/init.d/realserver.sh /etc/rc.d/rc3.d/S99realserver.sh #设置开机自启动
/etc/init.d/realserver.sh start
三、安装配置DirectorServer
yum -y install gcc kernel-devel openssl-devel lrzsz vim ipvsadm
wgethttp://www.keepalived.org/software/keepalived-1.2.15.tar.gz
tar xzvf keepalived-1.2.15.tar.gz
cd keepalived-1.2.15
./configure --sysconf=/etc/ --with-kernel-dir=/usr/src/kernels/2.6.32-504.23.4.el6.x86_64/
make
make install
ln -s /usr/local/sbin/keepalived /sbin/
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
编辑keepalived.conf,内容大致如下:
! Configuration File for keepalived
global_defs {
notification_email {
744120325@qq.com
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.3.220
}
}
virtual_server 192.168.3.220 80 {
delay_loop 6
lb_algo wlc
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.3.231 80 {
weight 2
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.3.232 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
} 注:第二台DS服务器(备)需要更改以上两处的内容,一是把MASTER更改为BACKUP,二是把优先级由100改为80即可;
四、校验及测试
4.1、ipvsadm -L -n #正常显示VIP及RIP等内容;
4.2、ip addr list #主服务器正常显示VIP,备服务器没有VIP;
4.3、把主服务器关机,看备服务器会不会把服务接管过来;
页:
[1]