keepalived安装使用

keeepalived介绍

Keepalived的作用是检测服务器的状态, 如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器

keepalived基于VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议,解决静态网关单点故障风险,它能够保证当个别节点宕机时,整个网络可以不间断地运行协议的软件实现,原生设计目的为了高可用 ipvs IP虚拟服务器(IP Virtual Server,简写为IPVS)服务,也就是产生虚拟ip,并且可以解决单点故障

官网:https://www.keepalived.org/

VRRP技术 

工作方式

  • 抢占模式:在抢占模式下,如果Backup设备的优先级比当前Master设备的优先级高,则主动将自己切换成Master。
  • 非抢占模式:在非抢占模式下,只要Master设备没有出现故障,Backup设备即使随后被配置了更高的优先级也不会成为Master设备。

安全认证 

  • 无认证:不进行任何VRRP报文的合法性认证,不提供安全性保障
  • 简单字符认证:预共享密钥,在一个有可能受到安全威胁的网络中,可以将认证方式设置为简单字符认证
  • MD5认证:在一个非常不安全的网络中,可以将认证方式设置为MD5认证

keepalived架构

  • vrrp stack:VIP消息通告
  • checkers:监测real server
  • system call:实现 vrrp 协议状态转换时调用脚本的功能
  • SMTP:邮件组件
  • IPVS wrapper:生成IPVS规则
  • Netlink Reflector:网络接口
  • WatchDog:监控进程

keepalived安装

上传下载好的安装包

https://www.keepalived.org/download.html

 解压压缩包并进入目录

tar -zxvf keepalived-2.1.5.tar.gz

进行配置命令 

./configure --prefix=/usr/local/keepalived

报错openssl问题 

yum install openssl-devel 

可采用yum install openssl-devel 命令安装openssl依赖,如果是离线无网安装,需要下载openssl依赖并执行安装rpm文件。 

rpm -Uvh *.rpm --nodeps --force

再次执行配置命令./configure --prefix=/usr/local/keepalived即可 

 编译安装

make && make install

添加service启动方式 

cp /usr/local/sbin/keepalived /etc/init.d/keepalived 

复制配置文件到/etc/keepalived/keepalived.conf

别忘记给keepalived.conf授权,必须是644,777不好用,这个鬼东西

chmod 644 /etc/keepalived/keepalived.conf

启动keepalived

systemctl start keepalived

如果启动报错,查看日志

journalctl -xe

根据报错调整,一般是配置文件找不到和配置文件无法执行的错误,下面是启动成功的 

 

keepalived配置文件

#根据以下信息对自己的配置文件进行修改
global_defs {# 路由id:当前安装keepalived的节点主机标识符,保证全局唯一router_id keep_104
}
​
vrrp_instance VI_1 {# 表示状态是MASTER主机还是备用机BACKUPstate MASTER# 该实例绑定的网卡名称interface ens34   #我的100网段对应的是ens34# 保证主备节点一致即可virtual_router_id 51# 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选priority 100# 主备之间同步检查时间间隔,单位秒advert_int 2# 认证权限密码,防止非法节点进入authentication {auth_type PASSauth_pass 1111}# 虚拟出来的ip,可以有多个(vip)virtual_ipaddress {192.168.100.16   #这里我弄的100.16}
}

其中priority是比较重要的部分,keepalived默认配置比较多,需要精简一下到这样就可以啦,至于发送邮件有需要的可以选择配置  

定义执行脚本配置 

如果需要定制执行脚本,监听某一服务状态,需要增加如下配置

# 定义chk_nginx脚本,脚本执行间隔10秒,权重-10,检测nginx服务是否在运行。有很多方式,比如进程,用脚本检测等等
vrrp_script chk_nginx {  #这里通过脚本监测    script "脚本位置xxnginx_.sh"   #脚本执行间隔,每2s检测一次interval 2    #脚本结果导致的优先级变更,检测失败(脚本返回非0)则优先级 -5	weight -10     #检测连续2次失败才算确定是真失败。会用weight减少优先级(1-255之间)	fall 2     #检测1次成功就算成功。但不修改优先级	rise 1                    
}

检测nginx脚本 

count=`ps -C nginx --no-header |wc -l` if [ "${count}" -eq 0 ];then /usr/local/nginx/sbin/nginxsleep 5count=`ps -C nginx --no-header |wc -l` if [ "${count}" -eq 0 ] thensystemctl stop keepalived fi 
fi

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

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

相关文章

pico+unity3d搭建环境

分别注册pico开发者平台和unity的账号密码 下载pico的sdk和unity开发软件 创建unity3d核心项目 在项目中找到窗口,包管理器,添加磁盘的包,选中sdk 安装后就可以使用pico的操作和演示; 剩下的看文档

C语言——基础框架、变量、运算符

基础框架&#xff1a; #include<stdio.h> //编译预处理指令int main() //程序的入口主函数main { //程序&#xff08;函数、功能&#xff09;结束标志return 0; //程序退出前返回给调用者&#xff08;操作系统&#xff09;的值…

不同型号的GD32 MCU如何区分?

大家是否碰到过以下应用场景&#xff1a;同一套软件代码希望跑在不同型号的GD32 MCU中&#xff0c;但有些地方需要根据MCU型号进行调整&#xff1f;或者上位机或其他MCU与GD32 MCU通信时需要知道对应的MCU型号是哪个&#xff1f; 此时&#xff0c;我们就需要了解如何获取以及区…

JANDEL探针四探头RM3-AR英国健德尔四探针手测

JANDEL探针四探头RM3-AR英国健德尔四探针手测

