LVS/NAT负载均衡实操

添加规则,并做持久操作

1 添加规则

[root@lvs ~]# ipvsadm -A -t 10.36.178.183:80 -s wrr
[root@lvs ~]# ipvsadm -a -t 10.36.178.183:80 -r 192.168.65.201:80 -m -w 3
[root@lvs ~]# ipvsadm -a -t 10.36.178.183:80 -r 192.168.65.202:80 -m -w 1[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.36.178.183:80 wrr-> 192.168.65.201:80            Masq    3      0          0-> 192.168.65.202:80            Masq    1      0          0

2 持久操作

单纯添加,重启服务器后,规则会失效。为了不让规则失效,我们可以这样做:

第一种:将规则导入到文本文件中,然后手动导入规则

[root@lvs ~]# ipvsadm -S
-A -t lvs.com:http -s wrr
-a -t lvs.com:http -r node1:http -m -w 3
-a -t lvs.com:http -r node2:http -m -w 1[root@lvs ~]# ipvsadm -S -n		# -n: 以数字形式显示
-A -t 10.36.178.183:80 -s wrr
-a -t 10.36.178.183:80 -r 192.168.65.201:80 -m -w 3
-a -t 10.36.178.183:80 -r 192.168.65.202:80 -m -w 1# 将规则导入到ipvsrule文件中
[root@lvs ~]# ipvsadm -S -n > ./ipvsrule
[root@lvs ~]# cat ipvsrule
-A -t 10.36.178.183:80 -s wrr
-a -t 10.36.178.183:80 -r 192.168.65.201:80 -m -w 3
-a -t 10.36.178.183:80 -r 192.168.65.202:80 -m -w 1# 清除规则
[root@lvs ~]# ipvsadm -C	# 查看规则,为空
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn# 导入规则
[root@lvs ~]# ipvsadm -R < ipvsrule
# 查看规则

第二种:开启ipvsadm服务,创建存放规则的配置目录,最后设置ipvsadm开机自启

[root@lvs ~]# systemctl start ipvsadm.service	# 启动失败
Job for ipvsadm.service failed because the control process exited with error code.
See "systemctl status ipvsadm.service" and "journalctl -xeu ipvsadm.service" for details.[root@lvs ~]# journalctl -xeu ipvsadm.service
# 查看错误原因:"/etc/sysconfig/ipvsadm:没有那个文件" 故咱们自己创建一个
# 再次启动ipvsadm.service就成功了[root@lvs ~]# touch /etc/sysconfig/ipvsadm
[root@lvs ~]# ipvsadm -R < ipvsrule			    # 手动导入规则[root@lvs ~]# systemctl start ipvsadm.service	# 启动ipvsadm.service
# 启动ipvsadm.service的时候干哪些事情:1.ipvsadm -R < /etc/sysconfig/ipvsadm
[root@lvs ~]# systemctl enable ipvsadm.service --now[root@lvs ~]# systemctl stop ipvsadm.service	# 停止ipvsadm.service
# 停止ipvsadm.service时干哪些事情: 1.先保存规则到/etc/sysconfig/ipvsadm2.ipvsadm -C

LVS 负载均衡集群企业级应用实战

1LVS/NAT模式

1.配置规则

[root@lvs ~]# ipvsadm -A -t 10.36.178.183:80 -s wrr
[root@lvs ~]# ipvsadm -a -t 10.36.178.183:80 -r 192.168.65.201:80 -m -w 3
[root@lvs ~]# ipvsadm -a -t 10.36.178.183:80 -r 192.168.65.202:80 -m -w 1
[root@lvs ~]# ipvsadm -Ln		# 查看规则
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.36.178.183:80 wrr-> 192.168.65.201:80            Masq    3      0          0-> 192.168.65.202:80            Masq    1      0          0

2.为负载均衡器添加一块网卡,保证负载均衡器和服务器正常通信

负载均衡器左边是桥接模式,连接客户端,右边是NAT模式连接后台服务器,因此负载均衡器需要两张网卡(桥接与NAT)。

​ 负载均衡器左边桥接模式ip作用:桥接网段用户能够通过负载均衡器连接到服务器。

​ 负载均衡器右边NAT模式ip作用:连接后端两台服务器。

image-20240613174252819

  • 添加网卡时需要注意:

​ 因为我是直接复制的/etc/NetworkManager/system-connections/ens33.nmconnectionens33.nmconnection,导致ens33和ens36网卡的uuid一样,一直起不来ens36。

  • 解决办法:删掉复制过来的uuid即可。

3.开启路由转发,让NAT可以连接到桥接

[root@lvs ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@lvs ~]# sysctl -p	# 确保打开路由转发,加载sysctl.conf配置

4.两台服务器将lvs作为网关

