Lvs软件包括两部分:IPVS模块和IPVS管理工具IPVSadm

(DR1和DR2)首先查看IPVS模块是否已经编译到内核

安装IPVSadm:yum -y install ipvsadm

安装keepalived:yum -y install keepalived

配置keepalived(/etc/keepalived/keepalived.conf)

DR1

! Configuration File for keepalived  
    global_defs {  
       notification_email {  
         failover@firewail.loc   #设置报警邮件地址,可以设置多个,每行1个,  
         failover@firewall.loc  #需开启邮件报警及本机的Sendmail服务。  
         sysadmin@firewall.loc  
       }  
       notification_email_from Alexandre.Cassen@firewall.loc  
       smtp_server 192.168.XXX.XXX  #设置SMTP Server地址;  
       smtp_connect_timeout 30  
       router_id LVS_DEVEL  
    }  
               ########VRRP Instance########  
    vrrp_instance VI_1 {  
        state MASTER    #指定Keepalived的角色,MASTER为主机服务器,BACKUP为备用服务器  
        interface eth0  #BACKUP为备用服务器  
        virtual_router_id 51  
        priority 100    #定义优先级,数字越大,优先级越高,主DR必须大于备用DR。  
        advert_int 1  
        authentication {  
            auth_type PASS  #设置验证类型,主要有PASS和AH两种  
            auth_pass 1111  #设置验证密码  
        }  
        virtual_ipaddress {  
            192.168.56.188  #设置主DR的虚拟IP地址(virtual IP),可多设,但必须每行1个  
        }  
    }  
               ########Virtual Server########  
    virtual_server 192.168.56.188 80 {  #注意IP地址与端口号之间用空格隔开  
        delay_loop 6        #设置健康检查时间,单位是秒  
        lb_algo rr          #设置负载调度算法,默认为rr,即轮询算法,最优秀是wlc算法  
        lb_kind DR          #设置LVS实现LB机制,有NAT、TUNN和DR三个模式可选  
        nat_mask 255.255.255.0  
        persistence_timeout 50  #会话保持时间,单位为秒  
        protocol TCP        #指定转发协议类型,有TCP和UDP两种  
        real_server 192.168.56.103 80 {  
            weight 1          #配置节点权值,数字越大权值越高  
            TCP_CHECK {  
                connect_timeout 3     #表示3秒无响应,则超时  
                nb_get_retry 3        #表示重试次数  
                delay_before_retry 3  #表示重试间隔  
            }  
        }  
        real_server 192.168.56.104 80 {  #配置服务器节点,即Real Server2的public IP  
            weight 3            #配置节点权值,数字越大权值越高  
            TCP_CHECK {  
                connect_timeout 3       #表示3秒无响应,则超时  
                nb_get_retry 3          #表示重试次数  
                delay_before_retry 3    #表示重试间隔  
            }  
        }  
    }

把DR1的keepalived配置文件复制到DR2,将“state MASTER”改为:"state BACKUP"、“priority 100”改为:“priority 90”

配置服务器1和服务器2

1.安装httpd(yum -y install httpd)并启动(systemctl start httpd)

在服务器1和服务器2上运行脚本realserver.sh

#add for chkconfig  
#chkconfig: 2345 70 30  #234都是文本界面,5就是图形界面X,70启动顺序号,30系统关闭,脚本  
#止顺序号  
#description: RealServer's script  #关于脚本的简短描述  
#processname: realserver.sh       #第一个进程名,后边设置自动时会用到  
#!/bin/bash  
VIP=192.168.56.188 
source /etc/rc.d/init.d/functions  
case "$1" in  
start)  
       ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP  
       /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  
       echo "RealServer Start OK"  
       ;;  
stop)  
       ifconfig lo:0 down  
       route del $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  
       echo "RealServer Stoped"  
       ;;  
       *)  
       echo "Usage: $0 {start|stop}"  
       exit 1  
esac  
exit 0

环境搭建完成,启动keepalived即可进行相关测试