浅谈LVS

一、LVS 概念:

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

二、 LVS 技术:

1.LVS集群采用IP负载均衡技术和基于内容请求分发技术:

调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度起自动屏蔽服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。

2. 集群的三层结构:

一、负载调度器:整个集群对外面的前端机,负责将客户的请求发送到一组服务器执行,而客户认为服务来自一个IP地址(虚拟IP地址)上的。采用IP负载均衡技术、基于内容请求分发技术或者两者相结合。

二、服务器池:是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。

三、共享存储:它为服务器池提供一个共享的存储区,容易使得服务服务器拥有相同的内容。提供相同的服务。共享存储通常是数据库、网络文件系统、分布式文件系统。

3. 分布式锁管理器:

当不同服务器上的应用程序同事读写访问分布式文件系统上同一资源时,应用程序的访问冲突需要消解才能使得资源处于一致状态,这就需要分布式锁管理器。

4. 监视器(Graphic Monitor):

Graphic Monitor是为系统管理员提供整个集群系统的监视器,它可以监视系统的状态。Graphic Monitor是基于浏览器的,所以无论管理员在本地还是异地都可以监测系统的状况。

三、LVS三种负载均衡:

1. VS/NAT

VS/NAT是一种最简单的方式,所有的服务器只需要将自己的网关指向Director即可。

优势:服务器可以运行任何支持TCP/IP的操作系统,只需要一个IP地址配置在调度器上,服务器组可以用私有的IP地址。

缺点:伸缩能力有限,调度器本身可能称为系统的新瓶颈。

2. VS/TUN

调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个IP报文中,再将封装后的IP报文转发给选出的服务器;服务器收到报文后,先将报文解封获得原来目标地址为 VIP 的报文,服务器发现VIP地址被配置在本地的IP隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。

优势:负载调度器只将请求调度到不同的后端服务器,后端服务器将应答直接返回给用户,极大地增加负载调度器调度的服务器数量。

3. VS/DR(最常见)

VS/DR方式是通过改写请求报文中的MAC地址部分来实现的。调度器和服务器必需在物理上有一个网卡通过不间断的局域网相连。在VS/DR中,调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。调度器的VIP地址对外可见,而服务器的VIP对外是不可见的。

优势:同VS/TUN方法一样,提高了LVS集群系统的伸缩性。这种方法没有IP隧道的开销,效率最高。

缺点:但是要求负载调度器与服务器都有一块网卡连在同一物理网段上,服务器网络设备不做ARP响应。

四、LVS实践:

1.Linux  ipvs和ipvsadm:ipvs是找工作内核空间实现调度的代码;ipvsadm工作在用户空间,负责为ipvs内核框架编写规则,定义谁是集群服务,谁是后端真是服务器。

2.Linux  keeplived+lvs:比较常用。安装可以参考:https://www.cnblogs.com/wangxiaoqiangs/p/5736210.html

需要注意:安装时,节点服务器要绑定 VIP,建议用上文的脚本。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章