LVS(Linux Virtual Server)集群,(1)NAT模式

Cluster:集群,为了解决某个特定问题将多台计算机组合起来形成的单个系统。

集群分为三种类型:

LB(Load Balancing),负载均衡,多个主机组成,每个主机只承担一部分访问请求

HA(High Availiablity),高可用,避免单点故障

HPC(High-performance computing),高性能

LVS一共有三种工作模式:DR,Tunnel,NAT

轮询(Round Robin):将收到的访问请求按照顺序轮流分配给群集中的各节点。

加权轮询(Weighted Round Robin):根据调度器设置的权重值来分发请求,权重值越高,越优先获得任务并且分配的请求越多。

最少连接(Least Connections):根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。

加权最少连接数(Weighted Least Connections):在服务器节点的性能差异较大的情况下,调度器根据节点服务器负载自动调整权重。

集群:同一个业务系统,部署在多台服务器上。

集群设计原则:

可扩展性—集群的横向扩展能力

可用性—无故障时间

性能—访问响应时间

容量—单位时间内的最大并发吞吐量

软件:

lvs:阿里四层SLB使用四层的nginx负载均衡软件,内核中的功能性能强,功能少,百万级别的并发。

nginx:支持七层调度,阿里七层SLB使用Tengine,4层,3-6w并发

haproxy:支持七层调度,反向,十万级别(不太会用到)

LVS:调度器,负载均衡软件,类似于nginx,4层协议的代理

IPVS sheduler调度算法

LVS,负载调度器,内核集成。阿里的四层SLB是基于LVS+keepalived实现。

LVS集群中的术语:

VS(Virtual Server,VS)代理服务器,DS(Director Server),Dispatcher调度器

RS(real Server,RS)真实服务器:upstream server(nginx),backend server(paproxy),真实服务器

CIP(Client IP):客户机IP

VIP(Virtual Server IP):代理服务器的IP,外网IP

DIP(Director IP)VS内网的IP,代理服务器的IP

RIP(Real server IP):真实服务器的IP地址

LVS调度算法,调度算法分为两种,静态方法和动态方法。

静态方法就是不管后端真实服务器的状态,根据自身算法进行调度。

动态方法是会根据后端服务器的状态来进行调度。

仅根据算法本身进行调度。

静态:

RR:RoundRobin,轮询,常用
WRR:加权轮询,常用,先算总权重,再用自己的权重去除以总权重

SH,实现session sticky,源IP地址hash,将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定

DH,目的地址哈希,第一次轮询调度至RS

动态:

一个参考值来确定服务器是否忙,值越小代表服务器越空闲,就会优先调度个空闲的服务器
根据RS当前的负载状态及调度算法进行调度Overhead=value值,小的值被调度

1.LC:适用于长连接应用,最小连接数,不考虑权重

公式:Overhead=activeconns*256+inactiveconns

值=活动连接*256+非活动连接。没有权重

2.WLC:带权重的,weight,默认调度,加权最小连接数,第一轮不合理,都是一样的优先级

公式:Overhead=(activeconns*256+inactiveconns)/weight

值=(活动连接*256+非活动连接)/权重。有权重

3.SED:初始连接高权重优先,只检查活动连接,而不考虑非活动连接,权重小的,空闲的
公式:Overhead=(activeconns+1)*256/weight

值=(活动连接+1)*256/权重。

4.NQ:第一轮均匀分配,后续SED

ipvsadm 工具,选项说明

-A:添加虚拟服务器

-D:删除整个虚拟服务器

-s:指定负载调度算法

-a:添加真实服务器(节点服务器)

-d:删除某一个节点

-t:指定VIP地址及TCP端口

-r:指定RIP地址及TCP端口

-m:表示使用NAT群集模式


ipvsadm -C #清空

ipvsadm -R #重载
ipvsadm -A -t 12.0.0.1:80 -s rr   #添加虚拟服务器,代理服务器

#添加真实服务器

ipvsadm -a -t 12.0.0.1:80 -r 192.168.114.20:80 -m

ipvsadm -a -t 12.0.0.1:80 -r 192.168.114.30:80 -m

通过yum安装:
yum install ipvsadm -y
 

NAT模式,LVS负载均衡部署

需要四台机子

7-1作为LVS是调度服务器,7-2作为真实服务器1,7-3作为真实服务器2,7-4作为客户端。

一次访问可能是192.168.114.20,那么下一次可能是192.168.114.30

systemctl stop firewalld

setenforce 0

在7-2和7-3真实服务器上配置httpd,准备主页文件。和指定网关

[root@Node3 ~]#:yum install -y httpd

