服务器集群工具-LVS

什么是lvs?

        是Linux Virtual Server的简写,也就是Linux 虚拟服务器,它的首要目的是请求的负载均衡。能够以很高的性能把请求转发到服务器。

        98年时由章文嵩在国防科技大学读博士期间创建。由于该软件非常优秀,被内置进linux内核。

lvs原理:

 

 首先明确LVS的基本概念:

  • Director Server:调度服务器,将负载分发到Real Server服务器。从图中我们可以看出lvs调度器有两个ip,分别为虚拟ip和调度器ip。
  • VIP:表示调度器的虚拟ip,一般表示客户端用来访问的公网ip。
  • DIP:调度器ip,调度器在内网中的固有ip。
  • Real Server:后端服务集群节点。
  • RIP:后端服务节点在内网的ip。

LVS简而言之有三个功能:路由、NAT以及负载均衡。

NAT:当用户访问VIP时,请求到达调度服务器,此时调度器需要把用户的请求转发给后端服务器。一个请求一定包含原地址和目的地址,此时用户访问的目的地址是VIP,而真正提供服务的是后端的服务集群,所以此时NAT将用户请求的目的地址修改为后端集群某台服务器的地址。同理,当服务器发送响应时,源地址是调度器ip,此时又需要将源地址修改为VIP。这就是LVS的NAT功能。

路由:LVS需要将请求转发到后端服务器集群的某台服务器上。

负载均衡:在路由的过程中,LVS会根据具体的负载均衡策略,比如轮训等,把请求转发到具体的服务器上。

LVS的三种工作模式:

 NAT模式:用户请求从调度器来,经过NAT处理到底后端服务,当后端服务器响应后,到达调度器后经过NAT处理发送给用户。也就是请求怎么来的再怎么回去。可以发现它的弊端在于调度器存在单点问题,当请求量非常大时,服务器的响应全部经过调度器,会占用调度器大量的带宽。

DR模式:直连路由模式,和NAT的不同之处在于服务器响应的处理。响应不再经过调度器,而是从服务器直接发送给用户。适用于大型网络。

TUN模式:隧道模式,调度器和服务器集群跨网络,这时候只能通过隧道联通。这种模式用的比较少。

LVS和Nginx的区别:

  • 原理完全不同:lvs是转发请求,Nginx是代理,我去代理后端服务让你访问。
  • 性能不同:第一,lvs是转发,所以对于请求的加工处理很少。而代理需要收到请求后再创建请求给后端,而当服务器回复时,需要解析响应内容,再创建响应给用户。第二,lvs已经被集成到linux内核,而Nginx是用户层面的应用程序。
  • 功能上的不同:第一,lvs功能简单,最重要的是没有健康检查功能,如果后端有服务器挂掉,请求依然会转发,这点和Nginx不同。第二,lvs支持的负载均衡算法目前有10种,多于Nginx。
  • 网络分层不同:lvs工作在三层网络层之上,它只做TCP/UDP的转发,而nginx工作在七层,比如对http请求的解析。

LVS和Nginx负载均衡算法对比:

  • lvs主要使用的算法有轮训、加权轮训、最少连接、加权最少连接、原地址hash(类似Nginx的ip hash)、目标地址hash等
  • Nginx原生支持加权轮训、ip hash、以及url hash,最少连接等需要第三方组件支持。

NAT模式简单集群搭建:

集群规划:

机器描述
192.168.20.200调度器,注意该机器有两个ip,vip:192.168.20.200,dip:192.168.20.21,需要vmware设置两块网卡
192.168.20.23后端服务,安装nginx
192.168.20.24后端服务,安装nginx
  • 安装ipvsadm,lvs由于集成到了linux内核,需要借助ipvsadm工具操作相关参数。
yum -y install ipvsadm
  • 添加虚拟服务器
#添加虚拟服务器,-t表示tcp,-u表示udp,加权轮询算法,此时集群名称就是192.168.10.10:80
ipvsadm -A -t 192.168.20.200:80 -s wrr
  • 添加两台真实服务器
#-r表示真实服务器,-w权重, -m表示nat模式
ipvsadm -a -t 192.168.20.23:80 -r 192.168.10.12 -w 1 -m
ipvsadm -a -t 192.168.20.24:80 -r 192.168.10.13 -w 1 -m
  • 查看虚拟集群信息
#n表示以ip形式查看
ipvsadm -Ln

  •  此时访问调度器192.168.20.200,会返回后端Nginx上的不同页面

ipvsadm命令总结:

ipvsadm -A #新建虚拟服务器
ipvsadm -E #修改虚拟服务器
ipvsadm -D #删除虚拟服务器
ipvsadm -C #清空虚拟服务器
ipvsadm -a #新建真实服务器
ipvsadm -e #修改真实服务器
ipvsadm -d #删除真实服务器
ipvsadm -L #查看LVS规则表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值