# 添加一条指向到负载均衡器的路由,ip为负载均衡器内能够与后端服务器通信的ip
[root@node1 ~]# ip r add default via 192.168.65.168
[root@node2 ~]# ip r add default via 192.168.65.168
[root@node1 ~]# ip r		# 查看路由
default via 192.168.65.168 dev ens33
default via 192.168.65.2 dev ens33 proto static metric 100

如果不设置lvs作为网关的话,这两台服务器就只有输入,没有输出。

image-20240613174408497

5.两台服务器安装nginx

[root@node1 ~]# yum install -y nginx
[root@node2 ~]# yum install -y nginx
[root@node1 ~]# rm -rf /usr/share/nginx//html/*
[root@node2 ~]# rm -rf /usr/share/nginx//html/*

6.配置nginx文件

[root@node1 ~]# vim /etc/nginx/nginx.conf
# keepalive_timeout:Nginx 处理的每个请求均有相应的超时设置
keepalive_timeout  65; ==> keepalive_timeout   0;
[root@node2 ~]# vim /etc/nginx/nginx.conf
keepalive_timeout  65; ==> keepalive_timeout   0;# curl没有请求超时
[root@lvs ~]# curl http://10.36.178.183 

7.查看规则

[root@lvs ~]# ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port         Conns   InPkts  OutPkts  InBytes OutBytes-> RemoteAddress:Port
TCP  10.36.178.183:80             63     1199      646   240404    68671-> 192.168.65.201:80            47     1031      552   223177    61187-> 192.168.65.202:80            16      168       94    17227     7484[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port        Forward Weight ActiveConn InActConn
TCP  10.36.178.183:80 wrr-> 192.168.65.201:80            Masq    3      2          13-> 192.168.65.202:80            Masq    1      0          4[root@lvs ~]# ipvsadm -Z	# 虚拟服务器表计数(当前连接数量)清零
[root@lvs ~]# ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port         Conns   InPkts  OutPkts  InBytes OutBytes-> RemoteAddress:Port
TCP  10.36.178.183:80           0        0        0        0        0-> 192.168.65.201:80          0        0        0        0        0-> 192.168.65.202:80          0        0        0        0        0

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

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

相关文章

vmmare虚拟机没有被分配ip地址问题

打开任务管理器–>服务–>找到与VM和server相关的服务 发现NAT和DHCP服务被关闭了 尝试启动&#xff0c;报错 尝试一 虚拟网络编辑器点击还原默认设置 尝试二 可以了

Android Jetpack Compose入门教程(二)

一、列表和动画 列表和动画在应用内随处可见。在本课中&#xff0c;您将学习如何利用 Compose 轻松创建列表并添加有趣的动画效果。 1、创建消息列表 只包含一条消息的聊天略显孤单&#xff0c;因此我们将更改对话&#xff0c;使其包含多条消息。您需要创建一个可显示多条消…

Cascade和Cascode在电路中含义的区别

两个电路cascade 是指第一个的输出接到第二个的输入. 在cascode 结构中, 第一个电路是common source amplifier, 第二个电路是common gate amplifier. (以FET 为例)

Chromium源码阅读:深入理解Mojo框架的设计思想,并掌握其基本用法(2)

我们继续分析Chromium的Mojo模块。 Dispatcher Dispatcher 是 Mojo IPC 系统中的一个关键概念。它是一个虚基类类&#xff08;或接口&#xff09;&#xff0c;用于实现与特定 MojoHandle 相关联的 Mojo 核心 API 调用。在 Mojo 系统中&#xff0c;应用程序通过这些 API 与各种…

LabVIEW 32位与64位版本比较分析:性能与兼容性详解

LabVIEW的32位和64位版本在功能、性能、兼容性和应用场景等方面存在差异。本文从系统要求、内存管理、性能、兼容性、驱动支持和开发维护等多个角度进行详细分析&#xff0c;帮助用户选择合适的版本。 一、系统要求 操作系统支持&#xff1a; 32位LabVIEW&#xff1a;可以在32位…

XL3001E1 SOP-8 3A 40V 220KHz 降压LED恒流驱动器芯片

XL3001E1是一款LED驱动芯片&#xff0c;主要用于需要稳定电流驱动的LED照明产品中。其应用领域广泛&#xff0c;包括但不限于以下几个方面&#xff1a; 1. 室内照明&#xff1a;XL3001E1可用于各种室内LED灯具&#xff0c;如球泡灯、筒灯、射灯和平板灯&#xff0c;提供恒定的电…

【C++进阶】RBTree封装map与set

1.红黑树的迭代器 1.1 begin() begin()就是红黑树的开头&#xff0c;那么对于红黑树来说按照中序序列是该树的最左节点。 Iterator Begin(){Node* leftMin _root;while (leftMin->_left){leftMin leftMin->_left;}return Iterator(leftMin);} 1.2 end() begin()就是…

好书推荐:生成式AI入门与AWS实战

这本书给LLM的爱好者者提供了完整的学习路线&#xff0c;让读者从使用大语言模型开始到剖析常用的技术概念&#xff0c;能够填补了机器学习爱好者从传统的文字处理到大语言模型的空白知识&#xff0c;包括显存计算优化&#xff0c;微调&#xff0c;RAG&#xff0c; 多模态&…

springboot vue 的在线考试系统

springboot & vue 的在线考试系统 在线考试系统&#xff0c;功能如下&#xff1a; 管理员&#xff1a;题库管理&#xff0c;支持选择题和判断题&#xff0c;考试管理&#xff0c;成绩查询&#xff0c;学生管理&#xff0c;教师管理. 教师&#xff1a;题库管理&#xff0c;…

深入解析TF-IDF算法:文本分析的基石与力量

在信息爆炸的时代文本数据无处不在&#xff0c;从新闻报道到社交媒体帖子&#xff0c;从学术论文到产品评论&#xff0c;大量的文本信息需要被有效地分析和利用。在这样的背景下TF-IDF&#xff08;Term Frequency-Inverse Document Frequency&#xff09;算法作为一种简单而有效…

抖店被扣保证金,做起来太难导致心态崩了,怎么办?

我是王路飞。 技术、黑科技这些东西&#xff0c;决定不了你做店的结果。 能够决定最终结果的&#xff0c;一定是心态&#xff0c;是乐观还是悲观&#xff1f;是自负还是自卑&#xff1f;是焦躁还是踏实&#xff1f;这很关键。 店铺被扣保证金了&#xff0c;感觉没希望了&…

DIYGW可视化开发工具:微信小程序与多端应用开发的利器

一、引言 随着移动互联网的飞速发展&#xff0c;微信小程序以其轻便、易用和跨平台的特点受到了广泛关注。然而&#xff0c;微信小程序的开发相较于传统的H5网页开发&#xff0c;在UI搭建和交互设计上存在一定的挑战。为了应对这些挑战&#xff0c;开发者们一直在寻找更加高效…

私域引流宝PHP源码 以及搭建教程

私域引流宝PHP源码 以及搭建教程

直播录制怎么录?(3个方法)

在数字化快速发展的今天&#xff0c;直播已经成为了一种重要的传播方式&#xff0c;无论是商业活动、教育培训&#xff0c;还是娱乐休闲&#xff0c;直播都展现出了其独特的价值。然而&#xff0c;直播的即时性也意味着一旦错过&#xff0c;就很难再次体验。这时&#xff0c;直…

第20篇 Intel FPGA Monitor Program的使用<三>

Q&#xff1a;如何用Intel FPGA Monitor Program创建汇编语言工程呢&#xff1f; A&#xff1a;我们用一个Nios II汇编语言简易应用程序来发掘Intel Monitor FPGA Program软件的一些功能特性&#xff0c;并介绍创建工程的基本步骤。该程序可以实现找到存储在存储器中的32位整…

怎么改图片尺寸更方便?在线图片改大小的使用方法

图片怎么快速改尺寸呢&#xff1f;在网上传图或者做其他用途时&#xff0c;经常会对图片的尺寸有要求&#xff0c;当拍摄或者制作的图片太大或者太小时&#xff0c;都会导致图片的无法正常使用&#xff0c;那么就需要按照规定将图片改大小之后才能正常使用。 在遇到图片修改大…

Epicor BAQ - BAQ设计与调用

目录 一、BAQ设计常用功能1.跨公司查询2.修改作者3.添加筛选条件4.使用BAQ参数5.子查询 二、在客制化中调用BAQ取数三、在BPM中调用BAQ取数四、结束 一、BAQ设计常用功能 1.跨公司查询 在BAQ的General页面勾选Cross-company后&#xff0c;BAQ可以跨公司查询数据。 2.修改作…

Cloudflare 错误 1006、1007、1008 解决方案 | 如何修复

根据不完全统计&#xff0c;使用 Cloudflare 的网站比例已经接近 20%。因此&#xff0c;在日常工作中&#xff0c;比如进行网页抓取时&#xff0c;您可能经常会遇到一些因 Cloudflare 而产生的困难。例如&#xff0c;遇到 Cloudflare 错误 1006、1007 和 1008&#xff0c;这些错…

水电表抄表解决方案

1.简述&#xff1a;水电表抄表方案的必要性 水电表抄表是物业管理服务中不可或缺的一环&#xff0c;它涉及到费用计算、资源优化配置及其环保节能监管等各个方面。传统的手工抄表方法不但耗时费力&#xff0c;且容易出差错&#xff0c;因而&#xff0c;现代化抄表方案是十分重…

Java——重载

一、重载&#xff08;Overload&#xff09; 1、重载是什么 方法重载&#xff08;Method Overloading&#xff09;是Java中实现多态的一种方式。它允许在同一个类中定义多个同名的方法&#xff0c;只要这些方法的参数列表不同。这些不同的参数列表可以通过不同的参数类型、参数…