lvs+keeplive+ngxin 配置

一、服务配置

VIP 192.168.10.10
keepalive  (主) 192.168.10.11
keepalive (从) 192.168.10.12
nginx  192.168.10.20
nginx  192.168.10.21

二、LVS 配置 

[root@test01 nginx]# cat /etc/keepalived/keepalived.conf 
#ConfigurationFile for keepalived  
global_defs {  
   router_id linux_lvs01          ## 标识本节点的字条串,通常为 hostname
}  
vrrp_script check_lvs {                   ######定义监控nginx的脚本  
    script "/root/check_lvs.sh"  
    interval 1                            ######监控时间间隔  
    weight 2                              ######负载参数  
  }  
vrrp_instance vrrptest {                 ######定义vrrptest实例  
   state MASTER                                 ######服务器状态  
   nopreempt                                    #非抢占模式
   interface eth0                     ######使用的接口  
   virtual_router_id 51               ######虚拟路由的标志,一组lvs的虚拟路由标识必须相同,这样才能切换  
   priority 150                       ######服务启动优先级,值越大,优先级越高,BACKUP 不能大于MASTER  
   advert_int 1                        ######服务器之间的存活检查时间  
   track_script {                              ######执行监控nginx进程的脚本  
      check_lvs  
    }  
   virtual_ipaddress {                         ######虚拟IP地址  
         192.168.10.10
    }  
}
virtual_server 192.168.10.10 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 50              //如果为0,主要是为了方便测试,每次刷新页面结果会不一样
    protocol TCP
    real_server 192.168.10.20 80{
        weight 1
        TCP_CHECK {
            connect_port    80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.10.21 80{
        weight 1
        TCP_CHECK {
            connect_port    80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}  

 

三、nginx服务上配置真实服务:

#!/bin/sh
VIP=192.168.10.10 #虚拟ip,根据需求修改
. /etc/rc.d/init.d/functions
case $1 in
        start)
        echo "lo:0 port starting"
        # 为了相应lvs调度器转发过来的包,需在本地lo接口上绑定vip
        ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        # 限制arp请求
        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
        ;;
        stop)
        echo "lo:0 port closing"
        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
        ;;
        *)
        echo "Usage: $0 {start ¦ stop}"
        exit 1
esac

 

 

你可能感兴趣的:(集群)