LVS负载均衡群集,熟悉LVS的工作模式,了解LVS的调度策略以及ipvsadm工具的命令格式
目录
负载均衡群集(LBC)load balance cluster
高可用群集(HAC)high availability cluster
高性能运算群集(HPCC)high performance computer cluster
一、什么是群集
群集:多台主机对外表现为一个整体,只提供一个访问入口,相当于一台大型的计算机。
群集的作用:
纵向扩展:对服务器的cpu和内存以及硬盘等硬件资源,在单台上去实现硬件的升级,性能上面还是会有瓶颈,且成本高!!!!性价比不高。
横向扩展:通过多台服务器主机来实现负载均衡、高可用
群集的目的是什么
提高性能:可以计算密集应用
降低成本:相对实现纵向扩展的同等性能,集群价格更加便宜
提高可扩展性:增加集群的节点
增强可靠性:多个节点完成相同功能,避免单点故障
根据群集所针对的目标差异,可分为三种类型
-
负载均衡群集(LBC)load balance cluster
提高系统响应效率,处理更多的访问请求,减少响应延迟,实现高并发、高负载的能力
典型代表:软件类(Nginx ?LVS ?HAProxy ?SLB) ? ? 硬件类(F5 ?绿盟)
了解负载均衡服务器的架构!!
-
高可用群集(HAC)high availability cluster
提高系统可靠性,减少中断时间,确保服务的连续性(通常使用 N 个 9 来代表高可用的指标)
典型代表:Keepalived ? heartbeat
-
高性能运算群集(HPCC)high performance computer cluster
通过云计算或分布式计算将硬件资源整合成资源池以获取高性能的CPU、内存等资源,来提高整体运算能力
二、lvs的负载均衡模式有哪些
1)NAT 地址转换
调度器会作为所有节点服务器的默认网关,也是客户端的访问入口和节点服务器返回响应消息的出口,所以调度器会承载双向流量的负载压力,可能会为整个群集的性能瓶颈。由于节点服务器都会处于内网环境,使用私网IP,所以具有一点的安全行。
2)TUN IP隧道 ? IP Tunnel ?
调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回客户端的,不需要经过调度器。但是由于节点服务器需要部署在不同的公网环境,所以要有独立的公网IP,而且调度器与节点服务器是通过专用的IP隧道实现相互通信,因此IP隧道模式的成本较高、安全性较低,且数据IP隧道传输的过程中需要额外的封装和解封装,性能也会受到一定的影响。
3)DR 直接路由 ?Direct Routing
调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回客户端的,不需要经过调度器。(与NAT模式的区别)
节点服务器与调度器是部署在同一个物理网络里,因此不需要建议专用的IP隧道。(与IP隧道模式的区别)
DR模式是企业首选的LVS模式。
三、lvs的负载均衡调度策略有哪些
负载均衡的架构
调度策略有哪些
- rr(轮询)??
- wrr(加权轮询)? :根据权重进行调度
- sh(源地址哈希)? :根据源ip地址,转发给固定的后端节点服务器
- dh(目的地址哈希) ?:根据目标ip地址,转发给固定的后端节点服务器
- lc(最小连接)? ?:优先分配给连接最少的后端节点服务器
- wlc(加权最小连接):优先分配请求给 <连接数>/<权重值> 的值最小的节点服务器
- lblc(基于地址的最小连接):优先根据目的地址哈希将请求分配给同一个节点服务器,若此节点服务器满负荷了则优先将请求分配当前连接数最小的节点服务器
四、如何设置lvs的负载均衡,掌握ipvsadm工具
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
常用的命令格式
添加一个虚拟服务器,并指定vip为12.0.0.1
启动服务前须保存负载分配策略
ipvsadm-save > /etc/sysconfig/ipvsadm
或者 ipvsadm --save > /etc/sysconfig/ipvsadm
如果是删除某个节点或者删除某个虚拟服务器?
ipvsadm -d -t 12.0.0.1:80 -r 192.168.20.10:80 #删除群集中某一节点服务器
ipvsadm -D -t 12.0.0.1:80 #删除整个虚拟服务器
systemctl stop ipvsadm #停止服务(清空策略),如果selinux没关闭/etc/sysconfig/ipvsadm内容也会清空
systemctl start ipvsadm #启动服务(根据/etc/sysconfig/ipvsadm恢复策略)
ipvsadm-restore < /opt/ipvsadm #恢复LVS 策略
如果是需要开机就生效 那么需要将其写入到/etc/rc.local文件中
vim /etc/rc.local
ipvsadm-restore < /opt/ipvsadm #恢复LVS 策略
并且给该文件添加执行权限
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!