LVS配置

devtools/2024/9/24 4:39:35/

基础介绍

http://t.csdnimg.cn/Lv5Byicon-default.png?t=N7T8http://t.csdnimg.cn/Lv5By

部署NAT模式集群案例

实验环境

主机名
IP
vip
角色
node1
192.168.0.100
172.25.254.100
调度器( VS
node1
192.168.0.101 GW 192.168.0.100
\
真实服务器 RS
node1
192.168.0.102 GW 192.168.0.100
\
真实服务器 RS
node1
172.25.254.104
\
测试机

配置命令

1.node1中启用内核路由功能

echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf
sysctl --system
2. node1 中安装 ipvsadm
yum install ipvsadm -y
3. node1 中添加调度策略
ipvsadm -A -t 172.25.254.100:80 -s rr
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.101:80
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.101:80 -m
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.102:80 -m

4.查看策略

ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.254.100:80 rr
-> 192.168.0.101:80 Masq 1 0 3
-> 192.168.0.102:80 Masq 1 0 3
cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP AC19FE64:0050 rr
-> C0A80066:0050 Masq 1 0 3
-> C0A80065:0050 Masq 1 0 3
cat /proc/net/ip_vs_conn
Pro FromIP FPrt ToIP TPrt DestIP DPrt State Expires PEName PEData
TCP AC19FE01 D82F AC19FE64 0050 C0A80066 0050 TIME_WAIT 117
TCP AC19FE01 D830 AC19FE64 0050 C0A80065 0050 TIME_WAIT 117
TCP AC19FE01 D832 AC19FE64 0050 C0A80065 0050 TIME_WAIT 117
TCP AC19FE01 D834 AC19FE64 0050 C0A80065 0050 TIME_WAIT 117
TCP AC19FE01 D831 AC19FE64 0050 C0A80066 0050 TIME_WAIT 117
TCP AC19FE01 D833 AC19FE64 0050 C0A80066 0050 TIME_WAIT 117

5.保存规则

ipvsadm -Sn
-A -t 172.25.254.100:80 -s rr
-a -t 172.25.254.100:80 -r 192.168.0.101:80 -m -w 1
-a -t 172.25.254.100:80 -r 192.168.0.102:80 -m -w 1
ipvsadm -Sn > /etc/sysconfig/ipvsadm-config

6.删除所有规则

ipvsadm -C
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn

7.重载规则

ipvsadm -R < /etc/sysconfig/ipvsadm-config
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.254.100:80 rr
-> 192.168.0.101:80 Masq 1 0 0
-> 192.168.0.102:80 Masq 1 0 0

8.测试

for N in {1..6};do curl 172.25.254.100;done
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101

9.修改权重

ipvsadm -E -t 172.25.254.100:80 -s wrr
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.101:80 -m -w 2
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.102:80 -m -w 1
测试效果
for N in {1..6};do curl 172.25.254.100;done
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101
RS1 server - 192.168.0.101
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101
RS1 server - 192.168.0.101

部署DR模式集群案例

一、配置网络和基本设置
  1. 分配 IP 地址
    • LVS 调度设备的 VIP(虚拟 IP)和 DIP(数据 IP)。
    • Webserver 的 RIP(真实 IP)。
   setenforce 0systemctl disable --now firewalld
二、安装并配置 LVS
   yum install ipvsadm -y
   ipvsadm -A -t <VIP>:80 -s rr

其中 <VIP> 是调度设备的 VIP 地址,80 是服务端口,rr 表示轮询算法。

   ipvsadm -a -t <DIP>:80 -r <RIP> -g

其中 <DIP> 是 webserver 的数据 IP 地址,<RIP> 是 webserver 的真实 IP 地址。

三、配置 webserver
   vi /etc/httpd/conf/httpd.conf 

添加如下内容以确保请求直接返回给客户端:

   <VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName <VIP>
ErrorLog logshttpd error log
CustomLog logshttpd access log common<IfModule ipvs module>
VirtualServer <VIP> 80 {
Server <RIP> 80;
Server <RIP2> 80;
}
</IfModule></VirtualHost>
   systemctl restart httpd
四、测试和验证

在客户机上使用浏览器访问 <VIP>

安装和配置 ipvsadm:

  • 安装 ipvsadm

在大多数 Linux 发行版中,ipvsadm 通常已经预装。如果未安装,可以通过包管理器进行安装。对于 rhel9,可以使用以下命令:

yum install -y ipvsadm

这一步骤基于 中的信息。

  • 验证安装

安装完成后,可以通过执行以下命令来验证 ipvsadm 是否正确安装并可用:

ipvsadm -L --timeout

如果输出结果中第三个数字是 10,则说明 IPVS 类型集群的 UDP 超时时间变更成功。这一步骤同样基于 中的信息。

保存及重载规则

在对 ipvsadm 规则进行修改后,为了确保重启电脑服务不会丢失这些规则,需要将规则保存到文件中,并在重启后重新导入这些规则。

清理当前的 ipvsadm 规则(如果需要):

systemctl stop ipvsadm
ipvsadm -C

将 ipvsadm 规则保存到文件中:

ipvsadm -save > /data/ipvs.log 

在重启后,将规则导入到

ipvsadm -r /data/ipvs.log 

http://www.ppmy.cn/devtools/96014.html

相关文章

护理陪护系统|护理陪护系统搭建|护理陪护系统研发

随着社会老龄化的加剧&#xff0c;护理陪护服务的需求日益增长。为了提高护理服务的效率和质量&#xff0c;开发一套专业的护理陪护系统显得尤为重要。本文将详细介绍护理陪护系统的开发过程&#xff0c;包括系统设计、功能模块、技术选型以及实施策略。 一、系统设计 护理陪护…

Ruby模板引擎:构建动态视图的艺术

标题&#xff1a;Ruby模板引擎&#xff1a;构建动态视图的艺术 在Ruby on Rails的世界里&#xff0c;模板引擎是构建动态网页的基石。它们允许开发者将服务器端的逻辑嵌入到HTML中&#xff0c;实现数据的动态展示。本文将深入探讨Ruby中几种常用的模板引擎&#xff0c;包括ERB…

JavaScript 手写代码题

1、手写一个失败重试方法 // 失败重试方法 function retry(fn, times) {return new Promise((resolve, reject) > {function retryFn(times) {fn().then(() > {resolve(res)}).catch(() > {if(times > 0) {console.log(重试中... 还剩 ${times} 次);setTimeout(()…

响应式 HTML 表单设计——WEB开发系列11

HTML 表单是 Web 应用程序的重要组成部分&#xff0c;用户通过它与网站交互&#xff0c;可以填写信息、提交数据等。HTML 表单用于收集用户的输入信息。HTML 表单表示文档中的一个区域&#xff0c;此区域包含交互控件&#xff0c;将用户收集到的信息发送到 Web 服务器。HTML 表…

如何快速获取麒麟操作系统版本信息

如何快速获取麒麟操作系统版本信息 一、桌面版系统1. 使用 /etc/kylin-build 文件2. 使用 /etc/.kyinfo 文件 二、服务器版系统1. 使用 /etc/.productinfo 文件2. 使用 nkvers 命令3. 使用 /etc/kylin-release 文件 三、总结 &#x1f496;The Begin&#x1f496;点点关注&…

LeetCode 3137.K 周期字符串需要的最少操作次数:哈希表计数

【LetMeFly】3137.K 周期字符串需要的最少操作次数&#xff1a;哈希表计数 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-number-of-operations-to-make-word-k-periodic/ 给你一个长度为 n 的字符串 word 和一个整数 k &#xff0c;其中 k 是 n 的因数。 …

Windows环境在使用Pycharm设置Python解译器时提示找不到Python打包工具,安装打包工具错误提示解决方法

问题现像如下 截图&#xff1a; 解决方法&#xff1a; 第一步&#xff1a;在CMD命令行输入&#xff1a; python -m ensurepip --default-pip 安装distutils 第二步&#xff1a;检查和安装setuptools和wheel&#xff1a; python -m pip install --upgrade setuptools wheel…

JDBC连接池之HikariCP

HikariCP 是一个高性能的JDBC连接池&#xff0c;广泛应用于Java应用中&#xff0c;尤其是在对数据库连接性能和资源利用要求较高的场景。以下是HikariCP的一些关键特性和详细介绍&#xff1a; 1. 高性能 连接速度快: HikariCP以极快的连接速度著称&#xff0c;通常比其他连接…