[root@Node3 ~]#:systemctl start httpd
[root@Node3 ~]#:echo "7-3" > /var/www/html/index.html

7-2同理:

[root@Node2 ~]#:yum install -y httpd

[root@Node2 ~]#:systemctl start httpd
[root@Node2 ~]#:echo "7-2" > /var/www/html/index.html

这里,网页主页就配置好了,还需要修改两台的网关,设置为调度服务器的ens33网卡的地址

[root@Node3 ~]#:vim /etc/sysconfig/network-scripts/ifcfg-ens33

IPADDR=192.168.114.30
NETMASK=255.255.255.0
GATEWAY=192.168.114.10

[root@Node3 ~]#:systemctl restart network

7-2同理:

[root@Node2 ~]#:vim /etc/sysconfig/network-scripts/ifcfg-ens33

IPADDR=192.168.114.20
NETMASK=255.255.255.0
GATEWAY=192.168.114.10

[root@Node2 ~]#:systemctl restart network

总结:httpd服务,主页面配置。网络配置,指定网关。

7-1上LVS调度服务器

添加一块网卡,设为仅主机模式

修改ens36网卡:(刚添加的网卡,我这里叫ens36)

[root@Node1 ~]#:cd /etc/sysconfig/network-scripts/

[root@Node1 network-scripts]#:cp ifcfg-ens33 ifcfg-ens36 -a

[root@Node1 network-scripts]#:vim ifcfg-ens36

#把UUID删了,修改网卡名称为ens36
IPADDR=12.0.0.1
NETMASK=255.255.255.0
GATEWAY=12.0.0.1

[root@Node1 network-scripts]#:systemctl restart network

#开启路由转发:

[root@Node1 network-scripts]#:vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p[root@Node1 network-scripts]#:sysctl -p
net.ipv4.ip_forward = 1


#添加真实服务器和虚拟服务器(节点服务器)

[root@Node1 ~]#:yum install -y ipvsadm

[root@Node1 ~]#:systemctl start ipvsadm
Job for ipvsadm.service failed because the control process exited with error code. See "systemctl status ipvsadm.service" and "journalctl -xe" for details.

#需要这个文件目录
[root@Node1 ~]#:ipvsadm-save > /etc/sysconfig/ipvsadm 
[root@Node1 ~]#:systemctl start ipvsadm

#添加虚拟服务器:

[root@Node1 ~]#:ipvsadm -A -t 12.0.0.1:80 -s rr

#添加两个真实服务器:

[root@Node1 ~]#:ipvsadm -a -t 12.0.0.1:80 -r 192.168.114.20:80 -m
[root@Node1 ~]#:ipvsadm -a -t 12.0.0.1:80 -r 192.168.114.30:80 -m

7-4作为客户端

改成主机模式:点确定

[root@Node4 ~]#:vim /etc/sysconfig/network-scripts/ifcfg-ens33

IPADDR=12.0.0.100
NETMASK=255.255.255.0
GATEWAY=12.0.0.1

#重启网络

[root@Node4 ~]#:systemctl restart network

测试:

实现NAT模式LVS负载均衡

------end------

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python pyautogui实现图片识别点击失败后重试

安装库 pip install Pillow pip install opencv-python confidence作用 confidence 参数是用于指定图像匹配的信度(或置信度)的,它表示图像匹配的准确程度。这个参数的值在 0 到 1 之间,数值越高表示匹配的要求越严格。 具体来…

L55--- 257.二叉树的所有路径(深搜)---Java版

