【LVS负载均衡群集】

news2024/11/28 14:18:07

目录

  • 一、企业群集应用概述
    • 1、群集的含义
    • 2、企业群集分类
    • 3、负载均衡群集架构
      • 1、负载均衡的结构
      • 2、负载均衡群集工作模式分析
  • 二、LVS的三种工作模式
    • 1、NAT 模式
      • 地址转换
    • 2、TUN模式
      • IP隧道
    • 3、DR模式
      • 直接路由
  • 三、实战
    • NAT模式 LVS负载均衡群集部署
    • 1.部署共享存储(NFS服务器:192.168.102.50)
    • 2、配置节点服务器
      • 配置第一个节点服务器
      • 配置第二个节点服务器
    • 3、配置负载调度器(内网关 ens33:192.168.102.30,外网关 ens35:12.0.0.30)
      • (1)配置SNAT转发规则
      • (2)加载LVS内核模块
      • (3)安装ipvsadm 管理工具


一、企业群集应用概述

1、群集的含义

Cluster,集群、群集

由多台主机构成,但对外只表现为一个整体,只提供一个访问入口(域名或IP地址),相当于一台大型计算机

问题

* 互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用的要求

解决方法

ont face=“微软雅黑” size=4>使用价格昂贵的小型机,大型机

使用多台相对廉价的普通服务器构建服务群集

2、企业群集分类

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

负载均衡群集

高可用群集

高性能运算群

1、负载均衡群集

提高应用系统的响应能力、尽可能处理更多的访问请求减少延迟为目标,获得高并发、高负载 (LB)的整体性能

LB的负载分配依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载压力。例如,“DNS轮询” “反向代理”等

2、高可用群集

提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果

HA的工作方式包括双工和主从两种模式,双工即所有节点同时在线主从则只有主节点在线,但当出现故障时从节点能自动切换为主节点。例如,“故障切换” “双机热备” 等

3、高性能运算群集

以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力

高性能依赖于“分布式运算”、“并行计算”,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力。例如,“云计算” “网格计算”等

3、负载均衡群集架构

1、负载均衡的结构

第一层:负载调度器(Load Balancer或Director)

访问整个群集系统的唯一入口,对外使用所有服务器共有的VIP地址,也称为群集IP 地址。通常会配置主、备两台调度器实现热备份,当主调度器失效以后能够平滑替换至备用调度器,确保高可用性。

第二层:服务器池 (Server Pool)

群集所提供的应用服务、由服务器池承担,其中每个节点具有独立的RIP地址(真实IP),只处理调度器分发过来的客户机请求。当某个节点暂时失效时,负载调度器的容错机制会将其隔离,等待错误排除以后再重新纳入服务器池。

第三层:共享存储 (Share Storage)

为服务器池中的所有节点提供稳定、一致的文件存取服务,确保整个群集的统一性共享存储可以使用NAS设备,或者提供NFS共享服务的专用服务器。

请添加图片描述

2、负载均衡群集工作模式分析

负载均衡群集是目前企业用得最多的群集类型

群集的负载调度技术有三种工作模式(LVS)

地址转换

IP隧道

直接路由

二、LVS的三种工作模式

1、NAT 模式

地址转换

Network Address Translation,简称NAT模式

类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口

服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式

2、TUN模式

IP隧道

IP Tunnel,简称TUN模式

采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器

服务器节点分散在互联网中的不同位置具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信

3、DR模式

直接路由

Direct Routing,简称DR模式

采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络

负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道

调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不经过调度器,节点服务器与调度器是部署在同一个局域网内,因此不需要建立专用的IP隧道,DR模式是企业的首选模式

三、实战

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

NAT模式 LVS负载均衡群集部署

负载调度器:内网关 ens33:192.168.80.10,外网关 ens35:12.0.0.1

Web节点服务器1:192.168.80.100
Web节点服务器2:192.168.80.101
NFS服务器:192.168.102.50
客户端:12.0.0.12

1.部署共享存储(NFS服务器:192.168.102.50)

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

设置两个网页页面

vim /etc/exports

在里面添加的配置的网段

/data/host2 192.168.102.0/24
/data/host1 192.168.102.0/24

在这里插入图片描述

2、配置节点服务器

配置第一个节点服务器

关闭防火墙和创建一个nginx的yum源

vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

在这里插入图片描述
安装yum源的nginx

在这里插入图片描述

设置对应的网关

vim /etc/sysconfig/network-scripts/ifcfg-ens33 

