LVS负载均衡(二)

1.4负载均衡(LVS)相关名词

术语说明:

DS:Director Server。指的是前端负载均衡器节点。

RS:Real Server。后端真实的工作服务器。

VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。

DIP:Director Server IP,主要用于和内部主机通讯的IP地址。

RIP:Real Server IP,后端服务器的IP地址。

CIP:Client IP,访问客户端的IP地址。

1.4.1 LVS集群的工作模式--DR直接路由模式

DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器将响应后的处理结果直接返回给客户端用户。

效率高:1.只到2层,只针对DR模式(局域网)

2.LB只将用户请求发送到后台,web处理完不会返回给BL,而是直接给用户

DR技术可极大地提高集群系统的伸缩性。但要求调度器LB与真实服务器RS都有一块物理网卡连在同一物理网段上,即必须在同一局域网环境。

DR模式一般都需要外网卡:内网网关容易形成瓶颈(可以走运营商的硬件网关)

DR直接路由模式说明:

注:要了解LVS的几种模式,重点是DR模式,以及工作原理

1.5在web端的操作有什么含义?

1.5.1 RealServer为什么要在lo接口上配置VIP?

既然要让RS能够处理目标地址为vip的IP包,首先必须要让RS能接收到这个包。

在lo上配置vip能够完成接收包并将结果返回client。

1.5.2在eth0网卡上配置VIP可以吗?

不可以,将VIP设置在eth0网卡上,会影响RS的arp请求,造成整体LVS集群arp缓存表紊乱,以至于整个负载均衡集群都不能正常工作。

1.5.3为什么要抑制ARP响应?

① arp协议说明

ARP协议,全称"Address Resolution Protocol",中文名是地址解析协议,使用ARP协议可实现通过IP地址获得对应主机的物理地址(MAC地址)。

ARP协议要求通信的主机双方必须在同一个物理网段(即局域网环境)!

为了提高IP转换MAC的效率,系统会将解析结果保存下来,这个结果叫做ARP缓存。

Windows查看ARP缓存命令 arp -a

Linux查看ARP缓存命令 arp-n

Linux解析IP对应的MAC地址 arping-c 1 -I eth0 10.0.0.6

ARP缓存表是把双刃剑

a)主机有了arp缓存表,可以加快ARP的解析速度,减少局域网内广播风暴。因为arp是发广播解析的,频繁的解析也是消耗带宽的,尤其是机器多的时候。

b)正是有了arp缓存表,给恶意黑客带来了攻击服务器主机的风险,这个就是arp欺骗攻击。

c)切换路由器,负载均衡器等设备时,可能会导致短时网络中断。因为所有的客户端ARP缓存表没有更新

②服务器切换ARP问题

当集群中一台提供服务的lb01机器宕机后,然后VIP会转移到备机lb02上,但是客户端的ARP缓存表的地址解析还是宕机的lb01的MAC地址。从而导致,即使在lb02上添加VIP,也会发生客户端无法访问的情况。

解决办法是:当lb01宕机,VIP地址迁移到lb02时,需要通过arping命令通知所有网络内机器更新本地的ARP缓存表,从而使得客户机访问时重新广播获取MAC地址。

这个是自己开发服务器高可用脚本及所有高可用软件必须考虑到的问题。

ARP广播进行新的地址解析

arping -I eth0 -c 1 -U VIP #格式

arping-I eth0 -c 1 -U 10.0.0.13

测试命令

ip addrdel10.0.0.13/24dev eth0 #lb03删除VIP

ip addr add10.0.0.13/24dev eth0 #lb04添加VIP

ip addr show eth0 查看确认VIP已存在

arping-I eth0 -c 1 -U 10.0.0.13 #服务器主动发送广播更新客户端的ARP缓存表

windows查看arp -a

接口: 10.0.0.1 --- 0x12

Internet 地址 物理地址 类型

10.0.0.13 00-0c-29-de-7c-97动态

10.0.0.15 00-0c-29-de-7c-97动态

10.0.0.16 00-0c-29-2e-47-20动态

10.0.0.17 00-0c-29-4a-ac-4a 动态

10.0.0.18 00-0c-29-ea-ca-55 动态

③arp_announce和arp_ignore详解

#配置的内核参数

lvs在DR模式下需要关闭arp功能

arp_announce

对网络接口上,本地IP地址的发出的,ARP回应,作出相应级别的限制:

确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口

arp_ignore定义

对目标地定义对目标地址为本地IP的ARP询问不同的应答模式

抑制RS端arp前的广播情况

抑制RS端arp后广播情况

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180405G1A9EE00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券