实验前提
DR模式配置完成,详见(点击)
实验操作
[root@server1 html]# cd /mnt
[root@server1 mnt]# ls
keepalived-2.0.6.tar.gz varnish-3.0.5-1.el6.x86_64.rpm
ldirectord-3.9.5-3.1.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm
[root@server1 mnt]# tar zxf keepalived-2.0.6.tar.gz
[root@server1 keepalived-2.0.6]# yum install openssl-devel
[root@server1 keepalived-2.0.6]# ./configure --prefix=/usr/local/keepalived --with-init=SYSV
[root@server1 keepalived-2.0.6]# make && make install
[root@server1 keepalived-2.0.6]# cd /usr/local/
[root@server1 local]# ls
bin etc games include keepalived lib lib64 libexec sbin share src
[root@server1 local]# cd keepalived/
[root@server1 keepalived]# ls
bin etc sbin share
[root@server1 keepalived]# cd etc/
[root@server1 etc]# ls
keepalived rc.d sysconfig
[root@server1 etc]# cd rc.d/
[root@server1 rc.d]# ls
init.d
[root@server1 rc.d]# cd init.d/
[root@server1 init.d]# ls
keepalived
[root@server1 init.d]# chmod +x keepalived
制作软链接:
[root@server1 init.d]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
[root@server1 init.d]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@server1 init.d]# ln -s /usr/local/keepalived/etc/keepalived /etc/
[root@server1 init.d]# ln -s /usr/local/keepalived/sbin/keepalived/ /sbin/
[root@server1 init.d]# /etc/init.d/ldirectord stop
Stopping ldirectord... success
[root@server1 init.d]# chkconfig ldirectord off
[root@server1 init.d]# ip addr show
[root@server1 init.d]# ip addr del 172.25.28.100/24 dev eth0
[root@server1 init.d]# ip addr show
[root@server4 local]# vim /etc/keepalived/keepalived.conf
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
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 55
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.55.100
}
}
virtual_server 172.25.55.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCP
real_server 172.25.55.2 80 {
TCP_CHECK { 添加健康检测
weight 1
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 172.25.55.3 80 {
TCP_CHECK {
weight 1
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}(删除完文件下面的内容)
[root@server1 local]# scp -r keepalived [email protected]:/usr/local
[root@server4 ~]# cd /usr/local/
[root@server4 local]# ls
bin games keepalived lib libexec share
etc include lib64 sbin src
[root@server4 local]# chmod +x keepalived
制作软链接
[root@server4 local]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
[root@server4 local]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@server4 local]# ln -s /usr/local/keepalived/etc/keepalived /etc/
[root@server4 local]# ln -s /usr/local/keepalived/sbin/keepalived /sbin/
[root@server4 local]# vim /etc/keepalived/keepalived.conf
global_defs {
notification_email {
[email protected]
[email protected]
[email protected]
}
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
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 55
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
}
virtual_ipaddress {
172.25.55.100
}
}
virtual_server 172.25.55.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCP
real_server 172.25.55.2 80 {
TCP_CHECK{
weight 1
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 172.25.55.3 80 {
TCP_CHECK {
weight 1
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
测试
[root@server1 sbin]# service keepalived stop
查看虚拟ip是否漂移到server4上
[root@server1 sbin]# /etc/init.d/keepalived start
查看是否轮询
关掉server3的httpd服务
[root@foundation55 images]# curl 172.25.55.100
HELLO server2
[root@foundation55 images]# curl 172.25.55.100
HELLO server2
server2和serve3httpd服务都关闭