首页 > 系统相关 >Linux keepalive

Linux keepalive

时间:2024-09-04 14:55:00浏览次数:9  
标签:script keepalived etc vrrp nginx Linux 日志 keepalive

安装

1,安装 

https://www.cnblogs.com/lfxx/p/17876757.html
https://www.cnblogs.com/wangchengshi/p/10912177.html

 

2,linux keepalived 日志,如何重定向Keepalived日志的输出路径

https://blog.csdn.net/weixin_39935571/article/details/116731816
https://www.cnblogs.com/mjli/p/13650074.html

 

 

3,配置

#1,如果 apt update 找不到就用  yum update

yum update

#2,安装 runKeepalived
yum  install keepalived

#3,安装完成后,您可以编辑Keepalived的配置文件来设置您的高可用性环境。配置文件通常位于/etc/keepalived/keepalived.conf。
#以下是一个简单的Keepalived配置示例,用于设置一个 虚拟IP地址:

#主机
global_defs {
   router_id vip_active  #主机 vip_active,备机 vip_standby,
}

##vrrp_script仅仅通过监控脚本返回的状态码来识别集群服务是否正常,如果返回状态码是0,那么就认为服务正常,反之亦然。
vrrp_script chk_nginx {
    script "/etc/keepalived/check_gateway.sh" # 服务探测,返回0说明服务是正常的
    interval 3                      # 每隔几秒探测一次
    weight 2                        # 权重
}

vrrp_instance haproxy {
    state MASTER          # 主机为MASTER,备机为BACKUP
    interface eth0            # 监测网络端口,用ipconfig查看
    virtual_router_id 51  # 主备机必须相同
    priority 100    # 主备机取不同的优先级,主机要大。主机100,备机99
    advert_int 1          # VRRP Multicast广播周期秒数
    authentication {
        auth_type PASS    # VRRP认证方式
        auth_pass 111111    # VRRP口令 主备机密码必须相同
    }
    ##track_script:调用vrrp_script定义的脚本去监控资源,定义在实例之内,调用事先定义的vrrp_script。实现主备切换,保证服务高可用
    track_script {
        chk_nginx
    }
    track_interface {
        eth0
    }
    virtual_ipaddress {     # VIP 漂移地址 即集群IP地址
       10.0.0.155
    }
}

###
###

#备机

global_defs {
   router_id vip_standby #主机 vip_active,备机 vip_standby,
}

##vrrp_script仅仅通过监控脚本返回的状态码来识别集群服务是否正常,如果返回状态码是0,那么就认为服务正常,反之亦然。
vrrp_script chk_nginx {
    script "/etc/keepalived/check_gateway.sh" # 服务探测,返回0说明服务是正常的
    interval 3                      # 每隔几秒探测一次
    weight 2                        # 权重
}

vrrp_instance haproxy {
    state BACKUP          # 主机为 MASTER,备机为 BACKUP
    interface eth0            # 监测网络端口,用ipconfig查看
    virtual_router_id 51  # 主备机必须相同
    priority 99    # 主备机取不同的优先级,主机要大。主机100,备机99
    advert_int 1          # VRRP Multicast广播周期秒数
    authentication {
        auth_type PASS    # VRRP认证方式
        auth_pass 111111    # VRRP口令 主备机密码必须相同
    }
    ##track_script:调用vrrp_script定义的脚本去监控资源,定义在实例之内,调用事先定义的vrrp_script。实现主备切换,保证服务高可用
    track_script {
        chk_nginx
    }
    track_interface {
        eth0
    }
    virtual_ipaddress {     # VIP 漂移地址 即集群IP地址
       10.0.0.155
    }
}

###


###check_gateway.sh

#!/bin/sh

#虚似ip地址,155
VIP=10.0.0.155
GATEWAY=10.0.0.253
#/sbin/arping -I eth0 -c 5 -s 10.0.0.155 10.0.0.253 >/dev/null
# ip 到路由是通的.
if /sbin/arping -I eth0 -c 5 -s $VIP $GATEWAY >/dev/null
then
    echo "ip is ok"  
    exit 0

else
    echo "ip is error error"  
    exit 1
fi

#这是nginx的判断.
#cnt=`ps -C nginx --no-header | wc -l`
# 0 进程id 不存在.
#if [ $cnt -eq 0 ];  
#then
#    echo "nginx ip is error"  
#    exit 1
#else
#    echo "nginx ip is ok"  
#    exit 0
#fi


###

###4,更新日志文件等级
#Keepalived默认所有的日志都是写入到/var/log/message下的,
由于message的日志太多了,而Keepalived的日志又很难分离出来,所以本文提供了一个调整Keepalived日志输出路径的方法
cat /etc/sysconfig/keepalived
vi /etc/sysconfig/keepalived
把KEEPALIVED_OPTIONS="-D" 修改为
KEEPALIVED_OPTIONS="-D -d -S 0"


