9780j 发表于 2016-2-15 15:08:28

lvs +keepalived的dr模式

LVS+Keepalived的安装部署

前端调度master:IP->10.252.3.10
前端调度backup:IP->10.252.3.11
VIP:10.252.3.12
RealServer:10.252.3.15
RealServer:10.252.3.16
1:主备一起安装keepalivedipvsadm
yum installkeepalivedipvsadm–y
注:使用ipvsadm –Ln可以来查看LVS的调度情况


====================================================================================
2:配置/etc/keepalived/keepalived.conf
主机10.252.3.10配置如下:
vrrp_instanceVI_1 {
    state MASTER   #主备的区别点,标识
    interface eth1         #对应的网卡
    virtual_router_id 60
    priority 101   #优先级,谁做主(值越大,优先级越高)
    advert_int 2
    authentication {    #验证方式,以及密码必须主备一样
      auth_type PASS
      auth_pass 1234    #相对应的密码
    }
    virtual_ipaddress {   #切换方式。切换虚拟IP
      10.252.3.12/4
    }
}
Virtual_server10.252.3.12 80 {   #对应的端口可以在这里修改
      delay loop 6   #健康检查时间
      lb_algo rr   #均衡调度算法一共有十二种。这里采用轮询的方法
      lb_kind DR    #负载均衡转发规则有三种:NAT,DR,TUN
      real_server 10.252.3.15 80 {
      weight 3
      TCP_CHECK {    #tcp的轮询检查设置
                connect_timeout3
                nb_get_retry   3
                delay_before_retry 3
                connect_port80
      }
}
            real_server 10.252.3.16 80 {
      weight 3
      TCP_CHECK {    #tcp的轮询检查设置
                connect_timeout3
                nb_get_retry   3
                delay_before_retry 3
                connect_port80
      }
}
}

备机配置: 10.252.3.11
Backup的keepalived配置主要是修改两个地方,其他的都一样:
    state BACKUP   #主备的区别点,标识
    priority 100   #优先级,谁做主(值越大,优先级越高)
====================================================================================
3:在realserver上运行脚本
由于使用的方式为DR,我们需要在实际虚拟机上部署DIP地址与VIP地址进行通信
编写lvs_init.sh的脚本如下所示,后端两台虚拟机的lvs_init的脚本都一样:
#!/bin/bash
#description: Config realserver lo and apply noarp
SNS_VIP= 10.252.3.12
./etc/rc.d/init.d/functions
case"$1" in
start)
       ifconfig lo:0 $SNS_VIP netmask255.255.255.255 broadcast $SNS_VIP up#设置lo:0的IP地址
       /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/null2>&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

给脚本权限 chmod +x /data/script/lvs_init.sh./lvs_init start/stop 运行和停止脚本Service keepalived start使用ipvsadm –Ln来查看lvs负载均衡,可以使用webbech来测试。



页: [1]
查看完整版本: lvs +keepalived的dr模式