大数据学习系列(三)负载均衡--LVS-DR配置及入门使用

一、理论概念

DR模式是将ARP请求通过director报文源和目标MAC地址,发送给RS(real server),RS将响应报文直接发送给client。LVS是

Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,

有两个模块

         •ipvs : 嵌入到linux的内核

         •ipvsadm:管理应用程序,需要安装

二、环境搭建

1.准备了三台虚拟机。

LVS服务器(DS) --eleven-2DIP:192.168.40.33VIP:192.168.40.100
真实后端服务器(RS)--eleven-3RIP:192.168.40.34VIP:192.168.40.100
真实后端服务器(RS)--eleven-4RIP:192.168.40.35VIP:192.168.40.100

2.LVS服务器配置(eleven-2),依次执行。

1.安装ipvsadm

# 验证,确保内核加载了lvs模块
lsmod |grep ip_vs

# 安装用户管理工具
yum install -y ipvsadm

2.配置VIP

所有请求报文会发往LVS服务器(DS),然后DS根据指定算法分发到后端服务器(RS)上,因此DS必须配置VIP地址,VIP是与公网client的通信地址,这样DS才能接受到请求报文进行分发。

# 在LVS服务器上添加一个地址为VIP的虚拟网卡eth0:0
命令:ifconfig  eth0:0   192.168.40.100 netmask 255.255.255.0

3.配置允许数据包转发,因为此时的lvs服务器充当着中间件的角色,接收的请求都会转发至RS

#配置/proc/sys/net/ipv4/ip_forward,该文件内容为0,表示禁止数据包转发,1表示允许,将其修改为1

echo “1” > /proc/sys/net/ipv4/ip_forward 

3.后端服务器配置

1.配置RS的响应级别和通告级别。(每台RS都要配置)

       DR模式只是针对源和目标MAC地址做出修改,源和目标IP还是不变;当请求报文由LVS服务器处理后发送到后端服务器RS上,RS拆封报文时会发现目标MAC是自己的MAC地址,但是目标IP是VIP,与本地IP地址不符合,那么RS就会认为不是发给自己的报文,所以此时需要在RS上配置VIP,这样RS就可以接受目标地址为VIP的请求报文了。

  如果将VIP设置在RS的网卡上,假设有多台RS并且每台RS上都配置了VIP,在这个网络中发出VIP的ARP请求,就有多个RS响应,这样肯定是不可以;因此就把VIP配置到回环地址lo网卡上,然后让lo网卡忽略所有ARP请求,eth0网卡正常响应ARP请求,这样网络中就不会收到RS关于VIP的响应;还有一个问题就是当本地网卡响应ARP请求时,也有可能通过lo网卡回应,然后把VIP作为ARP请求的源IP通告出去,那么就必须禁止VIP作为ARP请求的源IP,这个问题可以通过修改arp_announce参数解决。

  由于客户端发起的请求报文源IP为CIP,目标IP为VIP;所以客户端收到的响应报文源IP必须为VIP,目标IP必须为CIP,因此在RS发送的响应报文必须由VIP的lo网卡发出,这就需要在RS上指定一条路由,目标IP为VIP的数据包使用lo网卡发出,然后经由eth0转发到网关再到公网客户端。

echo 1  > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2  > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo 1  > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2  > /proc/sys/net/ipv4/conf/all/arp_announce

2.配置RSVIP(每一台RS都配),注意要先完成上一步骤,避免配置好了RS的vip后被通告出去

# 添加IP地址为VIP的虚拟网卡lo:8
ifconfig lo:8 192.168.40.100 netmask 255.255.255.255

4.配置负载ipvs规则

1.管理集群服务

ipvsadm   -[A/E/D] -[t|u|f]  IP:port  -s 规则
-A:新增
-E:修改
-D:删除
-C:清空ipvs规则
-S:保存规则至某路径,供下次用时加载。
    # ipvsadm -S > /path/to/somefile
-R:加载保存的规则
    # ipvsadm -R < /path/form/somefile


    -t:TCP协议的集群 
    -u:UDP协议的集群
    -f:防火墙标志

-s: 生命负载分发的算法
    rr:轮询算法

 2.管理集群服务中的RS

 
规则:ipvsadm  -[a/d/e]  -[t/u] LVS服务IP:端口  -r  RS的IP:端口  -g

-a:新增RS
-d:删除RS
-e:修改RS

-r:配置RS
-g:配置权重,默认为1

3.实操:

添加集群服务
ipvsadm -A -t 192.168.40.100:80 -s rr

添加负载的RS服务
ipvsadm -a -t 192.168.40.100:80 -r 192.168.40.34 –g

ipvsadm -a -t 192.168.40.100:80 -r 192.168.40.35 –g


4.测试

两台RS上安装httpd,新建index文件

yum install httpd -y
进入到此文件夹
    /var/www/html

新建文件index.html
    vi index.html  
        输入内容
            from  34:80/35:80

重启httpd服务
service httpd start


客户端浏览器请求测试
http://192.168.40.100:80

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值