1.题目描述 2.思路 (1)因为是求二叉树的所有路径 (2)然后是带固定格式的 所以我们要把每个节点的整数数值换成字符串数值 (3)首先先考虑根节点,也就是要满足节点不为空 返回递归的形式dfs(根节…

Qt坐标系统

目录 概述 渲染 逻辑表示 锯齿绘制 坐标转换 模拟时钟示例 Window-Viewport转换 概述 坐标系统由QPainter类控制。与QPaintDevice和QPaintEngine类一起,QPainter构成了Qt绘画系统的基础。QPainter用于执行绘制操作,QPaintDevice是一个二维空间的抽…

提升教学效率的全方位解决方案

在现代教育环境中,教学管理的复杂性与日俱增。如何高效管理教学活动、优化教师资源、提升教学质量,是每个教育机构面临的重要挑战。搭贝教务教学管理系统提供了一套全面的解决方案,涵盖了巡检、调课代课、生源登记、监考、外派、作业发布、听…

LabVIEW回热系统热经济性分析及故障诊断

开发了一种利用LabVIEW软件的电厂回热系统热经济性分析和故障诊断系统。该系统针对火电厂回热加热器进行优化,通过实时数据监控与分析,有效提高机组的经济性和安全性,同时降低能耗和维护成本。系统的实施大幅提升了火电厂运行的效率和可靠性&…

2024会展行业发展趋势预测

在当今这个数字化浪潮汹涌的时代,会展行业也迎来了自己的变革时刻。 根据《2023中国会展主办机构数字化调研报告》,我们可以清晰地看到几个显著的趋势: 首先,数字化转型已经不再是一道选择题,而是必答题。 超过90%的…

LabVIEW Windows与RT系统的比较与选择

LabVIEW是一种系统设计和开发环境,广泛应用于各类工程和科学应用中。LabVIEW Windows和LabVIEW RT(Real-Time)是LabVIEW的两个主要版本,分别适用于不同的应用场景。以下从多个角度详细分析两者的区别,并提供选择建议。…

【大模型驯化-Prompt】企业级大模型Prompt调试技巧与batch批量调用方法

【大模型驯化-Prompt】企业级大模型Prompt调试技巧 本次修炼方法请往下查看 🌈 欢迎莅临我的博客个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内容文档关注&#x…

网上预约就医取号系统

摘 要 近年来,随着信息技术的发展和普及,我国医疗信息产业快速发展,各大医院陆续推出自己的信息系统来实现医疗服务的现代化转型。不可否认,对一些大型三级医院来说,其信息服务质量还是广泛被大众所认可的。这就更需要…

@ModelAttribute

基础知识 1.ModelAttribute注解源码,从中可以知道,该注解可以标注在参数上和方法上 2.应用场景:先大致有个概念,可以用来存储项目根路径 3.介绍:ModelAttribute 是 Spring 框架中的一个注解,用于在 Spring …

Linux Centos 环境下搭建RocketMq集群(双主双从)

1、下载rocketmq的包 下载 | RocketMQ 2、配置环境变量 1、编辑环境变量文件:vim /etc/profile2、加入如下配置: #rocketmq 4.9.8 ROCKETMQ_HOME/home/rocketmq/rocketmq-4.9.8 export PATH${ROCKETMQ_HOME}/bin:${PATH}3、刷新配置:source…

修复kazam意外中断的视频文件

0. Problem 在用kazam录视频的过程中,PC意外重启了,然后kazam没有把文件自动转换成MP4,而是存为以下两个文件: kazam_xxxxx.movie kazam-xxxxx.movie.mux这两个文件一个0k,另一个是有size的,但是没办法直…

计算机组成原理 | 计算机系统概述

CPI:(Clockcycle Per Instruction),指每条指令的时钟周期数。 时钟周期:对CPU来说,在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟周期 是一个时钟脉冲所…

Elk安装及使用

es安装及使用 单机版安装 集群安装 132 node-01 133 node-02 135 node-03 日志用户权限有问题 看日志 解决方案: 出现错误后,再次重启前,需要删除三个节点/data/下的内容 9300-http 9300-tcp logstasha安装及使用 Ssh错误 Yum安装默认路…

小巧悦耳的百元耳机,也有纯净的音乐享受,西圣AVA2体验

无论是居家休闲还是出门在外,音乐成为了许多人生活中不可或缺的一部分。特别是在拥有一款既经济又好听的蓝牙耳机之后,我们就可以在通勤路上和办公室里,隔绝外界干扰,找回属于自己的天地,提升生活品质。目前我用的是一…

【shell脚本速成】函数

文章目录 一、函数1.1、函数介绍1.2、函数定义1.3、函数调用 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊 🌸愿您在此停留的每一刻&#xf…

LeetCode 19.删除链表的倒数第N个结点

链接 https://leetcode.cn/problems/remove-nth-node-from-end-of-list/description/ 题目: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5…

JMeter的基本使用与性能测试,完整入门篇保姆式教程

Jmeter 的简介 JMeter是一个纯Java编写的开源软件,主要用于进行性能测试和功能测试。它支持测试的应用/服务/协议包括Web (HTTP, HTTPS)、SOAP/REST Webservices、FTP、Database via JDBC等。我们最常使用的是HTTP和HTTPS协议。 Jmeter主要组件 线程组&#xff08…

基于springboot实现影院订票系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现影院订票系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本影院订票系统就是在这样的大环境下诞生,其可以帮助管理者在…

python20 函数的定及调用

函数的定及调用 函数是将一段实现功能的完整代码,使用函数名称进行封装,通过函数名称进行调用。以此达到一次编写,多次调用的目的 用 def 关键字来声明 函数 格式: def 函数名(参数列表):函数体[:return 返回值是可选的&#xff0…