• 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
  • 相关阅读:
    4.22日日常记录
    ajax再接触
    一些小姿势
    打星功能
    悟透javascript读书笔记
    初接触eclipse和前后端调试问题 待续
    python实现后台员工管理系统
    python实现增删改查操作
    python实现6种方法打印九九乘法表
    python实现猜数字游戏
  • 原文地址:https://www.cnblogs.com/JevonWei/p/7400602.html
Copyright © 2020-2023  润新知