Linux:LVS (NAT群集搭建)

模拟环境

 外网入口服务器  外网 192.168.8.88  内网ip 192.168.254.4

web1 服务器   ip  192.168.254.1    网关: 192.168.254.4

web2 服务器   ip  192.168.254.2    网关: 192.168.254.4

共享存储服务器    ip   192.168.254.3 


介绍

访问 外网192.168.8.88地址  让入口服务器均匀的分配到web 1  web 2 两台服务器上达到负载均衡,两台的web服务器将网页文件放在储存数据共享服务器 上共享到两个web服务器上,只要在一个上面修改网页,全部就会有变动


配置LVS-NAT环境

先将两台web服务器安装httpd服务:

yum -y install httpd
systemctl start httpd
systemctl enable httpd

上面三条命令在两台web服务器上做开启http服务,里面的页面先不用改,等会做数据共享服务器再去改

回到外网入口服务器 

modprobe ip_vs

 加载模块

cat /proc/net/ip_vs

这样就行

vim /etc/sysctl.conf在最下面插入
net.ipv4.ip_forward = 1

 

这个是开启路由转发功能 

sysctl -p

开始创建虚拟服务器

yum -y install ipvsadm

 ipvsadm -A -t 外网口服务器ip:端口  -s rr

ipvsadm -A -t 192.168.8.88:80  -s rr

 -A 添加虚拟服务器
-t vip地址及tcp端口
-s 负载调度算法(轮询rr 、加权轮询wrr 、最少连接lc 、加权最少连接 wlc)

ipvsadm -a -t 外网口服务器ip:端口 -r webf服务器ip:80 -g -w 1

ipvsadm -a -t 192.168.8.88:80  -r 192.168.254.2:80 -m -w 1
ipvsadm -a -t 192.168.8.88:80  -r 192.168.254.1:80 -m -w 1

-a 添加真实服务器
-t vip地址及tcp端口
-r rip地址及端口
-m 使用nat群集模式(-g DR 模式、 -i TUN模式)
-w 设置权重(0时暂停节点)越高分配的流量越多

ipvsadm -ln

 查看一下

  Masq----地址伪装NAT模式
  Route---DR模式 

如何删除节点:ipvsadm -d -r 192.168.254.1:80 -t 192.168.8.88:80

如何删除整个虚拟服务器:ipvsadm -D -t 192.168.8.88:80
 

ipvsadm-save > /etc/sysconfig/ipvsadm

保存配置  切记  不是ipvsadm.conf

systemctl enable  ipvsadm
systemctl start ipvsadm

 可能一开服务器就会成这样

 

我们只能改会原来的 

 也可以把上面的127.0.0.1删掉

先就可以去访问外网接口ip了,访问的外网接口,现在接口就会去找里边的两个web服务器浏览均匀分配 

 现在访问的界面就是两个web服务器中的一个这个由我们的外网接口服务器进行均匀分配


NFS共享存储服务器配置

 在共享存储服务器

yum -y install nfs-utils rpcbind
systemctl enable nfs
systemctl enable rpcbind
mkdir /web

等会把/web作为两个web服务器的共享文件夹

vim /etc/exports 写入
/web 192.168.254.1(rw,sync,no_root_squash)
/web 192.168.254.2(rw,sync,no_root_squash)

rw  读写 
sync  同步写入
no_root_squash 客户机以root身份访问时赋予本地root权限

systemctl start rpcbind
systemctl start nfs
netstat -anput |grep rpcbind
showmount -e 

然后在/web下写入一个文件,文件名称为:index.html   内容随便写

 

在web1服务器

yum -y install rpcbind nfs-utils
systemctl enable rpcbind
systemctl start  rpcbind
showmount -e 192.168.254.3

mount 192.168.254.3:/web /var/www/html/

 

将挂载写入/etc/fstab     

vim /etc/fstab写入192.168.254.3:/web /var/www/html nfs defaults,_netdev 0 0

在web2服务器

yum -y install rpcbind nfs-utils
systemctl enable rpcbind
systemctl start  rpcbind
showmount -e 192.168.254.3

mount 192.168.254.3:/web /var/www/html/
vim /etc/fstab写入192.168.254.3:/web /var/www/html nfs defaults,_netdev 0 0

查看效果

直接同步过来了

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

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

相关文章

Spring Boot + Vue + Element UI的网上商城后台管理之订单管理系统

Spring Boot Vue Element UI的网上商城后台管理之订单管理系统 思维导图 以下是订单管理系统的思维导图,展示了系统的主要功能和模块之间的关系。 根节点 订单列表 查看订单列表搜索订单排序订单导出订单列表 订单详情 查看订单详情修改订单信息 修改商品信息修…

Python编程指南:利用HTTP和HTTPS适配器实现智能路由

嗨,爬虫大佬们!今天我要为大家分享一篇关于如何利用HTTP和HTTPS适配器来实现智能路由的Python编程指南。在现代互联网应用中,路由功能起着至关重要的作用,而利用Python编程语言实现智能路由则可以为我们的应用带来更高的灵活性和性…

Window 平台开发基础(一)SDK

基本概念 什么是 SDK SDK 是软件开发工具包(Software Development Kit)的缩写。它是一个集成了软件开发所需工具、库文件、示例代码和文档等资源的软件包。 SDK 通常由软件开发公司或平台提供,旨在帮助开发人员构建、测试和部署特定类型的…

IAM、EIAM、CIAM、RAM、IDaaS 都是什么?

后端程序员在做 ToB 产品或者后台系统时,都不可避免的会遇到账号系统、登录系统、权限系统、日志系统等这些核心功能。这些功能一般都是以 SSO 系统、RBAC 权限管理系统等方式命名,但这些系统合起来有一个专有名词:IAM。 IAM IAM 是 Identi…

一线大厂Redis高并发缓存架构实战与性能优化

多级缓存架构 缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失…

基于springboot 的 Ajax-fetchget post Axios-get post

Fetch Fetch API 提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的一些具体部分,例如请求和响应。它还提供了一个全局 fetch() 方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。 这种功能以前是使用 XMLHttpRe…

9.14 C++作业

仿照vector手动实现自己的myVector&#xff0c;最主要实现二倍扩容功能 #include <iostream>using namespace std;template <typename T> class Myvector {T *data; //存储数据的数组int len; //当前数组的长度int mycapa; //容纳数据的总容量public://…

docker镜像管理-实操

一.docker镜像管理 1.拉取镜像 docker image pull <repository>:<tag> 镜像名称和标签使用 : 进行分隔&#xff0c;如果省略了标签&#xff0c;则默认为 latest docker image pull nginx:latest 或者docker pull nginx:latest 拉取下来的镜像默认保存在&#xff1…

Android kotlin系列讲解(进阶篇)解析XML格式数据

点击查看>返回总目录< | 上一篇:Android kotlin系列讲解(入门篇)使用HTTP访问网络 文章目录 1、Pull解析方式2、SAX解析方式 通常情况下,每个需要访问网络的应用程序都会有一个自己的服务器,我们可以向服务器提交数据,也可以从服务器上获取数据。不过这个时…

GO语言篇之文件操作

GO语言篇之文件操作 文章目录 GO语言篇之文件操作前言使用总结 前言 Go语言提供了丰富的操作文件的函数&#xff0c;这为我们开发者减少了不少负担 使用 // 打开文件 file, err : os.Open("filepath") if err ! nil {panic(err) }// 关闭文件&#xff0c;每次该文…

Ubuntu下Nginx配置ModSecurity详细思路及过程

