linux基于 openEuler 构建 LVS-DR 群集--一、用命令行完成 二、使用脚本完成

ops/2025/2/12 13:37:49/

目录

 一·、用命令行完成

        1、在nginx上(两台都是一样的配置)

       2、 在LVS上

                1.)绑定VIP  (与nginx上一致)      

                2)安装ipvsadm 

                3)配置LVS-DR 

        3、在CLINT上

                1)验证 (验证成功如下)

​编辑

        2)故障排查步骤:

二、使用脚本完成

      1、在nginx上(与一一样)

lvs%E4%B8%8A%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%88%E5%89%8D%E6%8F%90%E5%AE%89%E8%A3%85%E5%A5%BDipvsadm%EF%BC%89-toc" name="tableOfContents" style="margin-left:80px">      2、在lvs上用脚本(前提安装好ipvsadm)

3、验证(与一一样)


IP地址如图:

 一·、用命令行完成

主要思路如下

        在nginx上:1、安装nginx   2、绑定VIP        3、arp抑制 

        在LVS上:1.、绑定VIP        2、安装ipvsadm        3、配置ipvsadm       

        在CLINT上 :1、验证

        1、在nginx上(两台都是一样的配置)

                1)安装nginx

#下载nginx
[root@openeuler ~]# yum install nginx -y#列出 Nginx 默认网页目录的内容
[root@openeuler ~]# ls /usr/share/nginx/html/
404.html  50x.html  index.html  nginx-logo.png#这个命令的目的是创建一个新的首页文件,内容包含当前主机的 IP 地址
[root@openeuler ~]# echo "web test page,ip is `hostname -I`." > /usr/share/nginx/html/#启用并启动 Nginx 服务
[root@openeuler ~]# systemctl enable --now nginx#访问本地 Nginx 服务
[root@openeuler ~]# curl localhost
web test page,ip is 192.168.131.19 .#出现这个代表访问成功

                2)绑定VIP

#网络需增加 VIP 的相关配置
[root@openeuler ~]# nmcli connection add type dummy ifname dummy2 ipv4.method manual ipv4.addresses 192.168.131.9/32

     

                3)arp的抑制

#完成网络配置后,修改相应的 arp 内核配置,具体命令如下
[root@openeuler ~]# cat >> /etc/sysctl.conf << EOF
> net.ipv4.conf.all.arp_ignore = 1
> net.ipv4.conf.all.arp_announce = 2
> net.ipv4.conf.dummy2.arp_ignore = 1
> net.ipv4.conf.dummy2.arp_announce = 2
> EOF
#配置完成后,使用命令 sysctl -p 使其生效
[root@openeuler ~]# sysctl -p | tail -4
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.dummy2.arp_ignore = 1
net.ipv4.conf.dummy2.arp_announce = 2

        nginx上配置完成!

       2、 在LVS上

                1.)绑定VIP  (与nginx上一致)      
                2)安装ipvsadm 
[root@client ~]# yum install ipvsadm -y
                3)配置LVS-DR 

在没有配置前可以先查看(如下是为空的结果)

[root@client ~]# ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
#添加配置vip与nginx两个IP
[root@client ~]# ipvsadm -A -t 192.168.131.9:80 -s rr
[root@client ~]# ipvsadm -a -t 192.168.131.9:80 -r 192.168.131.19
[root@client ~]# ipvsadm -a -t 192.168.131.9:80 -r 192.168.131.20
#查看具体配置
[root@client ~]# ipvsadm -Ln

        3、在CLINT上

                1)验证 (验证成功如下)

        如果不成功如下

        2)故障排查步骤:

               1、 检查网络连通性

                2、检查防火墙:是否有防火墙规则阻止了 80 端口的流量,也可以直接关闭防火墙(四台操作机都要关防火墙)

                2、检查服务状态:确保nginx正在运行,并且正在监听 80 端口。

二、使用脚本完成

      1、在nginx上(与一一样)

lvs%E4%B8%8A%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%88%E5%89%8D%E6%8F%90%E5%AE%89%E8%A3%85%E5%A5%BDipvsadm%EF%BC%89" name="%C2%A0%20%C2%A0%20%C2%A0%202%E3%80%81%E5%9C%A8lvs%E4%B8%8A%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%88%E5%89%8D%E6%8F%90%E5%AE%89%E8%A3%85%E5%A5%BDipvsadm%EF%BC%89">      2、在lvs上用脚本(前提安装好ipvsadm)

在代码里的VIP\RIP1\RIP2改