LabVIEW远程实验数据采集系统

随着科学研究的不断发展&#xff0c;实验室对远程数据采集和监控的需求越来越高。传统的数据采集方式往往需要实验人员亲临现场&#xff0c;费时费力&#xff0c;且数据实时性较差。为了解决这些问题&#xff0c;基于LabVIEW开发了一套远程实验数据采集系统&#xff0c;实现对实…

ArcGIS识别不GDB文件地理数据库显示为空?

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 我们经常会碰到拷贝的GDB文件ArcGIS无法识别&#xff0c;软件只是把他当做普通的文件夹去看待&am…

【目录】全博文、专栏大纲

首先要和大家说一下&#xff0c;博主的文章并不是想到哪里写到哪里&#xff0c;而是以整个大后端为主题&#xff0c;成体系的在写专栏&#xff0c;从和后端紧相关的计算机核心课程开始、到JAVA SE、JAVA EE、到数据库、MQ等各类中间件、再到业务场景、性能优化。当然也会涉及一…

Java小白入门到实战应用教程-开发环境搭建-JDK安装详细教程

Java小白入门到实战应用教程-JDK安装详细教程 writer:eleven 开发环境搭建 上节内容补充 在带领大家搭建开发环境前&#xff0c;先来了解一些java领域的名词。 Java根据应用领域区别可分为三个版本&#xff1a; JavaSE&#xff1a;是Java的标准版&#xff0c;提供了Java的…

【Windows】XMedia Recode(免费的专业视频格式转换软件)及同类型软件介绍

今天给大家介绍的这款软件叫XMedia Recode&#xff0c;这是一款免费的专业视频格式转换软件。有需要的朋友可以了解一下哦。 软件介绍 XMedia Recode 是一款功能强大的免费视频转换和音频转换软件&#xff0c;它支持多种格式的视频和音频文件转换&#xff0c;以及简单的编辑…

GlobalSign证书介绍以及申请流程

在当今高度互联的世界中&#xff0c;网络安全与数据保护的重要性日益凸显&#xff0c;而数字证书作为保障网络通信安全的关键技术&#xff0c;已成为构建数字信任的基石。GlobalSign&#xff0c;作为全球数字证书行业的先驱和领导者&#xff0c;自成立以来便致力于为全球企业和…

【卡尔曼滤波器】DR_CAN :1_递归算法_做估计 学习笔记

DR_CAN : 1_递归算法_Recursive Processing 学习笔记 DR_CAN 大神卡尔曼滤波算法(转自BiliBili DR_CAN 全网最好的卡尔曼滤波器视频教程,笔记截图)B站视频地址卡尔曼滤波原理1_递归算法_Recursive Processing 取平均 做估计 前k-1次的平均值

无线速度传感器

对高中物理实验中的速度测量方法进行改进&#xff0c;利用安装在小车上的无线光电门来测量小车运动过程中的速度&#xff0c;即满足了精度的要求&#xff0c;又可以研究物体的运动过程。无线光电门和数据接收器间采用蓝牙无线传输的方式&#xff0c;电脑端的软件使用Flash来制作…

LT8644EX 国产芯片 低功耗 数字交叉点开关 用于光纤网络交换 数字视频 数据存储网络

2.一般说明 LT8644EX是一个16x16数字交叉点交换机:具有16个差分CML兼容输入端和16个差动CML输出端。该LT8644EX是优化非归零(NRZ)与高达每端口6 Gbps的数据速率信令。每个端口提供可编程水平的输入均衡和可编程输出摆幅。tell 18171547226,该LT8644EX支持通过串行控制接口的独立…

信息安全等级保护测评

等保测评&#xff0c;即信息安全等级保护测评&#xff0c;是指对信息系统按照国家标准要求进行安全评估和等级划分的过程。以下是关于等保测评的详细解析&#xff1a; 一、等保测评的定义与目的 等保测评旨在评估信息系统的安全性&#xff0c;并根据评估结果给予相应的安全等级…

前端返回pdf时不显示内容,如何解决?

&#x1f3c6;本文收录于《CSDN问答解答》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

Idea合并Git分支信息

#git 的笔记 ##本篇文章是通过Idea 实现git 命令操作的代码的上传与合并。 1.合并分支 点击 Git 选择Merge 这里选择合并远程的分支

简介Docker以及K8s

什么是Docker Docker 属于 Linux 容器的一种封装&#xff0c;提供简单易用的容器使用接口以及操作系统级别的虚拟化。 更为直白的叙述就是&#xff0c;Docker可以将程序和环境&#xff08;依赖库配置操作系统&#xff09;打包并运行的工具软件。 基础镜像 总所周知&#xf…

鸿蒙语言基础类库:【@ohos.worker (启动一个Worker)】

启动一个Worker 说明&#xff1a; 本模块首批接口从API version 7开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 Work…

“闭门造车”之多模态思路浅谈:自回归学习与生成

©PaperWeekly 原创 作者 | 苏剑林 单位 | 科学空间 研究方向 | NLP、神经网络 这篇文章我们继续来闭门造车&#xff0c;分享一下笔者最近对多模态学习的一些新理解。 在前文《“闭门造车”之多模态思路浅谈&#xff1a;无损》中&#xff0c;我们强调了无损输入对于理想的…

出现 failed to remove xxxx: Invalid argument 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法 前言 这好像是一个Git的一个Bug&#xff0c;对应有个下下策的解决方式 1. 问题所示 Git提交的时候出现如下问题 Git warning:failed to remove debug.log:invalid argumentgit clean -f -1 --F&#xff1a;\xxx failed to rem…