LVS负载均衡集群企业级应用实战-LVS/NAT模式(三)

2024-06-14 03:44

本文主要是介绍LVS负载均衡集群企业级应用实战-LVS/NAT模式(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

LVS/NAT模式

一. 环境准备

二. 对虚拟服务器操作

三. 对真实服务器操作

四. 打开网站验证


LVS/NAT模式

一. 环境准备

主机名主机IP模拟服务器系统用途
localhost

10.36.178.156

192.168.226.137

虚拟服务器

Rocky_linux

客户兼负载均衡机分发IP
localhost192.168.226.10真实服务器Centos7后端服务
localhost192.168.226.99真实服务器Rocky_linux后端服务

统一关闭防火墙和selinux,系统发行版选择会用就可以,这里也是两种一起使用学习。

二. 对虚拟服务器操作

 在设置中添加一块网卡,一个使用桥接模式,一个使用NAT模式,然后打开虚拟机。

查看ip,有两个不同网段IP就成功了。

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:d9:a7:1d brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 10.36.178.156/24 brd 10.36.178.255 scope global dynamic noprefixroute ens33valid_lft 347sec preferred_lft 347secinet6 fe80::27d2:b5dd:fed:2361/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:d9:a7:27 brd ff:ff:ff:ff:ff:ffaltname enp2s5inet 192.168.226.137/24 brd 192.168.226.255 scope global dynamic noprefixroute ens37valid_lft 929sec preferred_lft 929secinet6 fe80::553c:db7a:2d1b:33c/64 scope link noprefixroute valid_lft forever preferred_lft forever

下载ipvsadm

yum install -y ipvsadm

添加虚拟服务器和真实服务器,并设置一台权重为3,一台为1,权重设置无分别

ipvsadm -A -t 10.36.178.156:80 -s wrr
ipvsadm -a -t 10.36.178.156:80 -r 192.168.226.10:80 -m -w 3
ipvsadm -a -t 10.36.178.156:80 -r 192.168.226.99:80 -m -w 1
ipvsadm-save > /etc/sysconfig/ipvsadm

启动服务并设置开机自启

systemctl enable --now ipvsadm

三. 对真实服务器操作

对192.168.226.10和192.168.226.99都操作

下载nginx

yum install -y nginx

修改内容和配置

vim /etc/nginx/nginxconf +27#这个参数设置为keepalive_timeout   0;  把参数改成0即可
修改默认打开的网站用来识别来自哪个服务器对192.168.226.10执行
echo "web-server111111" > /usr/share/nginx/html/index.html对192.168.226.99执行
echo "web-server111111" > /usr/share/nginx/html/index.html

 

开启服务并设置开机自启

systemctl start nginx
systemctl enable nginx

配置默认路由

ip route add default via 192.168.226.137

开启路由转发

vim /etc/sysctl.conf#加入如下内容
net.ipv4.ip_forward = 1

确保打开路由转发,加载sysctl.conf配置

sysctl -p

查看路由表

[root@localhost ~]#  ip r
default via 192.168.226.137 dev ens33 
default via 192.168.226.2 dev ens33 proto static metric 100 
192.168.226.0/24 dev ens33 proto kernel scope link src 192.168.226.10 metric 100 

 使用ip r命令查看到如上有一192.168.226.137的信息即可。

 

四. 打开网站验证

打开IP应该用虚拟服务器IP ,用10.36.178.156 多次刷新网页访问。使用命令查看信息

#在10.36.178.156的虚拟服务器上执行查看
ipvsadm -L -n --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes-> RemoteAddress:Port
TCP  10.36.178.156:80                    4       77       49    18529     7538-> 192.168.226.10:80                   3       59       37    14582     5367-> 192.168.226.99:80                   1       18       12     3947     2171

因为前面我们添加虚拟服务器是,给虚拟服务器IP执行的是wrr加权轮询,然后给192.168.226.10设置的权重为3,192.168.226.99设置的权重为1,然后都配置了nginx连接的超时时间,因此当多次访问,对这两台真实服务器的流量权重分配会大约在3:1的比例。

这篇关于LVS负载均衡集群企业级应用实战-LVS/NAT模式(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1059275

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提