• LVS+keepalived


    一、在LVS服务器上操作

    net.ipv4.ip_forward = 1   #开启路由转发

    yum  -y  install  ipvsadm  keepalived 

    keepalived配置文件如下:

    global_defs {
      notification_email {
        cuibobo@mansoncui.com
    }
      notification_email_from root@lvs-master.localdomain
      smtp_server 127.0.0.1
      smtp_connection_timeout 30
      router_id LVS_DEVEL # 设置lvs的id,在一个网络内应该是唯一的
    }
    vrrp_instance VI_1 {
      state MASTER #指定Keepalived的角色,MASTER为主,BACKUP为备
      interface eth0 #指定Keepalived的角色,MASTER为主,BACKUP为备
      virtual_router_id 51 #虚拟路由编号,主备要一致
      priority 100 #定义优先级,数字越大,优先级越高,主DR必须大于备用DR
      advert_int 1 #VRRP报文发送间隔,默认为1s
      authentication {
        auth_type PASS
        auth_pass 1111
      }
      virtual_ipaddress {
        192.168.10.199 #定义虚拟IP(VIP)192.168.10.199,可多设,每行一个
      }
    }


    # 定义对外提供服务的LVS的VIP以及port
    virtual_server 192.168.10.199 80 {
      delay_loop 5 # 设置健康检查时间,单位是秒
      lb_algo wrr # 设置负载调度的算法为wlc
      lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式
      nat_mask 255.255.255.0
      persistence_timeout 300
      protocol TCP

      real_server 192.168.10.146 80 { # 指定real server1的IP地址
      weight 5 # 配置节点权值,数字越大权重越高
      #根据检测80是否可用
      # TCP_CHECK {
      # connect_timeout 10
      # nb_get_retry 3
      # delay_before_retry 3
      # connect_port 80
      # }
    #根据web服务访问文件
      HTTP_GET {
      url {
        path /monitor/cs.html
        nb_get_retry 3
        delay_before_retry 3
      }
      }
    }

      real_server 192.168.10.147 80 { # 指定real server2的IP地址
      weight 1 # 配置节点权值,数字越大权重越高
      HTTP_GET {
      url {
        path /monitor/cs.html
        nb_get_retry 3
        delay_before_retry 3
       }
        }
      # TCP_CHECK {
      # connect_timeout 10
      # nb_get_retry 3
      # delay_before_retry 3
      # connect_port 80
      # }
      }
    }

    3、ipvsadm --save > /etc/sysconfig/ipvsadm   #创建文件,不然不能启动

    4、启动keepalived 和ipvsadm

      systemctl start keepalived  &&  systemctl  enable  keepalived

      systemctl start ipvsadm  &&  systemctl  enable keepalived

    5、添加VIP和应用服务器

    用的模式是dr,后台的web server用的nginx.这时候一条请求过来,在程序没有问题的情况下,一条连接最多也就五秒就断开了.这时候你可以这样设置:ipvsadm --set 5 10 300.设置tcp连接只保持5秒中

    ipvsadm -A -t 192.168.10.199:80 -s wrr

    ipvsadm -a -t 192.168.10.199:80 -r 192.168.10.147:80 -w 1

    ipvsadm -a -t 192.168.10.199:80 -r 192.168.10.146:80 -w 1

    二、应用服务器部署web服务和绑定VIP

    1、绑定虚拟VIP脚本:

    #!/bin/bash
    #description: Config realserver

    VIP=192.168.10.199

    rpm -q net-tools
    if [ $? -eq 1 ];then
    yum -y install net-tools
    fi


    chmod +x /etc/rc.d/init.d/functions
    /etc/rc.d/init.d/functions

    case "$1" in
    start)
        /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
        /sbin/route add -host $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)
        /sbin/ifconfig lo:0 down
        /sbin/route del $VIP >/dev/null 2>&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

    2、安装nginx,yum -y  install nginx

    三、在浏览器访问

    http://$VIP/test.html

    大家一起来学习
  • 相关阅读:
    struts2在result中使用el表达式碰到的问题
    JSP学习笔记—— jsp中include文件指令乱码的三种解决方案
    SSH整合,applicationContext.xml中配置hibernate映射文件问题
    struts上传文件失败 ContentType not allowed错误解决方法【转】
    mysql5 乱码问题解决方案
    java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory的解决
    JQuery使用on绑定动态生成元素时碰到的问题
    Oracle异常处理
    C#窗口拦截键盘事件
    Oracle中动态SQL详解
  • 原文地址:https://www.cnblogs.com/cuibobo/p/8479212.html
Copyright © 2020-2023  润新知