理解负载均衡群集的原理
掌握LVS-NAT的部署
什么是集群
群集 集群 cluster
特定:由多个主机构成,都干相同的一件事,对外展现为一个整体
群集的类型
1)负载均衡群集 LB
提高系统的响应效率,处理更多的访问请求,减少延迟,实现高并发、高负载的能力
典型代表:软件类(Nginx LVS HAProxy SLB) 硬件类(F5 绿盟)
2)高可用群集 HA
提高系统的可靠性,减少服务中断时间,确保服务的连续性(通过使用 N 个 9 来代表高可用的指标)
典型代表:keepalived、heartbeat
3)高性能计算群集 HPC
将多台服务器的硬件资源整合成资源池以获取高性能的CPU、内存等资源,来提高整体运算能力
典型代表:云计算、分布式计算
负载均衡群集架构
LVS负载均衡的三种工作模式
1)NAT 地址转换
调度器会作为所有节点服务器的默认网关,也是客户端的访问入口和节点服务器返回响应消息的出口,所以调度器会承载双向流量的负载压力,可能会成为整个群集的性能瓶颈。
由于节点服务器都会处于内网环境并使用私网IP,所以NAT模式具有一定的安全性。
2)TUN IP隧道 IP Tunnel
调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器。
由于节点服务器需要部署在互联网环境中,所以需要有独立的公网IP。
调度器与节点服务器是通过专用的IP隧道相互通信。
因此IP隧道模式的成本较高、网络安全性较低密,且数据在IP隧道传输的过程中需要额外的封装和解封装过程,性能也会受到一定的影响。
3)DR 直接路由 Direct Rounting
调度器也是仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器。(与NAT模式的区别)
节点服务器与调度器是部署在同一个物理网络中,因此不需要专用的IP隧道。(与IP隧道模式的区别)
DR模式是企业首选的LVS模式。
关于LVS虚拟服务器
加载内核模块的方法
LVS调度算法
rr(轮询) wrr(加权轮询) lc(最小连接) sh(源地址哈希) dh(目的地址哈希)
wlc(加权最小连接):优先分配请求给 <连接数>/<权重> 的值最小的节点服务器
lblc(基于地址的最小连接):如果服务器末超载且可用,则针对相同的目的地址的流量被发送到同一后端服务器;否则,流量被发送到连接数较少的服务器
sed(最短预期延迟)
nq(永不排队)
LVS-NAT模式部署
1)部署NFS共享存储
2)部署Web服务器,注意:节点服务器的默认网关要指向调度器的网卡地址,测试时可关闭连接保持
3)部署调度器,配置双网卡,开启IP路由转发,若内外主机要访问外网则需要配置SNAT规则,安装ipvsadm工具,添加虚拟服务器和真实服务器的配置,使用 -m 选项选择LVS-NAT模式
4)客户端设置默认网关指向调度器的网卡地址,使用浏览器进行测试
ipvsadm -A -t 12.0.0.1:80 -s rr [-p 60] #添加虚拟服务器
VIP:端口 调度算法 连接保持时间
ipvsadm -a -t 12.0.0.1:80 -r 192.168.80.11:80 -m [-w 1] #添加真实服务器
VIP:端口 RIP:端口 -g/-i 权重
ipvsadm #启用策略
ipvsadm-save -n > /opt/ipvsadm #导出策略保存
ipvsadm-restore < /opt/ipvsadm #导入策略恢复
ipvsadm -d -t 12.0.0.1:80 -r 192.168.80.11:80 #删除一个真实服务器
ipvsadm -D -t 12.0.0.1:80 #删除整个虚拟服务器