lvs+keepalived+nginx双主模式双主热备实现负载均衡

目录

一、原理

二、真实服务器nginx配置

三、lvs的keepalived配置

3.1 配置文件

3.2 开启keepalived服务

四、测试

4.1 测试访问VIP

4.2 模拟lvs01宕机


主机名IP
nginx0111.0.1.31
nginx0111.0.1.31
lvs0111.0.1.33
lvs0211.0.1.34
VIP111.0.1.29
VIP211.0.1.30

一、原理

lvs+keepalived+nginx主备模式下,lvs永远只有一台在工作,资源利用率并不高,双主模式可以解决这一问题。

确保真实IP11.0.1.31、11.0.1.32访问正常

二、真实服务器nginx配置

nginx01、nginx02 执行real_server.sh脚本

新建real_server.sh脚本并执行,脚本内容为lo网卡新增两个虚拟接口,添加linux内核路由,关闭arp功能。

[root@nginx01 ~]# cat /etc/keepalived/real_server.shifconfig lo:0 11.0.1.29 netmask 255.255.255.255 broadcast 11.0.1.29
route add -host 11.0.1.29 dev lo:0ifconfig lo:1 11.0.1.30 netmask 255.255.255.255 broadcast 11.0.1.30 
route add -host 11.0.1.30 dev lo:1echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce[root@nginx01 ~]# chmod +x /etc/keepalived/real_server.sh[root@nginx01 ~]# sh /etc/keepalived/real_server.sh

查看nginx01网卡信息

查看nginx02网卡信息

三、lvs的keepalived配置

3.1 配置文件

注意有两个VRRP实例,两个VIP,一个VRRP实例对应一个VIP

VRRP 1(VIP 11.0.1.29)

11.0.1.33 master

11.0.1.34 slave

VRRP 2(VIP11.0.1.30)

11.0.1.33 slave

11.0.1.34 master

lvs01-33

[root@lvs01-33 ~]# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 31priority 100advert_int 1authentication {auth_type PASSauth_pass abcd}virtual_ipaddress {11.0.1.29}
}vrrp_instance VI_2 {state BACKUPinterface ens33virtual_router_id 41priority 99advert_int 1authentication {auth_type PASSauth_pass abcd}virtual_ipaddress {11.0.1.30}
}virtual_server 11.0.1.29 80 {delay_loop 6lb_algo rr                  lb_kind DR                     protocol TCPreal_server 11.0.1.31 80 {weight 1        inhibit_on_failure            TCP_CHECK {            connect_timeout 3            nb_get_retry 2            delay_before_retry 1            connect_port 80            }}real_server 11.0.1.32 80 {weight 1        inhibit_on_failure            TCP_CHECK {            connect_timeout 3            nb_get_retry 2            delay_before_retry 1            connect_port 80            }}
}virtual_server 11.0.1.30 80 {delay_loop 6lb_algo rrlb_kind DRprotocol TCPreal_server 11.0.1.31 80 {weight 1        inhibit_on_failure            TCP_CHECK {            connect_timeout 3            nb_get_retry 2            delay_before_retry 1            connect_port 80            }}real_server 11.0.1.32 80 {weight 1        inhibit_on_failure            TCP_CHECK {            connect_timeout 3            nb_get_retry 2            delay_before_retry 1            connect_port 80            }}
}

lvs02-34

[root@lvs02-34 ~]# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 31priority 99advert_int 1authentication {auth_type PASSauth_pass abcd}virtual_ipaddress {11.0.1.29}
}vrrp_instance VI_2 {state MASTERinterface ens33virtual_router_id 41priority 100advert_int 1authentication {auth_type PASSauth_pass abcd}virtual_ipaddress {11.0.1.30}
}virtual_server 11.0.1.29 80 {delay_loop 6lb_algo rrlb_kind DRprotocol TCPreal_server 11.0.1.31 80 {weight 1inhibit_on_failure            TCP_CHECK {            connect_timeout 3            nb_get_retry 2            delay_before_retry 1            connect_port 80            }}real_server 11.0.1.32 80 {weight 1inhibit_on_failure            TCP_CHECK {            connect_timeout 3            nb_get_retry 2            delay_before_retry 1            connect_port 80            }}
}virtual_server 11.0.1.30 80 {delay_loop 6lb_algo rrlb_kind DRprotocol TCPreal_server 11.0.1.31 80 {weight 1inhibit_on_failure            TCP_CHECK {            connect_timeout 3            nb_get_retry 2            delay_before_retry 1            connect_port 80            }}real_server 11.0.1.32 80 {weight 1inhibit_on_failure            TCP_CHECK {            connect_timeout 3            nb_get_retry 2            delay_before_retry 1            connect_port 80            }}
}

