目录
1.群集的含义及问题
1.1.两种提升企业服务性能的方式
- 纵向扩展:对服务器的CPU、内存、硬盘等硬件进行升级或者扩容来实现的,性能上限会有瓶颈,且成本昂贵导致收效比不高
- 横向扩展:通过增加服务器主机数量来应对高并发的场景
2.企业群集分类
负载均衡群集 LB
- 提高系统的响应效率,处理更多的访问请求,减少延迟,实现高并发、高负载的能力
- 典型代表:软件类(Nginx LVS HAProxy SLB) 硬件类(F5 绿盟)
高可用群集 HA
- 提高系统的可靠性,减少服务中断时间,确保服务的连续性(通过使用 N 个 9 来代表高可用的指标)
- 典型代表:keepalived、heartbeat
高性能计算群集 HPC
- 将多台服务器的硬件资源整合成资源池以获取高性能的CPU、内存等资源,来提高整体运算能力
- 典型代表:云计算、分布式计算
二.LVS负载均衡群集运用理论
1.负载均衡的架构
2. LVS负载均衡的三种工作模式
2.1.NAT 地址转换
- 调度器会作为所有节点服务器的默认网关,也是客户端的访问入口和节点服务器返回响应消息的出口,所以调度器会承载双向流量的负载压力,可能会成为整个群集的性能瓶颈
- 由于节点服务器都会处于内网环境并使用私网IP,所以NAT模式具有一定的安全性
2.2.TUN IP隧道 IP Tunnel
- 调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器
- 由于节点服务器需要部署在互联网环境中,所以需要有独立的公网IP
- 调度器与节点服务器是通过专用的IP隧道相互通信
- 因此IP隧道模式的成本较高、网络安全性较低密,且数据在IP隧道传输的过程中需要额外的封装和解封装过程,性能也会受到一定的影响
2.3.DR 直接路由 Direct Rounting
- 调度器也是仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器(与NAT模式的区别)
- 节点服务器与调度器是部署在同一个物理网络中,因此不需要专用的IP隧道(与IP隧道模式的区别)
- DR模式是企业首选的LVS模式
三.LVS虚拟服务器
1.ip_vs通用模块
ls /usr/lib/modules/3.10.0-693.el7.x86_64/kernel/net/netfilter/ipvs
LVS所有相关的调度算法模块
LVS现在已成为 Linux 内核的一部分,默认编译为 ip_vs 模块,必要时能够自动调动。
在CentOS 7 系统中,手动加载 ip_vs 模块的命令如下
modprobe ip_vs 手动加载 ip_vs 模块
cat /proc/net/ip_vs 查看当前系统中ip_vs模块的版本信息
2.LVS调度器用的调度方法
固定调度算法:rr,wrr,dh,sh
rr:轮询算法 将请求依次分配给不同的rs节点,即RS节点中均摊分配。适合于RS所有节点处理
性能接近的情况
wrr:加权轮训调度 依据不同RS的权值分配任务。权值较高的RS将优先获得任务,并且分配到
的连接数将比权值低的RS更多。相同权值的RS得到相同数目的连接数
dh:目的地址哈希调度(destination hashing)以目的地址为关键字查找一个静态hash表来获得所
需RS
sh:源地址哈希调度(source hashing)以源地址为关键字查找一个静态hash表来获得需要的
RS
动态调度算法:wlc,lc,lblc
wlc:加权最小连接数调度 假设各台RS的权值依次为Wi,当前tcp连接数依次为Ti,依次去Ti/Wi
为最小的RS作为下一个分配的RS
lc:最小连接数调度(least-connection)IPVS表存储了所有活动的连接。LB会比较将连接请求
发送到当前连接最少的RS
lblc:基于地址的最小连接数调度(locality-based least-connection)将来自同一个目的地址的
请求分配给同一台RS,此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的
RS,并以它作为下一次分配的首先考虑
四.ipvsadm工具选项说明
-A | 添加虚拟服务器 |
-D | 删除整个虚拟服务器 |
-s | 指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc) |
-a | 表示添加真实服务器(节点服务器) |
-d | 删除某一个节点 |
-t | 指定 VIP地址及 TCP端口 |
-r | 指定 RIP地址及 TCP端口 |
-m | 表示使用 NAT群集模式 |
-g | 表示使用 DR模式 |
-i | 表示使用 TUN模式 |
-w | 设置权重(权重为 0 时表示暂停节点) |
-p 60 | 表示保持长连接60秒(默认关闭连接保持) |
-l | 列表查看 LVS 虚拟服务器(默认为查看所有) |
-n | 以数字形式显示地址、端口等信息,常与“-l”选项组合使用。ipvsadm -ln |
五.LVS-NAT模式部署
1.准备虚拟机
192.168.80.105 LVS调度器
192.168.80.106 web服务器1
192.168.80.107 web服务器2
192.168.80.108 NFS共享存储
2.配置NFS共享存储
3.nginx服务器部署
3.1.通过yum给两台虚拟机安装nginx
3.2.NFS虚拟机准备测试界面
3.3.将测试界面分别挂载到两台nginx虚拟机
192.168.80.106
192.168.80.107
4.修改网卡配置
192.168.80.106
192.168.80.107同上