zoukankan      html  css  js  c++  java
  • LVS-DR实现web调度模式

    author:JevonWei
    版权声明:原创作品


    实现LVS-DR调度web模式

    • 拓扑环境

    image

    网络环境

    RS1   
        RIP 192.168.198.138/24
        VIP 192.168.198.100/32
        GW  192.168.198.130
    RS2 
        RIP 192.168.198.132/24
        VIP 192.168.198.100/32
        GW  192.168.198.130
    VS
        DIP 192.168.198.128/24
        VIP 192.168.198.100/32
        GW  192.168.198.130
        
    route 
        192.168.198.130/24
        172.16.253.166/16
    Client 
        172.16.254.150/16
        GW 172.16.253.166
    RS1,RS2的网关指向192.168.198.130
    

    RS1

    [root@RS1 html]# route del default gw 192.168.198.128
    [root@RS1 html]# route add default gw 192.168.198.130
    
    [root@RS1 ~]# iptables -F
    [root@RS1 ~]# yum -y install httpd
    [root@RS1 ~]# vim /var/www/html/index.html 
        welcome to RS1
    [root@RS1 ~]# service httpd start
    

    RS2

    [root@RS2 network-scripts]# route add -net 172.16.0.0/16 gw 192.168.198.130
    [root@RS2 network-scripts]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    172.16.0.0      192.168.198.130 255.255.0.0     UG    0      0        0 ens34
    192.168.198.0   0.0.0.0         255.255.255.0   U     100    0        0 ens34
    [root@RS2 ~]# iptables -F
    [root@RS2 ~]# yum -y install httpd
    [root@RS2 ~]# vim /var/www/html/index.html 
        welcome to RS2
    [root@RS2 ~]# systemctl start httpd 
    

    VS

    添加网关路由信息
    [root@VS ~]# route add default gw 192.168.198.130
    [root@VS ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.198.130 0.0.0.0         UG    0      0        0 ens34
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    192.168.198.0   0.0.0.0         255.255.255.0   U     100    0        0 ens34
    
    [root@VS ~]# vim lvs_dr.sh
    #! /bin/bash
    vip=192.168.198.100
    server=$vip:80
    rip1=192.168.198.138
    rip2=192.168.198.132
    sch=wlc
    dev=ens34:1   \绑定网卡ens34
    case $1 in
    start)
        ifconfig $dev $vip/32 broadcast $vip  \绑定vip到ens34网卡上
        iptables -F
        ipvsadm -A -t $server -s $sch
        ipvsadm -a -t $server -r $rip1 -g -w 3
        ipvsadm -a -t $server -r $rip2 -g -w 1
        ;;
    stop)
        ipvsadm -C
        ipconfig $dev down
        ;;
    *)
        echo "Usage:$(basename $0) start|stop"
        exit 1
        ;;
    esac
    
    [root@danran ~]# bash lvs_dr.sh start
    [root@danran ~]# 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.198.100:80 wlc
      -> 192.168.198.132:80           Route   1      0          0         
      -> 192.168.198.138:80           Route   3      0          0   
    

    添加RS1和RS2的VIP

    dr_vip_rs.sh 为添加RS服务端VIP地址的脚本
    [root@RS1 ~]# vim dr_vip_rs.sh 
    #!/bin/bash
    #
    vip=192.168.198.100
    mask='255.255.255.255'
    dev=lo:1
    case $1 in
    start)
       echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
       echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
       echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
       echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
       ifconfig $dev $vip netmask $mask broadcast $vip up
       route add -host $vip dev $dev
       echo "VS server is Ready "
       ;;
    stop)
       ifconfig $dev down
       echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
       echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
       echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
       echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
       echo "VS server is Cancel"
       ;;
    *)
       echo "Usage $(basename $0) start|stop"
       exit 1
       ;;
    esac   
    [root@RS1 ~]# bash dr_vip_rs.sh start
    VS server is Ready 
    [root@RS2 ~]# bash dr_vip_rs.sh start
    VS server is Ready 
    

    client

    添加路由
    [root@danran ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
    0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
    
    [root@danran ~]# route del default gw 172.16.0.1 
    [root@danran ~]# route add default gw 172.16.253.166 \添加默认路由
    [root@danran ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
    0.0.0.0         172.16.253.166  0.0.0.0         UG    0      0        0 eth0
    
    测试  
    [root@danran ~]# for i in {1..10};do curl --connect-timeout 1 192.168.198.100 ;sleep 1;done      
    welcome to RS2
    welcome to RS1
    welcome to RS1
    welcome to RS1
    welcome to RS2
    welcome to RS1
    welcome to RS1
    welcome to RS1
    welcome to RS2
    welcome to RS1
    danran
  • 相关阅读:
    Java从指定目录下加载class文件
    超市问题
    SpringBoot中的thymeleaf布局
    SpringBoot 异步支持
    Groovy 脚本引发的 Old GC问题
    Java8 新特性笔记
    MySQL字段默认值踩坑记录
    SpringMVC接收Postman post json数据
    如何实现远程办公安全
    打印机打印的文档或图像出现白色横纹如何解决?
  • 原文地址:https://www.cnblogs.com/JevonWei/p/7400602.html
Copyright © 2011-2022 走看看