3.2 开启keepalived服务

查看lvs01网卡信息

查看lvs02网卡信息

四、测试

4.1 测试访问VIP

4.2 模拟lvs01宕机

模拟lvs01宕机,关闭lvs1的keepalived

lvs02网卡信息

访问测试,两个虚拟VIP仍然可以正常使用,依旧可以正常访问nginx01、nginx02,,轮询方式仍然正常工作,注意每次刷新前都须有清除cookie记录

重启lvs01的keepalived,虚拟VIP11.0.1.29重新漂移回lvs01(11.0.1.33)

模拟lvs02宕机同理,不再重复实验。

参考文档:

(2)LVS+Keepalived+nginx高可用负载均衡架构原理及配置_51CTO博客_keepalived nginx负载均衡配置

keepalived+lvs-dr+nginx双主模型-CSDN博客

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

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

相关文章

OpenAI推出GPT商店和ChatGPT Team服务

🦉 AI新闻 🚀 OpenAI推出GPT商店和ChatGPT Team服务 摘要:OpenAI正式推出了其GPT商店和ChatGPT Team服务。用户已经创建了超过300万个ChatGPT自定义版本,并分享给其他人使用。GPT商店集结了用户为各种任务创建的定制化ChatGPT&a…

windows10 装docker和docker compose

一.windows环境准备 开启过程中的问题,进入bios修复 二.docker下载安装 1.下载 Docker Desktop: The #1 Containerization Tool for Developers | Docker 下载最新版有问题,下载老版本试试 Docker Desktop release notes | Docker Docs 2.安装 三.do…

系统存储架构升级分享

一、业务背景 系统业务功能:系统内部进行数据处理及整合, 对外部系统提供结果数据的初始化(写)及查询数据结果服务。 系统网络架构: • 部署架构对切量上线的影响 - 内部管理系统上线对其他系统的读业务无影响 •分布式缓存可进行单独扩容, 与存储及查询功能升级…

出版实务 | 出版物的成本及其构成

文章目录 出版物成本的总体构成直接成本开发成本制作成本 间接成本期间费用 本量利分析原则特点和作用变动成本项目固定成本项目本量利分析的基本公式及其应用定价发行折扣率销售数量单位销售收入销售收入总额单位销售税金销售税金总额变动成本总额单位变动成本固定成本总额单位…

CMake入门教程【高级篇】CPack打包项目Linux的deb和windows的msi

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1. 什么是CPack?2. 如何使用CPack?2.1 在CMakeLists.txt中包含CPack模块2.2 设置CPack变量2.3 创建分发包3.CPack命

转专业(UPC练习)

题目描述 根据教育部的规定,大学生进校后符合条件的可申请转专业。在校本科生在完成大学一年级课程,进入二年级之前,符合以下条件之一者,可以申请转专业:(1)在某一学科方面确有特长的学生&#…

谁将掌控工业界的命脉?揭秘工业互联网巨头的秘密角逐!

大数据产业创新服务媒体 ——聚焦数据 改变商业 在这个快速发展的数字化时代,一个新兴的巨兽——工业互联网,正以惊人的速度崛起,它不仅预示着生产力的飞跃性进步,更是引领着整个工业世界走向一个前所未有的新时代。 然而&#x…

微信小程序中路由跳转的方式有哪些?区别?

面试官:说说微信小程序中路由跳转的方式有哪些?区别? 一、是什么 微信小程序拥有web网页和Application共同的特征,我们的页面都不是孤立存在的,而是通过和其他页面进行交互,来共同完成系统的功能 在微信小…

