zoukankan      html  css  js  c++  java
  • LVS+keepalived+nginx+tomcat

    # 节点分布情况

    LVS主备上面,配置linux系统内核参数开启内核的路由模式 (同一网段 DR模式不需要)

    modprobe ip_vs
    vim /etc/sysctl.conf 
    net.ipv4.ip.forward = 1    

    LVS-dr-master

        eth0: 192.168.146.141

      

    LVS-dr-slave

        eth0: 192.168.146.142

    nginx1:

        eth0: 192.168.146.139

    nginx2:

        eth0: 192.168.146.140

    tomcat1:

        eth0: 192.168.146.138 启用了4个tomcat

    VIP: 192.168.146.200

    # 拓扑如下所示

    # 具体配置

    ### lvs master

    ### 1、安装ipvsadm、keepalived

    1
    yum install -y keepalived ipvsadm

    ### 2、使用keepalived来管理lvs

    脚本:

     
    global_defs
    {
    router_id master_210
    }
     
    vrrp_instance aiyou {
    state MASTER
    interface eth0
    virtual_router_id 100    #这个数值 master和slave必须统一
    priority 151     #这个数值决定哪台服务器是master 
    advert_int 1
    authentication {
            auth_type PASS
            auth_pass 123456
            }
    virtual_ipaddress {
            192.168.146.200
            }
    }
    virtual_server 192.168.146.200 80 {
                delay_loop 6
                lb_algo wrr
                lb_kind DR
    #            persistence_timeout 50
                protocol TCP
    real_server 192.168.146.139 80 {
                    weight 1
                    TCP_CHECK {
                        connect_timeout 3
                        nb_get_retry 3
                        delay_before_retry 3
                        connect_port 80
                    }
                }
    real_server 192.168.146.140 80 {
                    weight 1
                    TCP_CHECK {
                        connect_timeout 3
                        nb_get_retry 3
                        delay_before_retry 3
                        connect_port 80
                    }
                }
    }

    ### lvs slave

    ### 1、安装ipvsadm、keepalived

     
    yum install -y keepalived ipvsadm

    ### 2、使用keepalived来管理lvs

     
    global_defs
    {
    router_id slave_211
    }
     
    vrrp_instance aiyou {
    state MASTER
    interface eth0
    virtual_router_id 100    #这个数值 master和slave必须统一
    priority 150     #这个数值决定哪台服务器是master 这里我们比master数值低,所以角色是backup,
    advert_int 1
    authentication {
            auth_type PASS
            auth_pass 123456
            }
    virtual_ipaddress {
            192.168.146.200
            }
    }
    virtual_server 192.168.146.200 80 {
                delay_loop 6
                lb_algo wrr
                lb_kind DR
    #            persistence_timeout 50
                protocol TCP
    real_server 192.168.146.139 80 {
                    weight 1
                    TCP_CHECK {
                        connect_timeout 3
                        nb_get_retry 3
                        delay_before_retry 3
                        connect_port 80
                    }
                }
    real_server 192.168.146.140 80 {
                    weight 1
                    TCP_CHECK {
                        connect_timeout 3
                        nb_get_retry 3
                        delay_before_retry 3
                        connect_port 80
                    }
                }
    }

    ### nginx1

    ### nginx上要跑个脚本

     
    #!/bin/bash  
    #   
    # Script to start LVS DR real server.   
    # description: LVS DR real server   
    #   
    .  /etc/rc.d/init.d/functions
    VIP=192.168.146.200   #这里根据需要改成自己的VIP地址
    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 -host $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

    ### nginx2

    ### nginx上要跑个脚本

     
    #!/bin/bash  
    #   
    # Script to start LVS DR real server.   
    # description: LVS DR real server   
    #   
    .  /etc/rc.d/init.d/functions
    VIP=192.168.146.200   #这里根据需要改成自己的VIP地址
    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 -host $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

    ### 后端tomcat安装省略

    采用一机多实例模式(非多虚拟主机)

    ### 测试

    ### master上验证

     
    [root@lvs1 ~]# ipvsadm -ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.146.200:80 wrr
      -> 192.168.146.139:80           Route   1      0          0         
      -> 192.168.146.140:80           Route   1      0          0         
    [root@lvs1 ~]#

    ### slave上验证

     
    [root@lvs2 ~]# ipvsadm -ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.146.200:80 wrr
      -> 192.168.146.139:80           Route   1      0          0         
      -> 192.168.146.140:80           Route   1      0          0         
    [root@lvs2 ~]#

    参考文章:

    http://www.5ilinux.com/2014/05/lvs_keepalived_nginx_tomcat.html

  • 相关阅读:
    Power Desginer系列00【转载】
    Power Desginer系列02【转载】
    【转】华为路由器、交换机设备模拟器
    【图片教程】大学易站注册发布教程!
    【转】使用BT3、BT4光盘系统、虚拟机vmware破解无线上网
    【技术贴】设置 Eclipse 智能代码提示,大幅度减少 alt+/ 使用频率,打每个字都出现代码提
    【技术贴】ASPNET登录失败。MSsql2005拒绝了对对象 ''xxx'' (数据库 ''xx
    【技术贴】火狐的悬停激活标签扩展插件下载。Tab Focus
    【技术贴】桌面图标变色了怎么办?桌面图标快捷方式失真、模糊的解决办法!
    【转】【CN五一装机版】GhostXP_SP3电脑公司通用版v19.2装机版NTFS
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/10107890.html
Copyright © 2011-2022 走看看