当前位置: 首页 > news >正文

lvs集群与nat模式

一,什么是集群:

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

二,集群适用场景:高并发

三,集群的分类:

        1,负载均衡集群

                减少响应延迟,提高并发处理能力

        2,高可用集群(HA)

                提高系统的稳定性,减少服务器中断的时间,减少损失

        3,高性能运算集群

                分布式计算

四,负载均衡的集群架构

        数据流向:用户----vip---访问

        第一层:负载调度器通过调度算法,以及rip的发送

        第二层:服务器池所有服务器用的资源通过

        第三层:共享存储提供网站,存储资源

五,负载均衡器的工作模式:

        1,地址转换(NAT模式)

                调度器做网关的同时还承担请求入口与访问出口,在高并发场景下负载压力很高,但是安全性很高。缺点:一台设备承担入口,出口,负载调度,高并发模型可能性能不足。

        2,ip隧道(TUN模式)

                仅作为访问的入口,响应不经过调度器,但是需要大量的公网ip,还需要专用的ip隧道(成本太高)数据转发受ip隧道的额外的影响。缺点:对公网ip数量要求比较高,对ip隧道数量有要求。

        3,直接路由(DR模式)

                仅作为请求的入口,响应数据不经过调度器,节点服务器和调度器在一个物理网络中,转发数据不受额外影响。

六,lvs的负载均衡算法

        1,轮询

        2,加权轮询

        3,最少链接数

        4,加权最少链接数

七,lvs组成

  1. 基于内核态的netfilter框架来实现的ipvs功能,工作在内核态。用户配置vip等相关信息并且传递到ipvs就需要用到ipvs当中的adm工具。
  2. Ipvs adm是lvs用户态的一个配套工具,可以实现vip和rs增删改查。Ipvsadm就是类似于iptables工具的地位。

八,lvs的作用:

  1. 主要用于多服务器的负载均衡
  2. 工作在网络层,可实现高性能,高可用的服务集群技术
  3. 廉价,可把我们的许多低性能的服务器组合在一起形成一个超级设备
  4. 易用,配置简单,有多重负载均衡的方式
  5. 稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不会影响整体效果
  6. 可扩展性好

九,lvs支持与工具

        1,查看系统是否支持lvs:

                modprobe ip_vs

        2,lvs管理工具: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

十,具体配置:

本次实验需要在vmware中添加一块新网卡,并且给负载均衡器设置新的网卡。

NFS服务器:

安装nfs及其相关程序
yum install -y nfs-utils rpcbind开启并设置自启动
systemctl start nfs.service 
systemctl start rpcbind.service
systemctl enable nfs.service 
systemctl enable rpcbind.service创建共享目录两个,对应两个web服务器,然后更改权限
mkdir /opt/kgc /opt/benet
chmod 777 /opt/kgc /opt/benet进项共享目录的设置
/usr/share *(ro,sync)
/opt/kgc 192.168.10.0/24(rw,sync)
/opt/benet 192.168.10.0/24(rw,sync)发布共享
exportfs -rv
showmount -e

web服务器1(192.168.10.16)

安装httpd,开启并设置自启动
yum install -y httpd
systemctl start httpd.service 
systemctl enable httpd.service安装nfs以及相关组件,开启并设置自启动
yum install -y nfs-utils rpcbind
systemctl start rpcbind.service
systemctl enable rpcbind.service检测来自192.168.10.18的挂载目录
showmount -e 192.168.10.18挂载目录后写入网页内容
mount.nfs 192.168.10.18:/opt/kgc /var/www/html/
echo 'this is kgc' > /var/www/html/index.html设置永久挂载
vim /etc/fstab 
192.168.10.18:/opt/kgc /var/www/html nfs defaults,_netdev 0 0
mount -a修改网卡网关为lvs服务器
vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.10.19

web服务器2(192.168.10.17)

安装httpd,开启并设置自启动
yum install -y httpd
systemctl start httpd.service 
systemctl enable httpd.service安装nfs以及相关组件,开启并设置自启动
yum install -y nfs-utils rpcbind
systemctl start rpcbind.service
systemctl enable rpcbind.service检测来自192.168.10.18的挂载目录
showmount -e 192.168.10.18挂载目录后写入网页内容
mount.nfs 192.168.10.18:/opt/benet /var/www/html/
echo 'this is benet' > /var/www/html/index.html设置永久挂载
vim /etc/fstab 
192.168.10.18:/opt/benet /var/www/html nfs defaults,_netdev 0 0
mount -a修改网卡网关为lvs服务器
vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.10.19

