LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。LVS集群采用IP负载均衡技术和基于内容请求分发技术,是一个高性能的前端调度分发器。
LVS分为三种模式,分别为NAT、DR、TUN,三种IP负载均衡技术的优缺点比较:
杂项 VS/NAT VS/TUN VS/DR
服务器操作系统 任意 支持隧道 多数(支持Non-arp )
服务器网络 私有网络 局域网/广域网 局域网
服务器数目 10-20 100 多(100)
服务器网关 负载均衡器 自己的路由 自己的路由
效率 一般 高 最高
常用算法
把外部的请求按照顺序轮流分发到集群中的服务器中,如何你的服务器集群的机子性能完全相等的,可以使用此种。
根据权重分发请求给集群的服务器。如a:2 b:1,那么给a两次,才给b一次。
根据集群服务器的建立连接数,将请求优先分配给连接值最低的的机器。
根据权重比与建立连接数,权重比越高,将承受较大的活动连接数。
#
以下为默认的DR模式
安装
[root@localhost ~]# yum install ipvsadm -y
绑定一个虚拟IP
[root@localhost ~]# ifconfig eth0:0 192.168.1.200 broadcast 192.168.0.200 netmask 255.255.255.255 up
添加本地路由
[root@localhost ~]# route add -host 192.168.1.200 dev eth0:0
开启转发
[root@localhost ~]# echo "1" >/proc/sys/net/ipv4/ip_forward
LVS配置,假设我们有两个web服务器,IP分别是104、105。
[root@localhost ~]# ipvsadm -C #清空所有记录
[root@localhost ~]# ipvsadm -A -t 192.168.1.200:80 -s rr #转发IP 算法
[root@localhost ~]# ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.104:80
[root@localhost ~]# ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.105:80
然后分别给两台web服务器配置一个虚拟IP地址
[root@web1 ~]# ifconfig eth0:0 192.168.1.200 broadcast 192.168.1.200 netmask 255.255.255.255 up
[root@web2 ~]# ifconfig eth0:0 192.168.1.200 broadcast 192.168.1.200 netmask 255.255.255.255 up
测试访问,先将域名解析到LVS。
[root@Master ~]# curl letong.me
this web1.
[root@Master ~]# curl letong.me
this web2.
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。图示
1、HAProxy是支持虚拟主机的,可以工作在4、7层(支持多网段);
2、Session的保持,Cookie的引导等工作;
3、支持url检测后端的服务器;
4、可以对Mysql进行检测与负载 ;
#
安装
yum -y install haproxy
配置文件
/etc/haproxy/haproxy.cfg
修改配置文件
frontend main *:80
default_backend app
backend app
balance roundrobin
server web1 192.168.1.104:80 check
server web2 192.168.1.105:80 check
测试访问,将域名解析到haproxy服务器的IP
[root@Master ~]# curl letong.me
this web1.
[root@Master ~]# curl letong.me
this web2.