(a)    vi /etc/sysconfig/keepalived

#KEEPALIVED_OPTIONS="-D"          //注释掉该行

KEEPALIVED_OPTIONS="-D -d -S 0"  //添加该行

(b)    vi /etc/rsyslog.conf

添加该行:
local0.*       /var/log/keepalived.log

(c)    重启日志服务:

systemctl restart rsyslog 或者 /etc/init.d/rsyslog restart

(d)    重启keepalive服务

service keepalived restart

(e)    查看日志

tail -f /var/log/keepalived.log

#设置syslog,修改/etc/syslog.conf,添加内容如下
vi /etc/rsyslog.conf

# keepalived -S 0
local0.*       /var/log/keepalived.log
systemctl restart rsyslog

###5,重启,添加 开机启动

systemctl restart keepalived
systemctl enable keepalived

#6,加入防火墙 iptables
sudo iptables -A INPUT -p vrrp -j ACCEPT
sudo iptables -A OUTPUT -p vrrp -j ACCEPT

 

标签:script,keepalived,etc,vrrp,nginx,Linux,日志,keepalive
From: https://www.cnblogs.com/bleachli/p/18396468

相关文章

  • Linux之curl详解
    curl是一个非常强大的命令行工具,用于发送和接收数据,支持多种协议,如HTTP、HTTPS、FTP等。它被广泛用于测试、调试Web接口以及自动化脚本中。下面是对curl的详细解释,包括其基本用法和一些高级特性。基本用法发送HTTPGET请求bashcurlhttp://example.com这个命令会......
  • 轻松上手 | 基于RockyLinux 9.4安装部署Zabbix 7.0
    作者乐维社区(forum.lwops.cn)许远2024年6月30日,CentOS停止更新和维护,不少企业用户开始寻求新的替代方案。RockyLinux,一个开源、社区拥有和管理、免费的企业Linux发行版,提供强大的生产级平台,可作为CentOS停止维护(改为滚动更新的Stream版)后,RHEL的下游Linux操作系统替代方案,并继......
  • Linux基础入门 --5 DAY
    移动和重命名文件    mv命令可以实现文件或目录的移动或改名    同一分区移动数据,速度快:数据位置未变化    不同分区移动数据,速度相对较慢,数据位置发生了变化    格式:mv[OPTION]...[-T] SOURCE DESTmv[OPTION]...SOURCE...DIRE......
  • Linux下makefile 编译项目
    1、规划makefile编写a、根目录下放三个文件:1、makefile:是咱们编译项目的入口脚本,编译项目从这里开始,起总体控制作用。2、config.mk:配置脚本,被makefile包含,单独分处理,为了应付一些可变的东西。3、common.mk:最核心的编译脚本,定义makefile编译规则,并且各个子目录中都用到这个来编译.......
  • Linux C++ 多线程高并发服务器实战项目一
    1、项目介绍1、按照包头+包体的格式收发数据包,解决粘包的问题2、非常完整的多线程高并发服务器3、根据收到数据包执行,不同的业务逻辑函数用到的技术:epoll高并发通讯技术,用的是水平触发【LT】水平触发模式通过线程池技术处理业务逻辑多线程、之间同步技术使用,互斥量、和条件变......
  • linux下graphviz离线安装指南及报错解决方式
    在联网的机器上下载Graphviz的源码包:网址:Graphviz下载地址将下载的安装包copy到linux下,解压后,在解压目录下执行安装tar-xvfgraphviz-12.1.0.tar.gzcdgraphviz-12.1.0./configure--prefix=/your_want_install_path/makemakeinstall注:我在执行make命令时报......
  • 在Linux系统中如何修改只读文件?
    在Linux操作系统中,每个文件都有自己的权限,包括读取、写入和执行权限。只读权限是指用户只能查看文件内容而不能修改或删除文件的权限,那么Linux只读文件如何修改?以下是具体方法。在Linux系统中,默认情况下某些文件和目录是只读的,这意味着您无法直接更改它们的内容。然而,可以......
  • nginx部署前端项目 (Linux版)
    目录一:nginx部署前端项目(Windows版)二:下载相关依赖三:下载安装nginx四:启动nginx五:部署前端项目一:nginx部署前端项目(Windows版)nginx部署前端项目(Windows版本)二:下载相关依赖yuminstall-ygcc-c++pcrepcre-develzlibzlib-developensslopen......
  • Linux 系统压测实战
    今天给伙伴们分享一下Linux系统压测实战,希望看了有所收获。我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相......
  • Linux 用户和组管理(详细)
    今天给伙伴们分享一下Linux用户和组管理,希望看了有所收获。我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相......