当前位置: 首页 > news >正文

Linux:keepalived + ipvsadm

介绍

Linux:keepalived 双热备份(基础备份web)_鲍海超-GNUBHCkalitarro的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/w14768855/article/details/132815057?spm=1001.2014.3001.5501


环境

 一台 centos7    keepalived    ipvsadm    (主服务器) 192.168.254.1

 一台 centos7    keepalived    ipvsadm    (备份服务器)  192.168.254.2

漂移ip  :  192.168.254.66

 一台 centos7    web   (web1)  192.168.254.3

 一台 centos7    web   (web2)    192.168.254.3


 在主服务器上的配置

yum -y install keepalived ipvsadm
systemctl enable keepalived.service 
mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vim /etc/keepalived/keepalived.conf写入bal_defs {router_id tarro1
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 1priority 100advert_int 1authentication {auth_type PASSauth_pass 123123}virtual_ipaddress {192.168.254.66}
}virtual_server 192.168.254.66 80 {delay_loop 15lb_algo rrlb_kind DRprotocol TCPreal_server 192.168.254.3 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}real_server 192.168.254.4 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}
}

 

systemctl restart keepalived
modprobe ip_vs
echo "modprobe ip_vs" >>/etc/rc.local

备份服务器上的配置

yum -y install ipvsadm keepalived
systemctl enable keepalived.service 
mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vim /etc/keepalived/keepalived.conf写入bal_defs {router_id tarro2
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 1priority 90advert_int 1authentication {auth_type PASSauth_pass 123123}virtual_ipaddress {192.168.254.66}
}virtual_server 192.168.254.66 80 {delay_loop 15lb_algo rrlb_kind DR protocol TCPreal_server 192.168.254.3 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}real_server 192.168.254.4 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4}}
}
modprobe ip_vs
echo "modprobe ip_vs" >>/etc/rc.local
systemctl restart keepalived

web1服务器配置

yum -y install httpd
systemctl enable httpd
systemctl start httpd
echo "<h1>192.168.254.3" > /var/www/html/index.html

 

vim /etc/sysconfig/network-scripts/ifcfg-lo:0写入DEVICE=lo:0
IPADDR=192.168.254.66
NETMASK=255.255.255.255
ONBOOT=yes
systemctl restart network

 

echo "route add -host 192.168.254.66 dev lo:0" >>/etc/rc.local
route add -host 192.168.254.66 dev lo:0
vim /etc/sysctl.conf末尾插入net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
sysctl -p

web2服务器配置

yum -y install httpd
systemctl enable httpd
systemctl start httpd
echo "<h1>192.168.254.4" > /var/www/html/index.html

vim /etc/sysconfig/network-scripts/ifcfg-lo:0写入DEVICE=lo:0
IPADDR=192.168.254.66
NETMASK=255.255.255.255
ONBOOT=yes
systemctl restart network
echo "route add -host 192.168.254.66 dev lo:0" >>/etc/rc.local
route add -host 192.168.254.66 dev lo:0
vim /etc/sysctl.conf末尾插入net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
sysctl -p

测试效果

 

现在主服务器上有漂移地址和虚拟主机列表

 备份主机上也有虚拟列表 但是没有66的漂移地址就对了,因为现在我们的主服务器还在正常工作

现在访问192.168.254.66 就可以被lvs服务器把流量分到两个web服务器上 

我们把254.4关闭一下

 

一下就到3了  !!! 这里我只是在先效果,实际的环境lvs并不是备份,而是负载均衡,我们的lvs主服务器会把流量分到两个web站点上,然而两个web站点在实际中界面内容是一样的,这里只是为了看效果

现在可以看到上面lvs效果已经成功了

现在去测试keepalived效果

我们把主服务器关机

在主服务器关机的瞬间,我们的备份服务器立马会有漂移地址,我们再去访问254.66 

 

依然不影响访问 

我们再开启主服务器

漂移地址立马就回到主服务器了,测试成功 

相关文章:

Linux:keepalived + ipvsadm

