一、集群架构
1.1 负载调度器
1.1.1 常用调度算法
算法 | 分配方式 |
轮询:rr | 每台服务器均分 |
加权轮询:wrr | 根据权重分配 |
最小连接:lc | 谁的连接数最少分配给谁 |
最小加权轮询:wlc | 连接数/权重,谁最小分配给谁 |
源地址哈希:sh | 在连接保持时间内,根据访问源IP分配到上次的服务器 |
1.1.2 LVS模块
- 确认模块启用:modprobe ip_vs
- 查看模块版本:cat /proc/net/ip_vs
- 调度算法目录:/usr/lib/modules/3.10.0-693.el7.x86_64/kernel/net/netfilter/ipvs/
- 加载所有算法:for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o “^[^.]*”);do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done
1.2 节点服务器
- 处理负载均衡器发送过来的请求的服务器(nginx/Tomcat等)
1.3 共享储存
1.3.1 NFS共享储存
#nfs储存服务器 yum install rpcbind -y #安装服务 vim /etc/exports #配置共享的目录、享受共享的主机地址 /opt/nfs/web1 192.168.13.0/24(rw,sync,no_root_squash) systemctl start rpcbind #必须先启动rpcbind服务 systemctl start nfs #驱动nfs共享服务 #节点服务器 mount ip:分享路径 本地挂载点 #将资源服务器内容挂载到节点服务器 vim /etc/fstab #配置开机自动挂载:挂载内容 挂载点 文件系统 默认权限
1.3.2 NAS存储设备
- 实际生产环境运用的存储方式
二、集群
2.1 负载均衡
2.1.1 定义
- 作用:提高并发性,降低延迟率
- 算法:①反向代理;②DNS轮询
- 工作模式:①NAT模式(地址转换);②DR模式(直接路由);③IP隧道
2.1.2 负载均衡搭建
链接 | 优势 | 劣势 |
nginx负载均衡(四层/七层反向代理) | 轻量级,便捷 | 高并发性能较差,不支持健康检查 |
lvs负载均衡(NAT/DR) | 性能最好,支持健康检查 | 搭建复杂,费用较高 |
IP隧道模式 | 费用适中,并发能力比nginx好 | 性能适中,无突出点 |
硬件负载均衡 | 最常见:F5 | 较常见:梭子鱼、绿盟 |
2.2 高可用
2.2.1 定义
- 作用:提高可靠性,保持连续性
- 效率:一般企业可达到3-5个9的保证率
- 工作模式:①主从(故障切换/双机热备);②双工
2.2.2 高可用集群搭建
- 高可用集群(包含了NAT/DR模式):下方的ipvsadm工具命令了解即可,集群肯定会用高可用,而keepalived中又包含了部分NAT/DR的ipvsadm配置,因此学会keepalived高可用即可。
2.3 高性能运算群集
- 一般国家级才会用到
三、ipvsadm工具
- 工具命令语法
选项 | 作用 |
-A | 添加虚拟调度服务器 |
-D | 删除虚拟调度服务器 |
-s | 指定调度算法 |
-a | 添加节点服务器 |
-d | 删除节点服务器 |
-t | 指定VIP地址/TCP端口 |
-m | 使用NAT模式 |
-g | 使用DR模式 |
-i | 使用IP隧道模式 |
-w | 设置权重 |
-p 60 | 设置长链接60s |
-l | 查看虚拟调度服务器 |
-n | 以数字形式显示地址 |
四、思维导图
五、结语
- 集群,是结合了成本与效率均衡考虑之后,横向发展的科技树。
- 高可用是在负载均衡上的进一步优化,在做到高效率的同时,做到高可靠,高保证。