`
wbj0110
  • 浏览: 1549215 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

LVS + Keepalived之dr模式

阅读更多
显示代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
一、仅lvs服务器端安装
yum install ipvsadm openssl-devel popt popt-devel libnl-devel
cd /opt/src/
tar xzvf keepalived-1.2.7.tar.gz
cd keepalived-1.2.7
./configure
make && make install
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/
 
修改/etc/keepalived/keepalived.conf文件
[root@WEB ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
 
global_defs {
   notification_email {
    
     123@123.com
   }
   notification_email_from 123@123.com
   smtp_server mail.123.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
 
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       192.168.1.88
    }
}
virtual_server 192.168.1.88 80 {
    delay_loop 6
    lb_algo lc
    lb_kind DR
    #lb_kind TUN
    persistence_timeout 60
    protocol TCP
    
    real_server 192.168.1.18 80 {
        weight 3           
        TCP_CHECK {
        connect_timeout 30  
        nb_get_retry 3
        delay_before_retry 2
        connect_port 80
        }
    }
    real_server 192.168.1.68 80 {
        weight 3
        TCP_CHECK {
        connect_timeout 30
        nb_get_retry 3
        delay_before_retry 2
        connect_port 80
        }
     }
 }
[root@WEB ~]#
[root@WEB ~]# service ipvsadm start
[root@WEB ~]# service keepalived start
 
注意:
打开转发或关闭,dr/tun模式无影响
echo "1" > /proc/sys/net/ipv4/ip_forward
 
二、实际服务器端的操作
[root@localhost ~]# cat /usr/local/vip.sh
#!/bin/bash
# Script to start LVS DR real server.
# description: LVS DR real server
.  /etc/rc.d/init.d/functions
VIP=192.168.1.88
#host=`/bin/hostname`
case "$1" in
start)
       # Start LVS-DR real server on this machine.
        /sbin/ifconfig lo down
        /sbin/ifconfig lo up
        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
        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        /sbin/route add  $VIP dev lo:0
;;
stop)
        # Stop LVS-DR real server loopback device(s).
        /sbin/ifconfig lo:0 down
        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
;;
status)
        # Status of LVS-DR real server.
        islothere=`/sbin/ifconfig lo:0 | grep $VIP`
        isrothere=`netstat -rn | grep "lo:0" | grep $VIP`
        if [ ! "$islothere" -o ! "isrothere" ];then
            # Either the route or the lo:0 device
            # not found.
            echo "LVS-DR real server Stopped."
        else
            echo "LVS-DR real server Running."
        fi
;;
*)
            # Invalid entry.
            echo "$0: Usage: $0 {start|status|stop}"
            exit 1
;;
esac
[root@localhost ~]#  /usr/local/vip.sh start|stop|status
 
 
 
 
三、lvs查看
 
ipvsadm -ln
ipvsadm -lnc
ipvsadm -l -n --stats
 
调度算法:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics