1、负载均衡介绍html
一、简单说就是让多台服务器均衡的去承载压力。实现负载均衡的开源软件有LVS,keepalived,haproxy,Nginx等,商业的有F5,NetScaler.nginx
2、LVS介绍算法
一、LVS是一款四层的负载均衡软件,是针对TCP/IP作的转发和路由,因此稳定性和效率至关高。核心角色是调度器,用来分发用户的请求,还有处理用户服务的服务器vim
二、LVS根据实现方式不一样:有NAT模式,IP Tunnel 模式 ,DR模式。后端
三、NAT模式:调度器把用户的请求经过预设的iptables规则转发给后端真实服务器。调度器会有一个公网IP,一个内网IP,真实服务器只有内网IP,用户访问的时候请求的是调度器的公网IP,会把用户的请求转到真实服务器的内网IP上,该模式节省公网IP,可是调度会成为一个瓶颈。bash
四、IP Tunnel 模式:须要一个公共的IP配置在分发器和全部realserver上,称之为vip.,客户请求数据包,目标地址VIP发送到LB上。LB接收到客户请求包,进行IP Tunnel封装。即在原有的包头加上IP Tunnel的包头。而后发送出去。RS节点服务器根据IP Tunnel包头信息(此时就又一种逻辑上的隐形隧道,只有LB和RS之间懂)收到请求包,而后解开IP Tunnel包头信息,获得客户的请求包并进行响应处理。响应处理完毕以后,RS服务器使用本身的出公网的线路,将这个响应数据包发送给客户端。源IP地址仍是VIP地址.服务器
五、DR模式:和IP Tunnel 模式方法相同,用户的请求被调度器动态的分配到真实服务器上,真实服务器响应请求把结果直接返回给用户,在这种模式下不会封装IP,而是将数据帧的MAC地址改成真实服务器的MAC地址。负载均衡
3、LVS的调度算法测试
一、轮询调度(Round Robin)ui
二、带权重的轮询调度(Weighted Round Robin)
三、最小链接调度(Least Connections)
四、带权重最小链接(Weighted Least Connections)
五、基于局部性的最小连接(Locality-Based Least Connections)
六、带复制的基于局部性最小连接(Locality-Based Least Connections with Replication)
七、目标地址散列调度(Destination Hashing)
八、源地址散列调度(Source Hashing)
4、LVS NAT 模式搭建
一、设置调度器(dir) 192.168.134.130(内网IP) 192.168.150.128(公网IP),须要设置为仅主机模式。
RS1:192.168.134.150 RS2:192.168.134.131
二、三台机器上都关闭防火墙 首先安装 iptables-service
systemctl stop firewalld
systemctl disable firewalld
iptables -F
service iptables save
三、设置RS1 和RS2 的网关 192.168.134.130 编辑 vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改 :GATEWAY=192.168.134.130
而后: service network restart
四、在dir上安装 ipvsadm
yum install -y ipvsadm
五、在dir编写配置脚本 vim /usr/local/sbin/lvs_nat.sh
$IPVSADM -A -t 192.168.150.128:80 -s wlc -p 300 修改成 $IPVSADM -A -t 192.168.150.128:80 -s wlc
能够发如今rs1 和 rs2 之间来回访问,作到了负载均衡。