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

相关文章

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程