LVS负载均衡群集,熟悉LVS的工作模式,了解LVS的调度策略以及ipvsadm工具的命令格式

本文主要是介绍LVS负载均衡群集,熟悉LVS的工作模式,了解LVS的调度策略以及ipvsadm工具的命令格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、什么是群集

群集的作用:

群集的目的是什么

根据群集所针对的目标差异,可分为三种类型

负载均衡群集(LBC)load balance cluster

高可用群集(HAC)high availability cluster

高性能运算群集(HPCC)high performance computer cluster

二、lvs的负载均衡模式有哪些

1)NAT 地址转换

2)TUN IP隧道   IP Tunnel  

3)DR 直接路由  Direct Routing

三、lvs的负载均衡调度策略有哪些

四、如何设置lvs的负载均衡,掌握ipvsadm工具

添加一个虚拟服务器,并指定vip为12.0.0.1

启动服务前须保存负载分配策略​编辑


一、什么是群集

群集:多台主机对外表现为一个整体只提供一个访问入口,相当于一台大型的计算机。

群集的作用:

纵向扩展:对服务器的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 策略并且给该文件添加执行权限

五、lvs-nat模式的配置方法
1)部署NFS共享存储
2)部署Web节点服务器,注意:节点服务器的默认网关要指向调度器的内网IP,测试的时候可关闭连接保持
3)部署调度器,配置双网卡,开启IP路由转发功能,如果内网中的节点服务器需要访问外网则要配置SNAT规则,安装ipvsadm工具,添加虚拟服务器和真实服务器的相关配置,使用-m选项选择NAT模式
4)客户端设置默认网关指向调度器的外网IP,并使用客户端工具测试

这篇关于LVS负载均衡群集,熟悉LVS的工作模式,了解LVS的调度策略以及ipvsadm工具的命令格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/499430

相关文章

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

Java中使用注解校验手机号格式的详细指南

《Java中使用注解校验手机号格式的详细指南》在现代的Web应用开发中,数据校验是一个非常重要的环节,本文将详细介绍如何在Java中使用注解对手机号格式进行校验,感兴趣的小伙伴可以了解下... 目录1. 引言2. 数据校验的重要性3. Java中的数据校验框架4. 使用注解校验手机号格式4.1 @NotBl

Redis客户端工具之RedisInsight的下载方式

《Redis客户端工具之RedisInsight的下载方式》RedisInsight是Redis官方提供的图形化客户端工具,下载步骤包括访问Redis官网、选择RedisInsight、下载链接、注册... 目录Redis客户端工具RedisInsight的下载一、点击进入Redis官网二、点击RedisI

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

基于Python实现一个PDF特殊字体提取工具

《基于Python实现一个PDF特殊字体提取工具》在PDF文档处理场景中,我们常常需要针对特定格式的文本内容进行提取分析,本文介绍的PDF特殊字体提取器是一款基于Python开发的桌面应用程序感兴趣的... 目录一、应用背景与功能概述二、技术架构与核心组件2.1 技术选型2.2 系统架构三、核心功能实现解析