#!/bin/sh
#
# Startup script handle the initialisation of LVS
# chkconfig: - 28 72
# description: Initialise the Linux Virtual Server for DR
#
### BEGIN INIT INFO
# Provides: ipvsadm
# Required-Start: $local_fs $network $named
# Required-Stop: $local_fs $remote_fs $network
# Short-Description: Initialise the Linux Virtual Server
# Description: The Linux Virtual Server is a highly scalable and highly
# available server built on a cluster of real servers, with the load
# balancer running on Linux.
# description: start LVS of DR
LOCK=/var/lock/ipvsadm.lock
VIP=192.168.131.9
RIP1=192.168.131.19
RIP2=192.168.131.20
DipName=ens33
. /etc/rc.d/init.d/functions
start() {
PID=`ipvsadm -Ln | grep ${VIP} | wc -l`
if [ $PID -gt 0 ];
then
echo "The LVS-DR Server is already running !"
else
#Set the Virtual IP Address
/sbin/ifconfig ${DipName}:10 $VIP broadcast $VIP netmask
255.255.255.255 up
/sbin/route add -host $VIP dev ${DipName}:10
#Clear IPVS Table
/sbin/ipvsadm -C
#Set Lvs
/sbin/ipvsadm -At $VIP:80 -s rr
/sbin/ipvsadm -at $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -at $VIP:80 -r $RIP2:80 -g
/bin/touch $LOCK
#Run Lvs
echo "starting LVS-DR Server is ok !"
fi
}
stop() {
#clear Lvs and vip
/sbin/ipvsadm -C
/sbin/route del -host $VIP dev ${DipName}:10
/sbin/ifconfig ${DipName}:10 down >/dev/null
rm -rf $LOCK
echo "stopping LVS-DR server is ok !"
}
status() {
if [ -e $LOCK ];
then
echo "The LVS-DR Server is already running !"
else
echo "The LVS-DR Server is not running !"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $1 {start|stop|restart|status}"
exit 1
esac
exit 0

 


[root@openeuler ~]# vim /etc/init.d/lvs_dr
#赋予脚本可执行权限
[root@openeuler ~]# chmod +x /etc/init.d/lvs_dr
#将服务添加到 chkconfig 管理
[root@openeuler ~]# chkconfig --add lvs dr
#设置服务开机自启动
[root@openeuler ~]# chkconfig lvs_dr on
# 启动服务
[root@openeuler ~]# systemctl start lvs_dr
#查看服务状态
[root@openeuler ~]# systemctl status lvs_dr

3、验证(与一一样)


http://www.ppmy.cn/ops/157783.html

相关文章

用Kibana实现Elasticsearch索引的增删改查:实战指南

在大数据时代&#xff0c;Elasticsearch&#xff08;简称 ES&#xff09;和 Kibana 作为强大的数据搜索与可视化工具&#xff0c;受到了众多开发者的青睐。Kibana 提供了一个直观的界面&#xff0c;可以方便地对 Elasticsearch 中的数据进行操作。本文将详细介绍如何使用 Kiban…

【算法工程】使用python脚本实现对异步接口的压力测试

1. 异步接口压力测试方案 1.1 测试目的 评估异步解析接口在高并发场景下的处理能力、稳定性和性能瓶颈。 测量系统吞吐量&#xff08;TPS&#xff09;、响应时间、错误率及资源使用效率&#xff0c;验证系统设计的合理性。 1.2 测试环境 类别配置/说明服务端地址&#…

嵌入式构建工具Yocto中的Build Folder(构建目录)是什么意思?

本篇博文承接博文https://blog.csdn.net/wenhao_ir/article/details/145547974 简单地说&#xff1a;build folder指的是在Yocto构建过程中创建的一个目录&#xff0c;用于存放和生成构建所需的所有文件和中间结果。 详细解释如下&#xff1a; 什么是 Build Folder&#xff…

【嵌入式Linux应用开发基础】文件I/O基础编程

目录 一、文件I/O简介 二、文件描述符 2.1. 唯一性 2.2. 抽象性 2.3. 有限性 三、文件操作函数 四、标准文件I/O函数 五、文件执行权限 5.1. 权限类型 5.2. 权限分配对象 5.3. 权限表示方法 5.4. 权限设置命令 5.5. 权限设置的重要性 5.6. 实例说明 六、设备文件…

DeepSeek 助力 Vue 开发:打造丝滑的步骤条

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

DeepSeek本地部署(DeepSeek服务器繁忙解决方案)

前言 最近DeepSeek非常火爆,也非常好用但用的人实在太多了,以至于经常服务器繁忙。那有没有解决方案呢,当然是有的:本地部署 下面正文开始: 一、安装ollama Ollama 是一个让你在本地设备上运行大型语言模型的平台。它不依赖远程服务器,而是让你在自己的机器上运行这些模…

蓝桥杯算法日记|贪心、双指针

3412 545 2928 2128 贪心学习总结&#xff1a; 1、一般经常用到sort&#xff08;a&#xff0c;an&#xff09;&#xff1b;【a[n]】排序&#xff0c;可以给整数排&#xff0c;也可以给字符串按照字典序排序 2、每次选最优 双指针 有序数组、字符串、二分查找、数字之和、反转字…

基于Spring Boot的网上蛋糕售卖店管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…