LVS负载均衡的DR模式

前言:

        DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,

而真实服务器响应后的处理直接将结果返回给客户端的用户,同TUN模式

形同,DR模式可以即大提高及群系统的伸缩性,而且DR模式没有IP隧道

的开销,对集群中的真实服务器也没有必要支持IP隧道协议的要求。但是要

求调度机iLB与真实服务器都有一块网卡连接到统一物理网段,必须在同一个

局域网环境。

DR模式的原理图如下:

正文:

客户端IP:172.25.68.250

LB服务器IP:172.25.68.1

虚拟主机IP:172.25.68.100

服务器1 IP:172.25.68.2

服务器2 IP :172.25.68.3

一、进行软件ipvsadm的安装

yum install ldirectord-3.9.5-3.1.x86_64.rpm -y   ###进行软件的下载

二、进行后端服务器的开启和默认发布文件的编辑

在server2中

/etc/init.d/httpd start         ###进行后端服务器的开启
vim /var/www/html/index.html    ###进行默认发布文件的编辑

在server3中

/etc/init.d/httpd start         ###进行后端服务器的开启
vim /var/www/html/index.html    ###进行默认发布文件的编辑

三、在真机上进行测试,测试是否可以对服务端进行直接访问

curl 172.25.68.2    ###查看客户端是否和服务器之间数据是通路   
curl 172.25.68.3

四、在调度器上进行策略的添加

1、进行策略的查看

ipvsadm -ln          ###进行策略的查看

2、进行策略的添加

ipvsadm -A -t 172.25.68.100:80 -s rr   
               
           ###其中-A表示添加虚拟主机,-t表示tcp连接,rr表示轮询模式, -s表示负载均衡模式

ipvsadm -a -t 172.25.68.100:80 -r 172.25.68.2:80 -g   ###其中-r表示添加的服务器,
                                                             -g表示直连模式
ipvsadm -a -t 172.25.68.100:80 -r 172.25.68.3:80 -g

3、进行策略的查看

ipvsadm -ln          ###进行策略的查看

4、进行策略的保存

/etc/init.d/ipvsadm save           ###进行策略的保存

5、进行虚拟网卡的添加

ip addr add 172.25.68.100/24   dev eth0   ###进行虚拟网卡的添加
ip addr show                              ###进行网络的查看

五、在服务器上进行虚拟网卡的添加

在server2上

ip addr add 172.25.68.100/32  dev eth0     ###进行虚拟网络的添加,不接受外部请求

在server3上

ip addr add 172.25.68.100/32  dev eth0     ###进行虚拟网络的添加,不接受外部请求

 

六、在真机上进行测试(进行虚拟主机的访问)

curl 172.25.68.100

注意的问题:

由于网络接口都会进行ARP广播效应,当集群的其他机器都有这个VIP的

lo接口,和响应就会冲突,所以我们需要把真实服务器的LO接口的ARP响应关掉

然后真实服务器作出响应之后,根据自己的路由将响应数据发送给客户端。

临时解决办法,进行缓存的清除(arp -d 172.25.68.100)

进行永久解决:

在server2和server3中进行响应的配置

在server2中

1、进行软件的安装

yum install arptables_jf -y   

2、进行策略的添加

arptables -A IN -d 172.25.68.100 -j DROP    ##-A添加策略 在IN -d 目的地址IP -j 
                                              处理方式 DROP 拒绝访问不回应
arptables -A OUT -s 172.25.68.100 -j mangle --mangle-ip-s 172.25.68.2 ##管理输出
                                                        来自68.100的请求 以68.2输出
arptables -nL        ###查看策略是否写入

在server3中

1、进行软件的下载

yum install arptables_jf -y   

2、进行策略的添加

arptables -A IN -d 172.25.68.100 -j DROP    ##-A添加策略 在IN -d 目的地址IP -j 
                                              处理方式 DROP 拒绝访问不回应
arptables -A OUT -s 172.25.68.100 -j mangle --mangle-ip-s 172.25.68.2 ##管理输出
                                                        来自68.100的请求 以68.2输出
arptables -nL        ###查看策略是否写入

在真机上进行相关的测试:

curl 172.25.68.100

猜你喜欢

转载自blog.csdn.net/weixin_43831670/article/details/89391473