什么是lvs
LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性
lvs的三种模式:DR模式,NAT模式和TUN模式
三种 IP 负载均衡技术的优缺点:
* | VS/NAT | VS/Tun | VS/DR |
---|---|---|---|
server | any | Tunneling | Non-arp device |
server network | Private | Lan/wan | Lan |
server number | Low(10~20) | High(100) | High(100) |
server gateway | Load balancer | Own router | Own router |
注:以上三种方法所能支持最大服务器数目的估计是假设调度器使用 100M 网卡,调度器的硬件配置与后端服务器的硬件配置相同,而且是对一般 Web 服务。使用更高的硬件配置(如千兆网卡和更快的处理器)作为调度器,调度器所能调度的服务器数量会相应增加。当应用不同时,服务器的数目也会相应地改变。所 以,以上数据估计主要是为三种方法的伸缩性进行量化比较。
VS/DR模式
只能在同一VLAN中使用
Client-->VS-->RS-->client 速率最高
VS/DR 利用大多数 Internet 服务的非对称特点,负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量调度器和服务器组都必须在物理上有一个网卡通过不分断的局域网相连,如通过交换机或者高速的HUB 相连。VIP 地址为调度器和服务器组共享,调度器配置的 VIP 地址是对外可见的,用于接收虚拟服务的请求报文;所有的服务器把 VIP 地址配置在各自的 NonARP 网络设备上,它对外面是不可见的,只是用于处 理目标地址为 VIP 的网络请求
VS/DR的配置:
虚拟服务器VS:172.25.25.4----->server4
真实服务器VS:172.25.25.1----->server1
172.25.25.3----->server3
在虚拟服务器VS上的配置:
# 开启httpd
[root@server4 ~]# /etc/init.d/httpd start
# 配置yum源
[root@server4 ~]# vim /etc/yum.repos.d/rhel-source.repo
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.25.250/rhel6.5/HighAvailability
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.25.250/rhel6.5/LoadBalancer
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.25.250/rhel6.5/ResilientStorage
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.25.250/rhel6.5/ScalableFileSystem
gpgcheck=0
# 安装ipvsadm
[root@server4 ~]# yum install ipvsadm -y
# 加载rule
[root@server4 ~]# ipvsadm -A -t 172.25.25.100:80 -s rr
[root@server4 ~]# ipvsadm -a -t 172.25.25.100:80 -r 172.25.25.1:80 -g
[root@server4 ~]# ipvsadm -a -t 172.25.25.100:80 -r 172.25.25.3:80 -g
# 绑定虚拟ip
[root@server4 ~]# ip addr add 172.25.25.100/24 dev eth0
# 查看
[root@server4 ~]# ipvsadm -ln
/etc/yum.repos.d/rhel-source.repo内容:
在真实服务器RS上的配置:
Server1上: