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

目录

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

1.关闭所有虚拟机的防火墙和核心防护

2.部署共享存储nfs(ip:192.168.110.20)

3.配置nginx节点服务器(192.168.110.70,192.168.110.80)

4.配置tomcat节点服务器(192.168.110.50,192.168.110.60)

4.配置负载调度器(内网关 ens33:192.168.110.10,外网关 ens36:12.12.100.10)

5.测试效果


负载调度器:内网关 ens33:192.168.80.10,外网关 ens36:12.0.0.1
nginx节点服务器1:192.168.110.70
nginx节点服务器2:192.168.110.80
(网关设置为内网关IP)
tomcat节点服务器1:192.168.110.50
tomcat节点服务器1:192.168.110.60
NFS服务器:192.168.110.20

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

1.关闭所有虚拟机的防火墙和核心防护

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

2.部署共享存储nfs(ip:192.168.110.20)

安装开启nfs服务

yum install nfs-utils rpcbind -y
yum install nfs-utils rpcbind -y
systemctl start rpcbind.service
systemctl start nfs.service
systemctl enable nfs.service
systemctl enable rpcbind.service

创建共享文件夹,在其中创建测试页面

mkdir /opt/sunny1 /opt/sunny2
chmod 777 /opt/sunny1 /opt/sunny2
echo '静态页面1' > /opt/sunny1/index.html
echo '静态页面2' > /opt/sunny2/index.html

设置共享文件夹的配置

vim /etc/exports
/usr/share *(ro,sync)
/opt/sunny1 192.168.110.0/24(rw,sync)
/opt/sunny2 192.168.110.0/24(rw,sync)

发布共享

exportfs -rv

查看共享文件夹

showmount -e

3.配置nginx节点服务器(192.168.110.70,192.168.110.80)

安装nginx服务,配置七层反向代理

参考nginx反向代理-CSDN博客

网关设置为内网卡ip

安装开启nfs服务(两台服务器)

yum install nfs-utils rpcbind -y
yum install nfs-utils rpcbind -y
systemctl start rpcbind.service
systemctl start nfs.service
systemctl enable nfs.service
systemctl enable rpcbind.service

查看共享文件夹

showmount -e 192.168.110.20

挂载共享文件夹

临时挂载

192.168.110.70

mount 192.168.110.20:/opt/sunny1 /usr/local/nginx/html/

192.168.110.80

mount 192.168.110.20:/opt/sunny2 /usr/local/nginx/html/

永久挂载

192.168.110.70

vim /etc/fstab

192.168.110.20:/opt/sunny1        /usr/local/nginx/html/    nfs        defaults,_netdev    0  0

192.168.110.80

vim /etc/fstab

192.168.110.20:/opt/sunny2        /usr/local/nginx/html/    nfs        defaults,_netdev    0  0

网页访问

curl 192.168.110.70

4.配置tomcat节点服务器(192.168.110.50,192.168.110.60)

 参考nginx反向代理-CSDN博客

修改tomcat测试页面

cd /usr/local/tomcat/tomcat1/webapps/ROOT

访问测试

curl 192.168.110.70/test.jsp

4.配置负载调度器(内网关 ens33:192.168.110.10,外网关 ens36:12.12.100.10)

配置SNAT转发规则

设置路由转发

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

加载配置

sysctl -p

iptables -t nat -F
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.110.0/24 -o ens36 -j SNAT --to-source 12.12.100.10

查看snat配置

iptables -t nat -nvL

加载LVS内核模块

modprobe ip_vs

cat /proc/net/ip_vs

for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done

安装ipvsadm 管理工具

yum -y install ipvsadm

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

ipvsadm-save > /etc/sysconfig/ipvsadm或者ipvsadm --save > /etc/sysconfig/ipvsadm

systemctl start ipvsadm.service

配置负载分配策略(NAT模式只要在服务器上配置,其他节点服务器不需要特殊配置)

ipvsadm -C                     
ipvsadm -A -t 12.0.0.1:80 -s rr [-p 60]
ipvsadm -a -t 12.0.0.1:80 -r 192.168.80.11:80 -m [-w 1]
ipvsadm -a -t 12.0.0.1:80 -r 192.168.80.12:80 -m [-w 1]
ipvsadm

查看节点状态,Masq代表 NAT模式

ipvsadm -ln

保存策略

ipvsadm-save -n > /opt/ipvsadm

5.测试效果

静态页面测试

curl 12.12.100.10

动态页面测试

curl 12.12.100.10/test.js

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

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

相关文章

c++第十二章续(队列结构类模拟)

队列类 设计类,需要开发公有接口和私有实现 Queue类接口 公有接口: 默认初始化,和可以用显式初始化覆盖默认值 Queue类的实现 如何表示队列数据: 一种方法是使用new动态分配一个数组,它包含所需的元素数。不过&…

知乎信息流广告营销获客投放策略!

知乎内容营销已成为品牌吸引目标客户、提升品牌知名度的重要手段,吸引了众多企业的关注。为了更好地利用知乎这一平台进行品牌推广,越来越多的企业开始关注知乎信息流广告的投放。云衔科技通过知乎信息流广告实现高效的营销获客,为企业提供知…

如何实现一个优秀的散列表!

文章内容收录到个人网站,方便阅读:http://hardyfish.top/ 文章内容收录到个人网站,方便阅读:http://hardyfish.top/ 文章内容收录到个人网站,方便阅读:http://hardyfish.top/ 前言 假设现在有一篇很长的…

锦囊妙计系列:没有项目支撑的情况下怎么从java到Python平稳过度并就业成功

从Java转向Python,并在没有项目支撑的情况下平稳过渡并实现就业,尽管有挑战,但完全可以通过系统学习、项目积累、技能展示和策略性求职来达成目标。以下是详细的步骤和策略,帮助你在不依赖现有项目的情况下实现从Java到Python的成…

24.9.29

星期一: 补 cf round974 div3 H cf传送门 题意:给一数组,q次询问,每次询问l-r区间内是否每个数字都出现偶数次 终于找到了梦中的随机数函数,这随机数真是非常顶级口牙 思路&a…

在线SQL模拟器

前言 有时候我们想学习下SQL,但是缺少数据库环境,多种数据库类型,MySQL,SQL server,Oracle,PostgreSQL等等,自己安装?耗时费力,占用电脑资源,要是有一个在线…

理解 Vue 的 setup 应用程序钩子

title: 理解 Vue 的 setup 应用程序钩子 date: 2024/9/30 updated: 2024/9/30 author: cmdragon excerpt: 摘要:本文详细介绍了Vue 3中setup函数的应用,包括其概念、特性、使用方法及重要性。setup函数作为组合API的核心,在组件实例化前被调用,用于设置响应式状态、计算…

如何构建一个生产级的AI平台(2)?

书接上回,继续往下讲,本节会说一下如何给大模型应用构建安全防护机制 为大模型应用构建安全防护 构建安全防护有助于降低 AI 风险,不仅可以保护您的用户,还可以保护您(开发人员)。只要有可能发生故障,就应…

Redis篇(应用案例 - UV统计)(持续更新迭代)

目录 一、HyperLogLog 二、测试百万数据的统计 一、HyperLogLog 首先我们搞懂两个概念: UV:全称Unique Visitor,也叫独立访客量,是指通过互联网访问、浏览这个网页的自然人。 1天内同一个用户多次访问该网站,只记录…

大盘点|9月独家爆款SVG模版(互斥伸长、扑克出牌、预感应滑动等)

九月即将结束,黑科技 SVG 编辑器作为业界天花板,在本月又发明了哪些一骑绝尘的 SVG 特效大杀器?一起来看看我们的盘点与推荐吧!如需体验,不妨直接登陆黑科技编辑器一探究竟。 1️⃣互斥伸长/互斥切换-伸长 E2 平台的…

C# C++ 笔记

第一阶段知识总结 lunix系统操作 1、基础命令 (1)cd cd /[目录名] 打开指定文件目录 cd .. 返回上一级目录 cd - 返回并显示上一次目录 cd ~ 切换到当前用户的家目录 (2)pwd pwd 查看当前所在目录路径 pwd -L 打印当前物理…

如何使用 Python 读取数据量庞大的 excel 文件

使用 pandas.read_excel 读取大文件时,的确会遇到性能瓶颈,特别是对于10万行20列这种规模的 .xlsx 文件,常规的 pandas 方法可能会比较慢。 要提高读取速度,关键是找到更高效的方式处理 Excel 文件,特别是在 Python 的…

Android Stuido中编译信息出现乱码的解决方式

打开菜单File -> Settings,选择Editor -> File Encodings 窗口,将编码设置为正确的字符集,保证 Global Encoding、Project Encoding 和 Default Encoding for properties files 都设置为 UTF-8。

当今爆火的RPA其实就是自动化测试

最近有机会看到了 RPA 在实际工作中的重度应用,深刻感受到了自动化的强大实力,以后的应用前景时完全可期的。 RPA (Robotic Process Automation) 简介 Robotic Process Automation (RPA) 是一种技术,使用软件机器人(或称“机器人…

APO v0.5.0 发布:可视化配置告警规则;优化时间筛选器;支持自建的ClickHouse和VictoriaMetrics

APO 新版本 v0.5.0 正式发布!本次更新主要包含以下内容: 新增页面配置告警规则和通知 在之前的版本中,APO 平台仅支持展示配置文件中的告警规则,若用户需要添加或调整这些规则,必须手动编辑配置文件。而在新版本中&a…

09_OpenCV彩色图片直方图

import cv2 import numpy as np import matplotlib.pyplot as plt %matplotlib inlineimg cv2.imread(computer.jpeg, 1) img cv2.cvtColor(img, cv2.COLOR_BGR2RGB) plt.imshow(img) plt.show()plot绘制直方图 plt.hist(img.ravel(), 256) #ravel() 二维降一维 256灰度级…

【使用resnet18训练自己的数据集】

1.背景及准备 书接上文【以图搜图代码实现】–犬类以图搜图示例 总结了一下可以优化的点,其中提到使用自己的数据集训练网络,而不是单纯使用预训练的模型,这不就来了!! 使用11类犬类微调resnet18网络模型&#xff1a…

如何构建一个生产级的AI平台(1)?

本文概述了生成式 AI 平台的常见组件、它们的作用以及它们的实现方式。 本文重点介绍部署 AI 应用程序的整体架构。 它讨论了需要哪些组件以及构建这些组件时的注意事项。 它不是关于如何构建 AI 应用程序。 这就是整体架构的样子。 这是一个相当复杂的系统。 这篇文章将从最…

css 中 ~ 符号、text-indent、ellipsis、ellipsis-2、text-overflow: ellipsis、::before的使用

1、~的使用直接看代码 <script setup> </script><template><div class"container"><p><a href"javascript:;">纪检委</a><a href"javascript:;">中介为</a><a href"javascript:…

SpringBoot技术栈:打造下一代网上租赁系统

第2章 关键技术简介 2.1 Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xf…