实现(VS/DR)负载均衡及LVS的高可用(keepalived)

本文详细介绍了LVS(Linux Virtual Server)的基础知识,包括NAT、IP隧道和DR模式,并重点讲解了DR模式下的负载均衡配置。通过在server1、server3和server4上配置LVS,实现Apache服务器的负载分发。接着讨论了健康检查的重要性,通过ldirectord监控服务器状态。最后,利用Keepalived实现了服务的高可用性,确保在主服务器故障时,备份服务器能够接管服务。此外,还展示了在两台主机上通过VIP负载均衡不同端口的应用场景。
摘要由CSDN通过智能技术生成

一、LVS的基础知识

1、LVS的概念

  • LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。使用集群技术和Linux操作系统实现一个高性能、高可用的服务器

2、LVS的包转发策略

  • 1.NAT (Network Address Translation)模式。LB收到用户请求包后,LB将请求包中虚拟服务器的IP地址转换为某个选定RS的IP地址,转发给RS;RS将应答包发给LB,LB将应答包中RS的IP转为虚拟服务器的IP地址,回送给用户。
  • 2.IP隧道 (IP Tunneling)模式。LB收到用户请求包后,根据IP隧道协议封装该包,然后传给某个选定的RS;RS解出请求信息,直接将应答内容传给用户。此时要求RS和LB都要支持IP隧道协议。
  • 3.DR(Direct Routing)模式。LB收到请求包后,将请求包中目标MAC地址转换为某个选定RS的MAC地址后将包转发出去,RS收到请求包后,可直接将应答内容传给用户。此时要求LB和所有RS都必须在一个物理段内,且LB与RS群共享一个虚拟IP。 

3、lvs的三种模式:

  • 1.VS/NAT
  • 通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的    响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。
  • 2.VS/TUN
  • 采用NAT技术时,由于请求和响应报文都必须经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈。为了解决这个问题,调度器把请求报 文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,所以调度器只处理请求报文。由于一般网络服务应答比请求报文大许多,采用 VS/TUN技术后,集群系统的最大吞吐量可以提高10倍。
  • 3.VS/DR
  • VS/DR通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户。同VS/TUN技术一样,VS/DR技术可极大地 提高集群系统的伸缩性。这种方法没有IP隧道的开销,对集群中的真实服务器也没有必须支持IP隧道协议的要求,但是要求调度器与真实服务器都有一块网卡连 在同一物理网段上。

 

二、LVS-DR模式简介

 

 

DR模式(直接路由模式)是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。同TUN模式一样,DR模式可以极大的提高集群系统的伸缩性。而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求

注:要求调度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境中

DR模式原理过程简述:

VS/DR模式的工作流程图,它的连接调度和管理与NAT和TUN中的一样,它的报文转发方法和前两种不同。DR模式将报文直接路由给目标真实服务器。在DR模式中,调度器根据各个真实服务器的负载情况,连接数多少等,动态地选择一台服务器,不修改目标IP地址和目标端口,也不封装IP报文,而是将请求报文的数据帧的目标MAC地址改为真实服务器的MAC地址。然后再将修改的数据帧在服务器组的局域网上发送。因为数据帧的MAC地址是真实服务器的MAC地址,并且又在同一个局域网。那么根据局域网的通讯原理,真实复位是一定能够收到由LB发出的数据包。真实服务器接收到请求数据包的时候,解开IP包头查看到的目标IP是VIP。此时只有自己的IP符合目标IP才会接收进来,所以我们需要在本地的回环借口上面配置VIP。由于网络接口都会进行ARP广播响应,但集群的其他机器都有这个VIP的lo接口,都响应就会冲突。所以我们需要把真实服务器的lo接口的ARP响应关闭掉。然后真实服务器做成请求响应,之后根据自己的路由信息将这个响应数据包发送回给客户,并且源IP地址还是VIP。

 

三、LVS-DR模式下的负责均衡

1、在server1中:

1.配置yum仓库

vim /etc/yum.repos.d/rhel-source.repo

添加

2.安装ipvsadm工具

yum install -y ipvsadm                                                  管理集群服务的命令行工具

 

3.添加vip

ipvsadm -A -t 172.25.56.156:80 -s rr                             临时添加vip,rr轮询模式
ipvsadm -a -t 172.25.56.156:80 -r 172.25.56.3:80 -g     给vip添加rip,使用DR模式 -g为DR模式
ipvsadm -a -t 172.25.56.156:80 -r 172.25.56.4:80 -g
ipvsadm -l                                                                        显示内核虚拟服务器表
ipvsadm -ln                                                                      ip方式显示内核虚拟服务器表

 

 

2、在server3中

配置apache

yum install  httpd -y
vim /var/www/html/index.html
<h1>server3</h1>
/etc/init.d/httpd start

3、在server4中

配置好apache

yum install  httpd   -y
vim /var/www/html/index.html
<h1>server4</h1>
/etc/init.d/httpd start

4、测试

物理机中curl 172.25.56.156 访问失败

在server1中:ip addr add 172.25.56.156/24 dev eth0
在物理机中curl 172.25.56.156 访问失败
但此时在server1中 ipvsadm -ln 可以发现随着物理机访问172.25.56.156失败次数增多
ipvsadm -ln中InActConn数值增加,此时说明调度器配置成功

 

在server3中:
ip addr add 172.25.56.156/32 dev lo

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值