lvs负载均衡

一. lvs的简介

lvs(linux virtual server),linux虚拟服务器,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求转发,目前是负载均衡性能最好的集群系统。
后期也由很多用户参与开发LVS辅助工具和辅助组件,最出名的就是alexandre为LVS编写的keepalived
keepalived最初专门用于监控LVS,之后又加入VRRP实现高可用功能。

**负载调度器:**真实服务器群节点一起被称为LVS,LVS负载调度器(有时也称为负载均衡器),接收服务的所有接入服务集群的请求,并决定集群中的哪个节点应该回复其请求。

1)、负载调度器(director):作为整个集群的前端,主要将用户请求分发至真实服务器中进行处理。

2)、真实服务器池:由多个功能相同的真是服务器组成,为用户提供真正的网络服务,如web服务,邮件服务等。且虚拟服务器集群作为一个可伸缩的集群,可自由添加深处真是服务器而并步影响整个集群的正常工作。

3)、共享存储:作用就是让每个用户访问的资源都是一样的,服务器支持写操作,才建议使用

LVS集群的高可用:虽然LVS负载均衡性能很好,但是如果其中节点故障,LVS是无法感知的。

因此产生了LVS周边的一个辅助工具KeepAlived,用于监控检查兼容性非常好,如果RS一个节点挂掉,keepalived会将此节点从管理列表中剔出,当节点恢复再拉回管理列表,但是此时的调度器存在单点故障的可能性,所以还必须使用其他软件来实现调度器的高可用,比如hearbeat。最好的方法是软硬件相结合,用router调用lvs,这样既能节省资源又能避免节点故障。

Linux Virtual Server项目的目标 :使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。

在LVS框架中,提供了含有三种IP负载均衡技术的IP虚拟服务器软件IPVS、基于内容请求分发的内核Layer-7交 换机KTCPVS和集群管理软件。可以利用LVS框架实现高可伸缩的、高可用的Web、Cache、Mail和Media等网络服务;在此基础上,可以开 发支持庞大用户数的、高可伸缩的、高可用的电子商务应用。

LVS是四层(传输层tcp/vdp),七层(应用层)的负载均衡工具,用的最多的是就是四层负载均衡功能的ipvs,七层的内容分发负载ktcpvs(kenrnel tcp virtual server),基于内容的调度,因为应用层交换处理复杂,但伸缩性有限,目前还不成熟

lvs的四种方式:

在LVS集群中,集群是一个整体,通过负载均衡调度器(director)作为外部通信的中介,因此如何将外部请求转发到内部真是服务器的方式对LVS集群分类
LVS四种方式:网络地址转换(LVS-NAT),直接路由(LVS-DR),IP隧道(LVS-TUN)、LVS-FULLNAT,一个负载均衡器上可以实现多种转发方式,一般用一种方式即可。

二. lvs的基础配置

ipvsadm配置:
在server5上:

安装ipvsadm管理工具:
在这里插入图片描述
在这里插入图片描述

添加vip:
在这里插入图片描述

添加虚拟服务以及将其关联到真实服务器上去:
在这里插入图片描述

查看配置结果:
在这里插入图片描述

web服务器配置:
server6,7配置相同:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在真机查看实验结果:

在这里插入图片描述

但是一旦我们抑制ARP响应(noarp)响应,因为lvs无法检测后台是否down
在这里插入图片描述

在这里插入图片描述

所以我们就会发现我们在访问时绕过了server5的管理,直接访问了slave端的server6
所以下一步我们要对此进行优化
在这里插入图片描述

三. 负载均衡的优化

优化的目的是让客户端访问时无法直接访问server6,7,也就是说,我们需要关闭server6,7对外的开放,让他们只对server5开放

server6,7:

安装arptables管理工具:
在这里插入图片描述

在这里插入图片描述

关闭ip的开放:
在这里插入图片描述

因为我们的配置不能保存,下次开启要重新配置,所以为了方便,我们将他保存在一个文件里:
在这里插入图片描述

在这里插入图片描述

开启服务:
在这里插入图片描述
列出配置:
在这里插入图片描述

server6,7的配置相同,我们将server6上的配置文件传给server7即可:
在这里插入图片描述
文件最后一行的ip更改为server7的ip:
在这里插入图片描述

在真机上进行测试:
在这里插入图片描述
在这里插入图片描述
清理过之后负载均衡依旧成功!!!完成!!!

四.高可用(keepalived)

在server5上:
在这里插入图片描述

在这里插入图片描述

安装keepalived服务:
在这里插入图片描述

vim /etc/keepalived 修改配置文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
后面的全部删除!!!!

删除添加的ip:
在这里插入图片描述

列出一下ipvsadm -C 清除记录:
在这里插入图片描述

重新列出:
在这里插入图片描述
开启keepalived服务:
在这里插入图片描述

在真机访问:
在这里插入图片描述
尝试:
停掉server6的httpd:
在这里插入图片描述
在真机crul:
在这里插入图片描述
在这里插入图片描述
重新开启server6的:

keepalived会自动将server6拉近来:

在这里插入图片描述
在这里插入图片描述

五. lvs多主高可用

keepalived解决了一个结点挂掉但是lvs不提醒的问题,但是如果挂掉的是master呢?
因此我们需要另一台master备用:

在这里插入图片描述在这里插入图片描述

将server5上配置好的keepalived文件传给server4:
在这里插入图片描述

更改keepalived文件如下部分:

在这里插入图片描述

降低优先级:
在这里插入图片描述
在这里插入图片描述

开启服务:

在这里插入图片描述
在这里插入图片描述

查看日志:

在这里插入图片描述

已经显示出了backup,证明配置成功:

在这里插入图片描述
停掉server5的服务:
在这里插入图片描述

在真机上curl:
在这里插入图片描述

在server4上查看mac地址:
在这里插入图片描述
在这里插入图片描述

在真机上查看ip100的mac地址:
和server4的mac一致
这表明服务已经被server4接管!!!

重新开启server5的服务:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

此时mac地址和server5的一致,因为server5的优先级高,所以,优先选择server5!!!!

最后给大家推荐lvs的详细介绍和部署的文章:
https://www.cnblogs.com/zhangxingeng/p/10497279.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值