下面是一个简介&#xff1a; Ubuntu是一个linux操作系统&#xff0c;Nginx是一个web服务器软件&#xff0c;ModSecurity是一款开源的web应用防火墙&#xff08;江湖人称“WAF”&#xff09;。 如果上面的概念没有一定的了解&#xff0c;下面的内容其实也能看。就是不好操作。…

浅谈C++|模板篇

一.模板模板概念 模板就是建立通用的模具&#xff0c;大大提高复用性 模板的特点&#xff1a; 1.模板不可以直接使用&#xff0c;它只是一个框架 2.模板的通用并不是万能的 C另一种编程思想称为泛型编程&#xff0c;主要利用的技术就是模板。 C提供两种模板机制:函数模板和类模…

宋浩概率论笔记(八)假设检验

宋浩系列全系列的最后一更&#xff01; 本章考察频率很低&#xff0c;核心在于记忆检验不同参数时用到的分布~

【项目实战】【已开源】USB2.0 HUB 集线器的制作教程(详细步骤以及电路图解释)

写在前面 本文是一篇关于 USB2.0 HUB 集线器的制作教程&#xff0c;包括详细的步骤以及电路图解释。 本文记录了笔者制作 USB2.0 HUB 集线器的心路历程&#xff0c;希望对你有帮助。 本文以笔记形式呈现&#xff0c;通过搜集互联网多方资料写成&#xff0c;非盈利性质&#xf…

许战海战略文库|品类缩量时代:制造型企业如何跨品类打造份额产品?

所有商业战略的本质是围绕着竞争优势与竞争效率展开的。早期&#xff0c;所有品牌立足于从局部竞争优势出发。因此,品牌创建初期大多立足于单个品类。后期增长受限,就要跨品类持续扩大竞争优势&#xff0c;将局部竞争优势转化为长期竞争优势&#xff0c;如果固化不前很难获得增…

Spark【Spark SQL(四)UDF函数和UDAF函数】

UDF 函数 UDF 是我们用户可以自定义的函数&#xff0c;我们通过SparkSession对象来调用 udf 的 register&#xff08;name&#xff1a;String&#xff0c;func&#xff08;A1,A2,A3...&#xff09;&#xff09; 方法来注册一个我们自定义的函数。其中&#xff0c;name 是我们自…

腾讯mini项目-【指标监控服务重构】2023-07-19

今日已办 OpenTelemetry Logs 通过日志记录 API 支持日志收集 集成现有的日志记录库和日志收集工具 Overview 日志记录 API - Logging API&#xff0c;允许您检测应用程序并生成结构化日志旨在与其他 telemerty data&#xff08;例如metric和trace&#xff09;配合使用&am…

Java代码审计16之fastjson反序列化漏洞(1)

文章目录 1、简介fastjson2、fastjson的使用2.1、将类序列化为字符串2.2、将字符串还原为对象2.3、小结以上2.4、稍微扩展思路 3、fastjson漏洞利⽤原理与dnslog4、JdbcRowSetImpl利用链4.1、JdbcRowSetImpl的基本知识4.2、利用代码复现4.3、生成poc4.4、模拟真实场景4.5、利用…

MongoDB差异数据对比的快速指南

MongoDB是一种非关系型数据库&#xff0c;它以灵活的 JSON-like 文档的形式存储数据&#xff0c;这种特性使其在处理大量数据和实现快速开发时更具有优势。而由于其灵活的数据模型和强大的性能&#xff0c;MongoDB 被广泛应用在各种业务场景中。随着业务的发展和数据的增长&…

kafka 3.5 生产者在把数据推送到服务端,再到落盘的过程中,怎么保证不丢失数据源码

一、生产者客户端配置参数acks说明1、acks12、acks03、acks-1 二、请求在写入Leader的数据管道之前&#xff0c;则会验证Leader的ISR副本数量和配置中的最小ISR数量1、Leader的ISR小于配置文件中minInSyncReplicas&#xff0c;并且acks-1&#xff0c;则抛异常2、如果acks不等于…