介绍 Linux&#xff1a;keepalived 双热备份&#xff08;基础备份web&#xff09;_鲍海超-GNUBHCkalitarro的博客-CSDN博客https://blog.csdn.net/w14768855/article/details/132815057?spm1001.2014.3001.5501 环境 一台 centos7 keepalived ipvsadm &#xff08;主…...

Linux基础命令(示例代码 + 解释)

查看目录下文件 ls [-a -l -h] [路径] -a&#xff08;全部&#xff09; -l&#xff08;细节&#xff09; -h&#xff08;大小&#xff09; ls ls / ls -a ls -l ls -h ls -alh ls -l -h -a ls -lah /切换目录 cd [路径] change di…...

巨人互动|Google企业户Google“自动采纳建议”应该如何使用

在数字化时代&#xff0c;Google已经成为了人们获取信息的主要渠道之一。而在使用Google搜索时&#xff0c;你可能会发现下拉框中自动提供的搜索建议。这些搜索建议是基于用户搜索行为和相关数据进行推测&#xff0c;旨在使用户更快速地找到所需信息。而Google还提供了一项名为…...

元宇宙全球市场规模到2030年将达9805亿美元!

元宇宙是一种新兴的概念&#xff0c;它指的是一个虚拟的世界&#xff0c;由人工智能、虚拟现实、区块链等技术构建而成。元宇宙的起源可以追溯到上世纪90年代的虚拟世界“第二人生”&#xff0c;但直到近年来&#xff0c;随着技术的不断发展&#xff0c;它才逐渐成为了人们关注…...

《向量数据库指南》——向量数据库内核面临的技术挑战及应对措施

最近一年&#xff0c;以 ChatGPT、LLaMA 为代表的大语言模型的兴起&#xff0c;将向量数据库的发展推向了新的高度。 向量数据库是一种在机器学习和人工智能领域日益流行的新型数据库&#xff0c;它能够帮助支持基于神经网络而不是关键字的新型搜索引擎。向量数据库不同于传统的…...

API对接中需要注意的事项

API对接是一个复杂的过程&#xff0c;需要对接双方准确地理解和遵循一系列步骤。以下是一些在API对接中需要注意的事项&#xff0c;以及每个步骤的详细解释和可能遇到的问题。 一、API定义和规划 明确API需求&#xff1a;在开始对接前&#xff0c;必须明确API的具体需求和使用场…...

linux 6中4T磁盘识别并分区格式化

存储端划分4T的LUN后&#xff0c;主机端操作如下 1、主机识别&#xff0c;本例中hba卡的端口是host11和host12 [rootdb1 ~]# echo "- - -" > /sys/class/scsi_host/host11/scan [rootdb1 ~]# echo "- - -" > /sys/class/scsi_host/host12/scan …...

WebServer 解析HTTP 响应报文

一、基础API部分&#xff0c;介绍stat、mmap、iovec、writev、va_list 1.1 stat​ 作用&#xff1a;获取文件信息 #include <sys/types.h> #include <sys/stat.h> #include <unistd.h>// 获取文件属性&#xff0c;存储在statbuf中 int stat(const char *…...

开利网络参与“大湾区独角兽创投大赛”进行蚓链数字生态项目路演

9月10日&#xff0c;广州市开利网络科技有限公司受邀参与位于广州国际医药港的“大湾区独角兽创投大赛”&#xff0c;进行“蚓链——企业数字化生态”项目的初赛路演。“大湾区独角兽创投大赛”是由中国企业新闻观察网指导&#xff0c;由中国商协会服务工作委员会、广东蚁米孵化…...

前端的8种跨域解决方案

在前端开发中&#xff0c;常见的跨域解决方案有以下8种&#xff1a; JSONP&#xff08;JSON with Padding&#xff09;&#xff1a;利用<script>标签的跨域特性&#xff0c;通过动态创建<script>标签&#xff0c;请求一个带有回调函数的接口&#xff0c;服务器返回…...

Linux知识点 -- 网络编程套接字

