Keepalived
(lvs-DR模式下如果server1调度器挂了怎么办)
1,创建4个子虚拟机
2,server1安装keepalived
tar zxf keepalived-2.0.6.tar.gz
查看INSTALL文件
安装三部曲都在keepalived-2.0.6目录下进行
./configure --prefix=/usr/local/keepalived --with-init=SYSV #改变安装路径,此过程不能报错,可以有警告,需要根据INSTALL文件解决一些依赖性
make
make install
3,配置
chmod +x /usr/local/keepalived/etc/rc.d/init.d/keepalived
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/etc/keepalived /etc/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
4,启动测试可以正常打开keepalived,然后关闭
5,将/usr/local/keealived/传到server4/usr/local下,这里需要在server1和server4安装scp命令,同样建立4个软连接
6,修改server1的keepalived的配置文件
/etc/keepalived/keepalived.conf
global_defs {
notification_email {
root@localhost #给本机发邮件
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
#vrrp_strict # 这个必须要注释,否则会在iptables加一条DROP
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER #MASTER
interface eth0
virtual_router_id 28
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.28.100 #vip
}
}
virtual_server 172.25.28.100 80 { #vip
delay_loop 3 # 等待3s
lb_algo rr
lb_kind DR ##这里一定要改为DR
#persistence_timeout 50 #注释
protocol TCP
real_server 172.25.28.2 80 { #rip
weight 1
TCP_CHECK{
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 172.25.28.3 80 { #rip,如果还有服务器可以继续添加
weight 1 #server2和server3的权重相等,如果这个改为2,那么server2出现的次数就比server3多,这用在server2的服务器性能更优秀
TCP_CHECK{
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
下面全部删除不要留空行
7,删除server1上面的vip,启动keepalived
8,server1和server4安装mailx
9,scp此配置文件到对应目录,覆盖,在server4里面修改配置文件
vrrp_instance VI_1 {
state BACKUP #MASTER修改为BACKUP
interface eth0
virtual_router_id 28 #这个id和server1上面的必须一样
priority 50 #优先权修改为50
10,server4启动keepalived
11,在/var/log/message下查看日志
12,本机客户端curl查看论调,如果server2httpd服务stop那么等待3s之后在curl自动不显示server2的refused,server1 ipvsadm -ln查看也不会出现server2,一定要注意3s的延时
测试,如果server1挂了
本机测试发现,curl没有任何影响,并且通过mail查看server4变成了master,给自己设置了vip,开始广播,arp -an | grep 100发现mac地址就是server4上面的,如果server1复活,那么它会把master抢回来,给自己设置vip,server4变成backuo state,移去vip,arp -an | grep 100发现来自server1