在这里插入图片描述

查看节点服务器有无设置成功
在这里插入图片描述

设置完后重启nginx服务,开启开机自启
在这里插入图片描述

配置第二个节点服务器

修改网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述

设置完后重启一下网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

挂载查看
在这里插入图片描述

使用浏览器查看有没有设置成功
在这里插入图片描述

3、配置负载调度器(内网关 ens33:192.168.102.30,外网关 ens35:12.0.0.30)

(1)配置SNAT转发规则

进入修改网卡

 cd /etc/sysconfig/network-scripts/

配置一个内网
在这里插入图片描述

配置一个外网
在这里插入图片描述

(1)配置SNAT转发规则
在这里插入图片描述

启动一下配置文件
在这里插入图片描述

创建一个规则 NAT 里面的

iptables -t nat -A POSTROUTING -s 192.168.102.0/24 -o ens35 -j SNAT --to 12.0.0.30

在这里插入图片描述

创建一个规则

iptables -t filter -A FORWARD -p tcp --dport 80 -j ACCEPT 

在这里插入图片描述

(2)加载LVS内核模块

开启模块

modprobe ip_vs        #加载 ip_vs模块
 
cat /proc/net/ip_vs    #查看 ip_vs版本信息

在这里插入图片描述

进入内核模块
在这里插入图片描述

进入 ipvs 后 重新加载里面的内核模块
在这里插入图片描述

使用for 循环 进行加载内核模块

for i in $(ls * | awk -F. '{print $1}'); do echo $i; done

在这里插入图片描述

(3)安装ipvsadm 管理工具

yum -y install ipvsadm

在这里插入图片描述

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

ipvsadm-save > /etc/sysconfig/ipvsadm

启动服务

systemctl start ipvsadm.service

进入nginx.conf 里面关闭长链接
在这里插入图片描述

关闭长链接
在这里插入图片描述

使用浏览器进行验证
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/620371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

将安全性置于首位:考试系统源码的安全漏洞和防护措施

在当今数字化时代,考试系统源码的安全性已经成为了一个至关重要的问题。随着更多人开始远程学习和在线考试,考试系统的安全漏洞也越来越容易被利用。因此,在开发和使用考试系统源码应用程序时,保护用户数据和系统资源免受攻击是至…

思维导图整理,100个好看实用的模板分享

思维导图是一款有效提升工作和生活效率的生产力工具,受到全球千万用户的喜爱。 它帮助我们将所需的信息以图形的形式呈现,更加便于我们的记忆。头脑风暴帮助我们捕捉灵感,激发 我们更多的想象力。 它可以应用在我们生活以及工作的方方面面。项…

卡尔曼滤波与组合导航原理(七)平方根Kalman滤波:Potter平方根滤波、SVD分解滤波、UD分解滤波、平方根信息滤波SRIKF

文章目录 一、平方根滤波基本形式二、Potter平方根滤波1、方差阵的量测更新2、方差阵的时间更新3、Potter平方根滤波流程4、向量量测情况下的方差阵量测更新 三、奇异值(SVD)分解滤波1、时间更新方差方程的SVD分解2、量测更新方差方程的SVD分解3、SVD分解…

西电网课雨课堂《书法鉴赏》全部课后答案

声明:本文CSDN作者原创投稿文章,未经许可禁止任何形式的转载,原文链接 如果图片挂了,可以移步至我的博客西电网课雨课堂《书法鉴赏》答案 - 小木槌 文章目录 绪论--解惑初学书法者(上)绪论--解惑初学书法者…

Es elasticsearch 十八 Logstash 数据抽取工具

目录 基础 启动命令 简单配置文件 控制台输入输出打印 input从log文件获取数据-如分布式日志收集 监听端口 filter过滤器 Grok 正则捕获 Output 输出到es 文件输入 es输出 获取日志中字段 level 基础 从原数据 获取数据 发送到 某地方 Input{} filter{} output{} …

JMeter 常用的几种断言方法,你会几种呢?

在使用Jmeter进行性能测试或者接口自动化测试工作中,经常会用到的一个功能,就是断言。断言是在请求的返回层面增加一层判断机制。因为请求成功了,并不代表结果一定正确,因此需要判断机制提高测试准确性。本文 主要介绍3种常用的断…

【LSTM】读取时间序列数据 | 时间序列数据的小批量划分方法

