美文网首页
实现LVS-DR调度web模式

实现LVS-DR调度web模式

作者: 一言不合_c8a0 | 来源:发表于2017-08-21 08:24 被阅读0次
    • 拓扑环境


      imageimage

    网络环境

    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

    相关文章

      网友评论

          本文标题:实现LVS-DR调度web模式

          本文链接:https://www.haomeiwen.com/subject/vktcdxtx.html