负载调度器

添加网卡后,使用ifconfig扫描新加入的网卡,然后复制原有的网卡信息到新的网卡文件中,不使用DNS与网关,ip地址用新加入的vmnet3,vmnet3在本次实验中用的网段为10.0.0.0配置snat转发规则
vim /etc/sysctl.conf
net.ipv4.ip_forward=1查看配置是否生效
sysctl -p清空iptables策略并且写入新的策略
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens37 -j SNAT --to-source 10.0.0.1加载lvs内核模块并查看版本
modprobe ip_vs
cat /proc/net/ip_vs安装管理工具
yum install -y ipvsadm启动服务(启动之前需要先保存策略)
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service配置负载均衡策略
ipvsadm -C
ipvsadm -A -t 10.0.0.1:80 -s rr
ipvsadm -a -t 10.0.0.1:80 -r 192.168.10.16:80 -m -w 1
ipvsadm -a -t 10.0.0.1:80 -r 192.168.10.17:80 -m -w 1启动策略并查看节点状态,查看后保存
ipvsadm
ipvsadm -ln
ipvsadm-save > /etc/sysconfig/ipvsadm

配置结束后使用win10访问负载均衡服务器即可。

相关文章:

lvs集群与nat模式

一,什么是集群: 集群,群集,Cluster,由多台主机构成,但是对外只表现为一个整体,只提供一个访问入口(域名与ip地址),相当于一台大型计算机。 二,集…...

【开源分享】在线客服系统搭建-基于php和swoole客服系统CRMchat(附源码完整搭建教程)...

CRMChat是一款开源的在线客服系统,后台管理使用thinkphp框架,消息通讯使用swoole扩展,现在我来部署搭建一下。 这是一款不可商用的开源客服系统,如果有商用需求可以访问我的网站:gofly.v1kf.com 域名解析 以阿里云为例…...

Webpact学习笔记记录

Webpact学习笔记记录 一.初始化项目1.生成package.json2.安装webpack3.执行webpack体验 二、webpack的配置文件三、less-loader解析less1.安装loader2.配置 四、eslint-loader语法检查1.安装loader2.配置loader3.在package.json中加入 五、js语法转换1.安装loader2.配置loader …...

Python代码实现解析MULTIPOLYGON几何对象类型数据为嵌套列表

MULTIPOLYGON MULTIPOLYGON是一种地理信息系统(GIS)中的几何对象类型,用于表示由多个多边形组成的复杂地理区域。它是一种多边形的集合,每个多边形可以是简单的凸多边形或复杂的凹多边形。 MULTIPOLYGON类型的几何对象通常用于描…...

SSH连接工具汇总

xshell 这是个熟悉的软件啦,目前我正在使用Xshell_7 链接:https://www.xshell.com/zh/xshell/ FinalShell 国产软件,有windows和MAC版本;使用方便而且免费,但是软件比较占用内存。但是都2021年了,笔记本…...

Java的AQS框架是如何支撑起整个并发库的

如何设计一个抽象队列同步器 引言AQS需要解决哪些场景下的问题互斥模式获取锁抢锁失败入队 释放锁小总结 共享模式获取共享资源释放共享资源唤醒丢失问题 小总结 混合模式获取写锁释放写锁获取读锁读锁是否应该阻塞 释放读锁小总结 栅栏模式等待递减计数 条件变量模式等待条件成…...

一.net core 自动化发布到docker (Jenkins安装)

目录 1.安装Jenkins 参考资料:https://www.jenkins.io/doc/book/installing/docker/#downloading-and-running-jenkins-in-docker 1.Open up a terminal window.(打开一个终端窗口。) 2.Create a bridge network in Docker using the following docker network create comma…...

二刷LeetCode--148. 排序链表(C++版本),必会题,思维题

思路,本题其实考察了两个点:合并链表、链表切分。首先从1开始,将链表切成一段一段,因为需要使用归并,所以下一次的切分长度应该是当前切分长度的二倍,每次切分,我们拿出两段,然后将第…...