Linux知识点 – 网络编程套接字 文章目录 Linux知识点 -- 网络编程套接字一、预备知识1.认识端口号2.套接字3.TCP协议与UDP协议4.网络字节序 二、socket编程接口1.socket常见API2.sockaddr结构 三、UDP套接字编程1.直接打印客户端信息2.执行客户端发来的指令3.多用户聊天4.在wi…...

逆向大漠插件/用VB6.0实现后台鼠标移动和后台鼠标左键点击

自动化设计软件&#xff0c;在一款做门的设计软件CypCut6.3 上实现了自动化勾选了 复选框。一切都是基于后台的。 Private Const GW_CHILD 5 Private Const GW_HWNDFIRST 0 Private Const GW_HWNDNEXT 2 Public Declare Function FindWindow Lib "user32" Alias &…...

重庆OV证书和EV证书有什么区别

SSL数字证书按照保护的域名数量和类型可以分为单域名SSL证书、多域名SSL证书和通配符SSL证书三种&#xff0c;按照验证方式可以将SSL数字证书分为DV基础型SSL证书、OV企业型SSL证书和EV增强型SSL证书三种。今天就随SSL盾小编了解OV证书和EV证书的区别。 1.OV企业型SSL证书由CA…...

uni-app(微信小程序)图片旋转放缩,文字绘制、海报绘制

总结一下&#xff1a; 要进行海报绘制离不开canvas&#xff0c;我们是先进行图片&#xff0c;文字的拖拽、旋转等操作 最后再对canvas进行绘制&#xff0c;完成海报绘制。 背景区域设置为 position: relative&#xff0c;方便图片在当前区域中拖动等处理。添加图片&#xff0…...

Spring Boot 2.x基础教程

Spring Boot 2.x基础教程 一、简介1. Spring Boot 2.x 简介2. Spring Boot 2.x 特点3. Spring Boot 2.x 与 Spring Framework 的关系 二、Spring Boot 2.x 环境搭建1. JDK环境安装与配置2. Maven环境安装与配置3. Spring Boot 2.x 项目创建 三、核心功能1. 配置文件及其加载顺序…...

汽车红外夜视系统行业发展总体概况

汽车红外夜视系统是一种技术&#xff0c;旨在帮助驾驶员在夜间或低光条件下提供更好的视觉能力。它利用红外光谱的特性来检测和显示在正常光线下难以察觉的热能辐射。这使驾驶员能够在夜间或恶劣天气条件下更好地识别和辨别道路上的物体、行人、动物或其他车辆。 汽车红外夜视…...

Java 和 PHP GC 的差异和差异出现的原因

JAVA 的 GC 处理 判断草死掉的两种方式&#xff1a;引用计数和可达性分析 可达性分析对 JAVA 比较好用的原因是 JAVA遵守这面向对象的严格要求&#xff0c;每个变量都被对象包裹&#xff0c;所以每个变量都能通过对象来进行遍历找到&#xff0c;最终判断他们的是否被引用&…...

loguru logger使用

一、基本使用 ①标准使用 from loguru import logger# 在标准输出里面输出一行debug日志 logger.debug("Thats dubug")②设置输出格式 from loguru import loggerlogger.remove(0) # 先删除格式 logger.add(sink./logger.log, format"{time: %Y-%m-%d %H:%M…...

vue-自适应布局-postcss-pxtorem

原理&#xff1a; 比如一个375px设计稿 其中一个320px宽度的元素 如何实现自适应布局呢&#xff1f; 其实可以这样理解&#xff1a; 我们先计算出375屏幕时候320px的大小&#xff0c;在屏幕变化时候&#xff0c;这些元素都会等比例缩放 比如屏幕从375 变为750px时候&#xff0…...

9.12|day 5|day 44 |完全背包| 518. 零钱兑换 II | 377. 组合总和 Ⅳ

● 完全背包 主要是看清01背包和完全背包的区别 //01背包 for(int i 0;i<weight.size();i){ for(int j bagWeight;j>weight[i];j--){dp[j] Math.max(dp[j],dp[j-weight[i]]value[i]); } } //完全背包 for(int i 0;i<weight.size();i){for(int j weight[i];j<…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...