基于LVS-NAT模型的负载均衡调度

2019-03-05 16:09:48 浏览数 (1)

  • LVS负载均衡器:(Centos7)
    • VIP: 172.18.59.100
    • DIP: 192.168.1.100
  • RS:
    • 192.168.1.15 Centos6
    • 192.168.1.20 Centos7

首先,需要确定的一点是,LVS-NAT模型中,所有的网络流量都需要流经DS,即包括请求报文和回应报文。当Client端从浏览器或其他客户端请求http或其它网络服务时,先由我们的DS服务器公网网卡接收,然后通过LVS调度挑选一个RS服务器,并通过内部转发机制从其内网网口转发给选中的RS服务器,最后将RS返回的响应报文通过相同的路线反向转回Client端。

配置RS端(实际提供服务的主机)

  • 安装httpd 并提供http服务。

为了更好的体现效果,此处我们在rs1和rs2主页文件写入不同内容,实际生产环境应是一样的内容

代码语言:javascript复制
[root@rs1 ~]# yum -y install httpd #对RS2执行相同操作,下同
[root@rs1 ~]# systemctl enable httpd.service
[root@rs1 ~]# systemctl restart httpd
[root@rs1 ~]# echo "rs1" > /var/www/html/index.html
  • 配置网络

这步非常重要,只有将DS的内网网口设为RS的默认网关,才能保证请求报文和响应报文都经由DS

代码语言:javascript复制
[root@rs1 ~]# route add default gw 192.168.1.100
[root@rs1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.100   0.0.0.0         UG    0      0        0 ens33
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 ens33

配置DS端(调度器)

  • 安装ipvs并配置调度规则
代码语言:javascript复制
[root@dr ~]# yum -y install ipvsadm
[root@dr ~]# systemctl enable ipvsadm
[root@dr ~]# ipvsadm -A -t 172.18.59.100:80 -s rr #对访问VIP的请求使用rr轮询算法挑选RS
[root@dr ~]# ipvsadm -a -t 172.18.59.100:80 -r 192.168.1.20:80 -m #添加RS
[root@dr ~]# ipvsadm -a -t 172.18.59.100:80 -r 192.168.1.15:80 -m
  • 开启核心转发
代码语言:javascript复制
[root@dr ~]# echo 1 > /proc/sys/net/ipv4/ip_forward #开启核心转发 这样才能通过内部转发机制将公网和内网的流量打通和交换
[root@dr ~]# cat /proc/sys/net/ipv4/ip_forward
1

测试

代码语言:javascript复制
[root@client ~]# curl 172.18.59.100
rs1
[root@client ~]# curl 172.18.59.100
rs2
[root@client ~]# curl 172.18.59.100
rs1
[root@client ~]# curl 172.18.59.100
rs2
[root@client ~]# curl 172.18.59.100
rs1
[root@client ~]# curl 172.18.59.100
rs2

0 人点赞