由于序列数据本质上是连续的,因此我们在处理数据时需要解决这个问题。当序列过长而不能被模型一次性全部处理时,我们希望能拆分这样的序列以便模型方便读取。 Q:怎样随机生成一个具有n个时间步的mini batch的特征和标签? A&…

4.2 Spark SQL数据源 - 基本操作

一、默认数据源 案例演示读取Parquet文件 查看Spark的样例数据文件users.parquet 1、在Spark Shell中演示 启动Spark Shell 查看数据帧内容 查看数据帧模式 对数据帧指定列进行查询,查询结果依然是数据帧,然后通过write成员的save()方法写入HDF…

还在为开发难度发愁?这个低代码平台能让你轻松搞定!

随着数字技术的不断发展,数字化也越来越深入人们的日常生活中,在这样的时代背景下,企业是需要通过不断创新来满足用户日益增长的业务需求。 使用背景 对企业而言,随着组织规模的扩大,各种业务流程系统需要持续而快速地…

浮点数的存储方式和取值范围

一、有符号整型的编码方式 1. 真值 把用""、"-"表示符号,数值部分用绝对值的编码的表示方式称为真值。 如3用4bit真值表示为0011,-1用真值表示为-0011。 2. 原码 符号位为0表示正数,符号位为1表示负数,数…

网络安全的究竟如何自学?

以十五派9年信息安全教育经验以及数千名学生摸索实践可以得知,在知乎上能够搜索到这个问题的人不外乎三种人: 第一种人在找网络安全入门的捷径; 第二种人想自己的方向进而获得认同感; 第三种人是已经在自学网络安全但是过程中碰…

卡尔曼滤波与组合导航原理(九)Sage-Husa自适应滤波

自适应滤波有很多种方式,也很实用 一、自适应滤波基本思想 函数模型 { X k Φ k / k − 1 X k − 1 Γ k − 1 W k − 1 Z k H k X k V k \left\{\begin{array}{l} \boldsymbol{X}_{k}\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}\boldsymbol{\Gamma}_{…

Mujoco xml编写(二)

目录 .1 运行 1.1 测试 .2 XML 2,1 基础 2.3 简单实例 2.3 进阶例子 .1 运行 1.1 测试 基于Mujoco210 Ubuntu 22.04配置安装_啥也不是的py人的博客-CSDN博客完成安装后 import mujoco_py import os mj_path mujoco_py.utils.discover_mujoco() xml_path os.path.join…

学习并深入理解闭包

前言 学习闭包前,先学点别的。 程序执行时: 1.编译阶段 创建变量对象GO,包括变量和函数作用域装在一块内存中。但是没有赋值,变量都是undefined,函数:0xxx 2.创建执行上下文 里面有VO对应ao(函数里的变量&#xff0…

数据结构 -- 跳跃链表

跳跃链表的概念 跳跃链表是有序链表的一个变种,在一个有序链表中,查找一个链表中的元素需要进行一次遍历,时间复杂度为O(n),为了加快查找的过程,能够跳过某些元素呢?一个思路就是牺牲一定的空间换时间&…

入职外包一个月,我离职了

有一种打工人的羡慕,叫做“大厂”。 真是年少不知大厂香,错把青春插稻秧。 但是,在深圳有一群比大厂员工更庞大的群体,他们顶着大厂的“名”,做着大厂的工作,还可以享受大厂的伙食,却没有大厂…

Redis系列第一篇:ubuntu18.04下源码编译安装Redis 6.2.12

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis是一个key-value存储系统。和Memcached类似&#xff…

EasyExcel设置动态head数据(不是格式)及postman自测的坑

需求背景: 导出某某业务模块的数据,但是,数据列的标题内容是根据当前日期计算出来的。 比如今天是5月20,那么列就是 5/21 、 5/22…以此类推 问题: EasyExcel 通过Bean的注解实现匹配的,这是最便捷的方式&…

这5款小众又好用的软件,你都知道吗?

1.文件比较——WinMerge WinMerge是一款用于比较和合并文件和文件夹的工具。它可以让你对不同的文件和文件夹进行可视化的对比,并显示出差异和相似之处。WinMerge支持多种功能,如合并,同步,过滤,插件等。这款工具非常实用,但是可以提供强大的文件比较功能,是管理文件和解决冲突…

123 2021年国赛 二分搜索+前缀和

题目描述 小蓝发现了一个有趣的数列,这个数列的前几项如下: 1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 小蓝发现,这个数列前 1 项是整数 1,接下来 2 项是整数 1 至 2,接下来 3 项是整数 1 至 3,接下来 4 项是整数…