显示代码

一、仅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