首页 > 系统相关 >Linux keepalive

Linux keepalive

时间:2023-12-05 11:14:23浏览次数:39  
标签:-- ip vrrp sh notify Linux dt keepalive

参考:https://zhuanlan.zhihu.com/p/566166393

1、关闭防火墙

 

2、安装keepalive

yum install -y keepalived

3、配置监测nginx是否存活

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
   router_id LVS_DEVEL
}
vrrp_script nginx_check {
  script "/tools/nginx_check.sh"
  interval 1
}
vrrp_instance VI_1 {
  state MASTER
  interface ens33
  virtual_router_id 52
  priority 100
  advert_int 1
  authentication {
    auth_type PASS
    auth_pass test
  }
  virtual_ipaddress {
    192.168.149.100
  }
  track_script {
    nginx_check
  }
  notify_master /tools/master.sh
  notify_backup /tools/backup.sh
  notify_fault /tools/fault.sh
  notify_stop /tools/stop.sh
}

配置解释


router_id  #指定节点路由ID,每个节点必须不一致,建议用自己的主机名,且实现相互的主机名A记录解析

vrrp_instance VI_1 #VRRP实例开始的标识 VI_1为实例名称 state #指定keepalived的角色,MASTER表示此主机是主服务器,BACKUP表示此主机是备服务器 interface #指定检测网络的网卡接口 virtual_router_id #虚拟路由标识,数字形式,同一个VRRP实例使用唯一的标识,即在同一个vrrp_instance下,master和backup必须一致 priority #节点优先级,数字越大表示节点的优先级越高,在一个VRRP实例下,MASTER的优先级必须要比BACKUP高,不然就会切换角色 advert_int #用于设定MASTER与BACKUP之间同步检查的时间间隔,单位为秒 auth_type PASS #预共享密钥认证,同一个虚拟路由器的keepalived节点必须一样 auth_pass #设置密钥 virtual_ipaddress #设置虚拟IP地址,可以设置多种形式:10.0.0.100不指定网卡,默认为eth0,注意:不指定/prefix,默认为/32;10.0.0.101/24 dev eth1 指定VIP的网卡;10.0.0.102/24 dev eth2 label eth2:1 #指定VIP的网卡label nopreempt # 设置为非抢占模式,同一实例下主备设置必须一样 preemtp_delay # 设置抢占模式的延时时间,单位为秒

脚本相关配置

vrrp_script 
#自定义资源监控脚本,vrrp实例根据脚本返回值进行下一步操作,脚本可被多个实例调用。
#track_script:调用vrrp_script定义的脚本去监控资源,定义在实例之内,调用事先定义的vrrp_script。实现主备切换,保证服务高可用
#vrrp_script仅仅通过监控脚本返回的状态码来识别集群服务是否正常,如果返回状态码是0,那么就认为服务正常,反之亦然。


notify_master #当前节点成为主节点时触发的脚本


notify_backup #当前节点转为备节点时触发的脚本


notify_fault #当前节点转为“失败”状态时触发的脚本


notify_stop #当停止VRRP时触发的脚本

4、编写脚本

cd /tools
cat master.sh
ip=$(hostname -I | awk '{print $1}')
dt=$(date+'%Y%m%d %H:%M:%S')
echo"$0--${ip}--${dt}">> /tmp/kp.log


cat backup.sh
ip=$(hostname -I | awk '{print $1}')
dt=$(date+'%Y%m%d %H:%M:%S')
echo"$0--${ip}--${dt}">> /tmp/kp.log


cat fault.sh
ip=$(ip addr|grep inet| grep 192.168 |awk '{print $2}')
dt=$(date +'%Y%m%d %H:%M:%S')
echo"$0--${ip}--${dt}">> /tmp/kp.log


cat stop.sh
ip=$(ip addr|grep inet| grep 192.168| awk '{print $2}')
dt=$(date +'%Y%m%d %H:%M:%S')
echo"$0--${ip}--${dt}">> /tmp/kp.log
cat nginx_check.sh
#!/bin/bash
result=`pidof nginx`
if [ ! -z "${result}" ];
then
  exit 0