【FPGA/verilog -入门学习17】vivado 实现串口自发自收程序

1,需求 PC使用串口助手给FPGA板发送9600 波特率的数据,FPGA板接收到数据后,回复同样的数据给PC 2,需求分析 按模块可以划分为: rx接收模块,将输入的8位并行rx 数据转换成[7:0]rx_data 信号,当…

C++面试宝典第18题:旋转数组

题目 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。要求如下: (1)尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 (2)使用时间复杂度为O(n)和空间复杂度为O(1)的原地算法解决这个问题。 示例 1: 输入: [1, 2, 3, 4, 5, 6, 7] 和 k…

NR中如何判断是否需要measurement gap来做邻区的测量?

先看下NR中定义的测量。 intra-freq 测量和inter-freq测量可以分为以下几类: 1 SSB based intra-freq 测量:serving cell SSB的center freq与邻区 SSB的center freq 相同并且两个SSB 的SCS也相同。 2 SSB based inter-freq 测量:serving ce…

vue3中ref和reactive联系与区别以及如何选择

vue3中ref和reactive区别与联系 区别 1、ref既可定义基本数据类型,也可以定义引用数据类型,reactive只能定义应用数据类型 2、ref在js中取响应值需要使用 .value,而reactive则直接取用既可 3、ref定义的对象通过.value重新分配新对象时依旧…

自学Python,需要注意哪些?

为什么要学习Python? 在学习Python之前,你不要担心自己没基础或“脑子笨”,我始终认为,只要你想学并为之努力,就能学好,就能用Python去做很多事情。在这个喧嚣的时代,很多技术或概念会不断兴起…

php 函数声明与调用

在 PHP 中,函数声明和调用的语法如下: 函数声明的一般形式为: function functionName($param1, $param2, ...) {// 函数体return $result; // 可选 } 例如: function add($a, $b) {return $a $b; } 函数调用的一般形式为&am…

Elasticsearch 地理空间搜索 - 远超 OpenSearch

作者:来自 Elastic Nathan_Reese 2021 年,OpenSearch 和 OpenSearch Dashboards 开始作为 Elasticsearch 和 Kibana 的分支。 尽管 OpenSearch 和 OpenSearch Dashboards 具有相似的血统,但它们不提供相同的功能。 在分叉时,只能克…

纯化蛋白质树脂ES-4060_用于吸附蛋白质树脂

蛋白纯化树脂是一种固定在基质中的化学物质,具有选择性地与目标蛋白结合,并通过洗脱将其从混合物中分离出来。蛋白纯化树脂的工作原理主要分为三个步骤:吸附、洗脱和再生。 吸附 蛋白纯化树脂通过与目标蛋白之间的特定相互作用来吸附目标蛋白。这些相互…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷5

某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”,拟采用开源OpenStack搭建企业内部私有云平台,开源Kubernetes搭建云原生服务平台,选…

Kafka集群部署 (KRaft模式集群)

KRaft 模式是 Kafka 在 3.0 版本中引入的新模式。KRaft 模式使用了 Raft 共识算法来管理 Kafka 集群元数据。Raft 算法是一种分布式共识算法,具有高可用性、可扩展性和安全性等优势。 在 KRaft 模式下,Kafka 集群中的每个 Broker 都具有和 Zookeeper 类…

飞腾FT2000-4/D2000-8 VPX主板

产品特点 ①国产飞腾FT2000-4或D2000-8处理器 ,同一模块兼容两种处理器,可以根据性能需要选择 ②丰富的万兆以太网、千兆以太网、USB、SATA接口,可用作数据处理、存储、通信服务器 ③内部集成FPGA-V7协处理器,支持SRIO、LVDS等…

【LangChain学习之旅】—(5) 提示工程(上):用少样本FewShotTemplate和ExampleSelector创建应景文案

【LangChain学习之旅】—(5) 提示工程(上):用少样本FewShotTemplate和ExampleSelector创建应景文案 提示的结构LangChain 提示模板的类型使用 PromptTemplate使用 ChatPromptTemplateFewShot 的思想起源使用 FewShotPr…