css flex 上下结构布局

display: flex; flex-flow: column; justify-content: space-between;...

win下qwidget全屏弹窗后其他窗口鼠标样式无法更新的问题

在win平台下,实现截取选桌面执行推理功能,用一个qwidget(j对象名为m_selectWidget)来显示选取范围的边框,但这个qwidget显示后,其他窗口在他下面可以接受鼠标相应的事件,但原来的鼠标形状功能失效(mac正常&…...

Java【数据结构】二分查找

&#x1f31e; 题目&#xff1a; &#x1f30f;在有序数组A中&#xff0c;查找目标值target &#x1f30f;如果找到返回索引 &#x1f30f;如果找不到返回-1 算法描述解释前提给定一个内含n个元素的有序数组A&#xff0c;满足A0<A1<A2<<An-1,一个待查值target1设…...

数据库技术--数据库引擎,数据访问接口及其关系详解(附加形象的比喻)

目录 背景数据库引擎Jet数据库&#xff1a;ISAM&#xff1a;ODBC&#xff08;Open Database Connectivity&#xff09;&#xff1a; 数据访问接口ADO&#xff08;ActiveX Data Objects&#xff09;DAO&#xff08;Data Access Objects&#xff09;RDO&#xff08;Remote Data O…...

【BASH】回顾与知识点梳理(三十三)

【BASH】回顾与知识点梳理 三十三 三十三. 认识系统服务 (daemons)33.1 什么是 daemon 与服务 (service)早期 System V 的 init 管理行为中 daemon 的主要分类 (Optional)systemd 使用的 unit 分类systemd 的配置文件放置目录systemd 的 unit 类型分类说明 33.2 透过 systemctl…...

同步请求和异步请求

同步请求和异步请求是在网络编程中常用的两种通信模式&#xff0c;它们有以下区别&#xff1a; 同步请求&#xff1a; 在发送一个请求后&#xff0c;程序会一直等待服务器返回响应&#xff0c;期间无法进行其他操作。请求发出后&#xff0c;程序会阻塞在请求处&#xff0c;直…...

Transformer是什么,Transformer应用

目录 Transformer应用 Transformer是什么 Transformer应用:循环神经网络 语言翻译:注重语句前后顺序 RNN看中单个特征; CNN:看中特征之间时序性 模型关注不同位置的能力 Transformer是什么 Transformer是一个利用注意力机制来提高模型训练速度的模型。关于注意力机…...

故障011:dmap服务缺失libnsl.so修复

故障011&#xff1a;dmap服务缺失libnsl.so修复 1. 问题描述2. 解决方法2.1 初步分析2.2 动手实操2.2.1 模糊搜索大法2.2.2 僵桃代李大法 DM技术交流QQ群&#xff1a;940124259 1. 问题描述 今天遇二期XC环境&#xff0c;达梦DM 7.6的DmAPService备份辅助进程服务无法启动&a…...

第十三章 SpringBoot项目(总)

1.创建SpringBoot项目 1.1.设置编码 1.4.导入已有的spring boot项目 2.快速搭建Restfull风格的项目 2.1.返回字符串 RestController public class IndexController {RequestMapping("/demo1")public Object demo1() {System.out.println("demo1 ran...."…...

利用Python隧道爬虫ip轻松构建全局爬虫网络

嘿&#xff0c;爬虫程序员们&#xff01;你们有没有碰到过需要大规模数据爬取的情况&#xff1f;也许你们之前遇到过网站的反爬措施&#xff0c;卡住你们的进度。别担心&#xff0c;今天我来分享一个利用Python隧道爬虫ip实现的方法&#xff0c;帮助你们轻松搭建全局爬虫ip网络…...

Spring Clould 网关 - Gateway

视频地址&#xff1a;微服务&#xff08;SpringCloudRabbitMQDockerRedis搜索分布式&#xff09; Gateway网关-网关作用介绍&#xff08;P35&#xff09; Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2…...

PHP使用phpmailer及SMTP服务实现邮件发送

博客升级中&#xff0c;把之前没有想到的功能一点点的完善。 这篇日志记录一下&#xff0c;使用phpmailer实现邮件发送的这样一个操作。 博客偶尔会有留言和评论&#xff0c;我也会及时回复&#xff0c;但是有一个问题&#xff0c;我回复了&#xff0c;给我留言的人如果不再次…...

越擎科技发布机器人离线编程软件应用白皮书,阐述机器人装配工艺规划、离线编程与虚拟调试方案的原理及优势

摘要&#xff1a;越擎科技针对机器人复杂产品装配的应用场景&#xff0c;打造全国产的机器人离线编程软件iRobotCAM&#xff0c;可以快速的提取装配约束关系并进行装配工艺规划&#xff0c;并编写机器人程序及快速仿真&#xff0c;提升装配过程的精度及编程效率。 根据艾瑞咨询…...

Ollama部署LFM2.5-1.2B-Thinking:1.2B模型如何实现媲美7B的推理质量?

Ollama部署LFM2.5-1.2B-Thinking&#xff1a;1.2B模型如何实现媲美7B的推理质量&#xff1f; 最近在玩各种本地大模型的朋友&#xff0c;可能都听过一个说法&#xff1a;模型参数越大&#xff0c;效果越好。这听起来很合理&#xff0c;毕竟7B、13B甚至70B的模型&#xff0c;能…...

从‘巡逻’到‘狂暴’:手把手用Unity行为树节点拼出一个有灵魂的BOSS战AI

从‘巡逻’到‘狂暴’&#xff1a;手把手用Unity行为树节点拼出一个有灵魂的BOSS战AI 想象一下&#xff0c;你正在玩一款动作游戏&#xff0c;面对一个看似普通的BOSS。起初它只是机械地挥舞武器&#xff0c;但随着战斗深入&#xff0c;它开始召唤小弟、释放范围技能&#xff0…...

别再手动改Hosts了!用K8S Gateway API轻松搞定基于请求头的AB测试(OpenResty实战)

告别手动配置&#xff1a;基于K8S Gateway API的智能AB测试实战指南 每次功能迭代时&#xff0c;你是否还在反复修改本地Hosts文件来切换测试环境&#xff1f;或是为了验证某个接口在不同版本间的表现差异&#xff0c;不得不频繁重启服务或调整代理配置&#xff1f;这种低效的手…...

NSSCTF做题记录九 | [HUBUCTF 2022 新生赛]checkin

[HUBUCTF 2022 新生赛]checkin <?php show_source(__FILE__); //高亮显示当前代码 $username "this_is_secret"; //给$username赋值 $password "this_is_not_known_to_you"; //给$password赋值 include("flag.php");//here I chan…...

洛雪音乐音源项目:免费高品质音乐资源获取的终极方案

洛雪音乐音源项目&#xff1a;免费高品质音乐资源获取的终极方案 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 1 价值定位&#xff1a;重新定义音乐资源获取体验 洛雪音乐音源项目作为一款开源…...

Phi-4-reasoning-vision-15B多场景落地:OCR/图表分析/GUI理解三类任务统一部署

Phi-4-reasoning-vision-15B多场景落地&#xff1a;OCR/图表分析/GUI理解三类任务统一部署 1. 模型介绍 Phi-4-reasoning-vision-15B是微软推出的视觉多模态推理模型&#xff0c;能够处理多种视觉理解任务。这个模型特别擅长从图像中提取和理解信息&#xff0c;无论是文档文字…...

Windows自定义部署神器:从零开始的安装介质制作指南

Windows自定义部署神器&#xff1a;从零开始的安装介质制作指南 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat 你是否…...

3步解锁Windows运行安卓应用:APK-Installer轻量解决方案

3步解锁Windows运行安卓应用&#xff1a;APK-Installer轻量解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在数字化办公与娱乐融合的今天&#xff0c;安卓应用…...

手把手教你用Claude Desktop的MCP协议,5分钟搞定本地SQLite数据库查询

5分钟实现自然语言查询SQLite&#xff1a;Claude Desktop MCP协议实战指南 想象一下这样的场景&#xff1a;你手头有一个存储着上万条商品信息的SQLite数据库&#xff0c;现在需要快速统计某个品类的库存数量。传统方式可能需要打开数据库工具、编写SQL查询语句&#xff0c;或者…...