else
  exit 1
fi

5、授权脚本,启动服务

cd /tools/ && chmod +x *.sh
systemctl restart keepalived.service

 

标签:--,ip,vrrp,sh,notify,Linux,dt,keepalive
From: https://www.cnblogs.com/lfxx/p/17876757.html

相关文章

  • linux的简单使用
    了解Linux的简单使用Linux的安装下载LinuxUbuntu版本和虚拟机VMware软件。我已经提前下载好了,下载好的文件分享出来bd这个是文件夹内的VMWare软件的注册码,安装完成的时候记得填上就能永久使用了MC60H-DWHD5-H80U9-6V85M-8280D打开这个软件,点击创建新虚拟机简单的步骤就......
  • 笔记本安装linux
    下载桌面版Ubuntu镜像服务器版Ubuntu镜像使用BalenaEtcher制作系统安装盘(1)官方网站下载:点我下载(2)下载完毕软件之后,打开软件,选择我们下载好的系统镜像,以及要制作成安装盘的U盘,点击“制作”按钮,稍等片刻,安装盘就制作完成啦。(3)进行操作系统安装(4)将引导盘插到要安......
  • Linux FastDFS 更换服务器数据迁移的方法
    FastDFS是一个开源的高性能分布式文件系统,特别适合于大规模数据和访问量场景。使用FastDFS进行文件存储时,某些情况下,我们可能需要更换服务器,但服务器已经使用一段时间,这时需要将原服务上存储的文件数据进行迁移。本文主要介绍FastDFS中存储的文件进行数据迁移的方法。FastDFS......
  • linux文件夹
    摘抄:https://zhuanlan.zhihu.com/p/78805412linux下各文件夹的结构说明及用途介绍:/bin:二进制可执行命令。/dev:设备特殊文件。/etc:系统管理和配置文件。/etc/rc.d:启动的配置文件和脚本。/home:用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示。/lib:标准......
  • Linux发布ASPNetCore 项目 IIS 部署
    Linux系统发布ASP.ENTCore项目Linux系统-CentOS7---基于虚拟机来安装IP:192.168.1.97安装教程链接:https://pan.baidu.com/s/1gI93YwptrWdPKHBh5fLNqQ?pwd=6666提取码:6666我们的ASP.ENTCore应用程序是需要跑在.NETCore环境上面的。所以我们就需要先安装.NETCore......
  • Linux下编译安装python
    1安装依赖yuminstallgccpatchlibffi-develpython-develzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel-y2下载源码到linuxyuminstall-ywgetwgethttps://www.python.o......
  • linux python virtualenv虚拟环境安装
    pythonvirtualenv虚拟环境安装pip3installvirtualenvpip3installvirtualenvwrapper创建环境存放目录mkdir$HOME/.virtualenvs查看已安装的virtualenvfind/-namevirtualenv查看已安装的virtualenvwrapper.shfind/-namevirtualenvwrapper.sh查看......
  • Linux后台跑程序的方法总结
    当使用ssh进行远程代码运行时,控制端电脑通常不能出现任何意外。然而,运行深度学习程序通常需要数小时或数天的时间,这意味着我们的IDE不能关闭。一旦出现非人为因素(如断电、断网或IDE卡死关闭),远程程序也会中断。因此,将程序灵活地运行在服务器上,不受控制端因素的影响至关重要。第一......
  • Linux 文件属性与权限
    1、使用ls-al可以查看文件的属性和权限,包括文件所属的用户、用户组、修改日期。 d代表的是文件夹的意思:若为:-代表的是文件l代表的是链接文件b代表的设备文件中可以提供存储的周边设备(可按块随机读写的设备)c则表示的是设备文件里面的串行端口设备,例......
  • Linux权限维持1
    本次学习Linux SSH软连接后面的利用实验原理sshd服务配置启用PAM认证,PAM配置文件中控制标志为authsufficientpam_rootok.so时,只要pam_rootok模块检测uid为0(root)即可直接登录。 所以利用起来有2个条件:一是sshd服务启用PAM认证机制,在/etc/ssh/sshd_config文件中,设置UsePAM......