keepavlied配合lvs的dr模式

配置前提

node1:192.168.10.201
node2:192.168.10.202
node3:192.168.10.203
node4:192.168.10.204
node1和node2相互高可用,作为负载均衡器;node3和node4作为后端真实服务器
vip:192.168.10.200
lvs采用dr类型
四台服务器做好时间同步,主机名同步,并且关闭防火墙和selinux;其中node1和node2做好ssh公私钥连接
预先在node1和node2上配置好keepalived,并高可用vip


配置过程

node1,node2

keepalived可以通过修改配置文件中的virtual_server块内容来构造lvs规则,也可以直接通过ipvsadm命令构造,两者选其一
- 配置文件构造lvs规则

    virtual_server 192.168.10.200 80 {//添加ipvs规则,可使用ipvsadm查看
        delay_loop 6
        lb_algo wrr
        nat_mask 255.255.255.255
        lb_kind DR
        protocol TCP
        sorry_server 127.0.0.1 80//无法连接后端服务器时,用本地当作sorry服务器

        real_server 192.168.10.203 80 {
            weight 1
            HTTP_GET {//以http_get方式对后端服务器进行健康状态检测.可选SSL_GET,TCP_CHECK
                url {
                  path /
                  status_code 200
                }
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
            }
        }
        real_server 192.168.10.204 80 {
            weight 2
            HTTP_GET {
                url {
                  path /
                  status_code 200
            }
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 3
            }
        }
    }
  • ipvsadm构造lvs规则
]# ipvsadm -A -t 192.168.10.200:80 -s rr
]# ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.203 -g -w 1
]# ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.204 -g -w 2

node3,node4

  • 修改内核中的arp参数保证前端路由器将目标IP为VIP的请求报文发送给director(node3,node4)
  • 为192.168.10.0/24网段的网卡添加200的vip(node3,node4)
]# vim arp.sh
    #! /bin/bash
    case $1 in
    start)
            echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore//arp接受
            echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
            echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce//arp通告
            echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    ;;
    stop)
            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
    ;;
    esac
]# bash arp.sh
]# ip addr add 192.168.10.200/32 dev lo:0 broadcast 192.168.10.200
]# ip route add to 192.168.10.200 dev lo:0
  • 启用httpd
]# echo 'welcome to node3' > /var/www/html/index.html
]# echo 'welcome to node4' > /var/www/html/index.html

实验结果

在客户机反复访问192.168.10.200,会不断出现node3和node4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值