我的编程空间,编程开发者的网络收藏夹
学习永远不晚

keepalived 1.3.5的常见配置是什么以及常见问题的解决方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

keepalived 1.3.5的常见配置是什么以及常见问题的解决方法

keepalived 1.3.5的常见配置是什么以及常见问题的解决方法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1. keepalived配置及说明

1.1 安装

 [root@mysql01 keepalived] tar -zxvf keepalived-1.3.5.tar.gz

 [root@mysql01 keepalived] cd keepalived-1.3.5/

 [root@mysql01 keepalived] ./configure --help|grep prefix

 [root@mysql01 keepalived] ./configure --prefix=/usr/local/keepalived

 [root@mysql01 keepalived] make && make install

 [root@mysql01 keepalived] cd /usr/local/keepalived

 [root@mysql02 keepalived]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

 [root@mysql01 keepalived]# cp etc/sysconfig/keepalived /etc/sysconfig/

如果是Linux 6还需要拷贝下面文件:

 [root@mysql01 keepalived] cp /tmp/keepalived-1.3.2/keepalived/etc/init.d/keepalived /etc/rc.d/init.d/

1.2 修改keepalived日志输出

vi /usr/lib/systemd/system/keepalived.service

# 确认下面两个变量指向正确的可执行keepalived

EnvironmentFile

ExecStart

vi /etc/sysconfig/keepalived

修改keepalived日志输出设备为0号设备,并修改系统日志程序0号输出设备输出文件,以及添加dump配置文件数据。

vi /etc/keepalived/keepalived.conf

KEEPALIVED_OPTIONS="-D -d -S 0"

# 修改keepalived使用0号日志输出设备,并单独输出日志到指定文件。

vi /etc/rsyslog.conf

local0.*                /usr/local/keepalived/log/keepalived.log

1.3 修改keepalived配置文件

# 编辑keepalived配置文件,配置vip以及服务监测,通知脚本等模块。

vi /etc/keepalived/keepalived.conf

vrrp_script check_run {

    script "/etc/keepalived/scripts/keepalived_check_mysql.sh"

    interval 30

    weight 0

}

vrrp_instance VI_1 {

    state BACKUP

    nopreempt

    interface team0           # 网卡,根据实际情况填写

    virtual_router_id 88        # 主备机器id必须相同,不同vrrp_instance需要不同。

    priority 101

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.204.88     # 虚拟IP

    }

    track_script {

        check_run

    }

         notify_master /etc/keepalived/scripts/notify_master.sh

  }

1.4 keepalived.conf说明

l  Notify  scripts

that  are  run when a vrrp instance or vrrp group

changes state, or a virtual server quorum changes between up and down.

# global script_user and script_group to MASTER transition

notify_master /path/to_master.sh [username [groupname]]

l  vrrp tracking scripts

that will cause vrrp instances to go down  it

they exit a non-zero exist status, or if a weight is specified will add

or subtract the weight to/from the priority of that vrrp instance.

l  nopreempt

A higher priority VRRP instance will normally preempt a lower priority instance

when it comes online.  "nopreempt" stops the higher priority machine taking

over the master role, and allows the lower priority machine to remain as

master.

NOTE: For this to work, the initial state must not be MASTER.

1.5 启动keepalived

启用keepalived服务,启动keepalived服务:

systemctl enable keepalived

systemctl start keepalived

2. 问题

2.1 not a regular non-executable file

l  现象

[root@mysql01 ~]# systemctl status keepalived.service
May  7 17:12:51 mysql01 Keepalived[5467]: Configuration file '/etc/keepalived/keepalived.conf' is not a regular non-executable file

l  原因

/etc/keepalived/keepalived.conf文件权限不是664。

l  解决

修改/etc/keepalived/keepalived.conf权限为664即可。

2.2 Cannot find an IP address to use for interface

l  现象

[root@mysql01 ~]# systemctl status keepalived.service
May 07 17:41:14 mysql01 Keepalived_vrrp[9448]: (VI_1): Cannot find an IP address to use for interface enp0s9

l  原因

/etc/keepalived/keepalived.conf配置文件中interface模块,网卡上没有IP地址,

l  解决

可以通过添加临时IP来解决,或者在keepalived版本2.0.5之后添加dynamic_interfaces

[root@mysql01 ~]# ifconfig eth2 172.16.20.101/16 up
eth2配置IP,因为如果接口没有IP,keepalived将以FAULT状态启动,keepalived 2.0.5以上版本,只需将dynamic_interfaces添加到global_defs即可

2.3 NetworkManager导致keepalived无法启动

l  现象

[root@mysql01 ~]# tail -f /var/log/messages

May  7 11:07:15 mysql01 Keepalived[8755]: daemon is already running

May  7 11:07:15 mysql01 systemd: PID file /usr/local/var/run/keepalived.pid not readable (yet?) after start.

May  7 11:08:45 mysql01 systemd: keepalived.service start operation timed out. Terminating.

May  7 11:08:45 mysql01 systemd: Failed to start LVS and VRRP High Availability Monitor.

May  7 11:08:45 mysql01 systemd: Unit keepalived.service entered failed state.

May  7 11:08:45 mysql01 systemd: keepalived.service failed.

l  原因

NetworkManager自动管理网络,keepalived使用虚拟IP无法绑定到指定接口,日志中报错又无法定位原因,提前关闭NetworkManager,手工设置网卡ip地址即可。

l  解决

[root@mysql01 ~]# systemctl disable NetworkManager

[root@mysql01 ~]# systemctl stop NetworkManager

2.4 VRRP_Instance(VI_1) Now in FAULT state

l  现象

[mysql@mysql01 65mysql]$ sudo systemctl status keepalived

May 07 19:06:08 mysql01 Keepalived_vrrp[16144]: VRRP_Instance(VI_1) Entering BACKUP STATE

May 07 19:06:08 mysql01 Keepalived_vrrp[16144]: VRRP sockpool: [ifindex(4), proto(112), unicast(0), fd(10,11)]

May 07 19:06:12 mysql01 Keepalived_vrrp[16144]: VRRP_Instance(VI_1) Now in FAULT state

l  原因

/etc/keepalived/keepalived.conf配置文件vrrp_script模块脚本未检查,返回总是非0错误值,导致keepalived状态一直无法完成初始化,无法绑定vip。

l  解决

修正脚本错误,重启keepalived。

2.5 failed because a timeout was exceeded

●现象

[mysql@mysql02 keepalived]$ sudo systemctl status keepalived

keepalived.service - LVS and VRRP High Availability Monitor

   Loaded: loaded (/usr/lib/systemd/system/keepalived.service; enabled; vendor preset: disabled)

   Active: failed (Result: timeout) since Thu 2020-05-07 20:44:08 CST; 14min ago

  Process: 31073 ExecStart=/usr/local/keepalived/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)

    Tasks: 6

   CGroup: /system.slice/keepalived.service

           ├─ 2687 /usr/local/keepalived/sbin/keepalived -D -d -S 0

           ├─ 2688 /bin/bash /etc/keepalived/scripts/keepalived_check_mysql.sh

           ├─ 2815 sleep 2

           ├─25921 /usr/local/keepalived/sbin/keepalived -D -d -S 0

           ├─25922 /usr/local/keepalived/sbin/keepalived -D -d -S 0

           └─25923 /usr/local/keepalived/sbin/keepalived -D -d -S 0

May 07 20:42:38 mysql02 systemd[1]: Starting LVS and VRRP High Availability Monitor...

May 07 20:42:38 mysql02 systemd[1]: PID file /var/run/keepalived.pid not readable (yet?) after start.

May 07 20:44:08 mysql02 systemd[1]: keepalived.service start operation timed out. Terminating.

May 07 20:44:08 mysql02 systemd[1]: Failed to start LVS and VRRP High Availability Monitor.

May 07 20:44:08 mysql02 systemd[1]: Unit keepalived.service entered failed state.

May 07 20:44:08 mysql02 systemd[1]: keepalived.service failed.

[mysql@mysql02 keepalived]$ sudo systemctl start keepalived

Job for keepalived.service failed because a timeout was exceeded. See "systemctl status keepalived.service" and "journalctl -xe" for details.

l  原因

原来keepalived程序运行不正常,无法继续,systemctl restart keepalived已经无法正确重启keepalived。

l  解决

[mysql@mysql02 ~]$ ps -ef|grep keepalived

kill掉所有keepalived进程,重启keepalived

[mysql@mysql02 ~]$ sudo systemctl restart keepalived.service

[mysql@mysql02 ~]$ sudo systemctl status keepalived.service

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

keepalived 1.3.5的常见配置是什么以及常见问题的解决方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

keepalived 1.3.5的常见配置是什么以及常见问题的解决方法

keepalived 1.3.5的常见配置是什么以及常见问题的解决方法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. keepalived配置及说明1.1
2023-06-05

常见CentOS配置失败的问题及解决方法

这篇文章主要讲解了“常见CentOS配置失败的问题及解决方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“常见CentOS配置失败的问题及解决方法”吧!当CentOS配置失败时,也许你对失败
2023-06-16

Nacos的常见问题及解决方法

本篇内容主要讲解“Nacos的常见问题及解决方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Nacos的常见问题及解决方法”吧!如何依赖最新的 Nacos 客户端?很多用户都是通过 Sprin
2023-06-02

Linux运维常见问题及解决方法是什么

Linux运维常见问题及解决方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。作为linux运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故
2023-06-16

DKhadoop安装与配置常见问题及解决方法是怎么样的

DKhadoop安装与配置常见问题及解决方法是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天给大家就dkhadoop开发环境安装中常见的问题以及解决方法进行汇总
2023-06-02

Cookie设置的常见问题及解决方案

Cookie设置的常见问题及解决方案,需要具体代码示例随着互联网的发展,Cookie作为一种最常见的常规技术,已经广泛应用于网站和应用程序中。Cookie,简单来说,是一种存储在用户计算机上的数据文件,可用于存储用户在网站上的信息,包括登
Cookie设置的常见问题及解决方案
2024-01-19

WCF常见异常问题的解决方法

这篇文章主要讲解了“WCF常见异常问题的解决方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF常见异常问题的解决方法”吧!WCF还是比较常用的,于是我研究了一下WCF,在这里拿出来和大
2023-06-17

sublime写PHP遇到的常见问题及解决方法是什么

这篇文章主要讲解了“sublime写PHP遇到的常见问题及解决方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“sublime写PHP遇到的常见问题及解决方法是什么”吧!问题1:片段无
2023-07-05

Redis常见的几个问题及解决方法

本篇内容主要讲解“Redis常见的几个问题及解决方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis常见的几个问题及解决方法”吧! 1、如何保证Redis高可用和高并发?Redis主从架
2023-06-16

MySQL事务的常见问题及解决方法

MySQL事务的常见问题及解决方法在数据库操作中,事务是一个非常重要的概念,可以保证一组SQL语句要么全部执行成功,要么全部失败,并且在并发操作中保证数据的一致性。然而,MySQL中的事务操作也会遇到一些常见的问题,本文将针对这些问题进行
MySQL事务的常见问题及解决方法
2024-03-01

Python中异常处理的常见问题及解决方法

Python中异常处理的常见问题及解决方法引言:在编写程序时,很难避免出现各种各样的错误和异常。异常处理是一种机制,可以在程序运行时捕获和处理这些异常,从而保证程序的稳定性和可靠性。在Python中,异常处理是一项非常重要的技能,本文将介绍
2023-10-22

常见问题及解决方法:Python中使用len函数的常见疑问解答

Python中len()函数是一个常用的内置函数,用于获取对象的长度或元素的个数。在日常的Python开发中,我们经常会遇到一些关于len()函数的问题,本文将介绍一些常见问题及解决方法,并提供具体的代码示例。TypeError: obj
常见问题及解决方法:Python中使用len函数的常见疑问解答
2024-01-29

Golang中数组的常见问题及解决方法

Golang中数组的常见问题及解决方法在Golang编程中,数组是一种常见的数据结构,但与其他语言不同的是,Golang中的数组是固定长度的。在实际开发中,我们经常会遇到一些关于数组的问题,本文将介绍一些常见的问题,并提供相应的解决方法和
Golang中数组的常见问题及解决方法
2024-03-03

使用stream的Collectors.toMap()方法常见的问题及解决

这篇文章主要介绍了使用stream的Collectors.toMap()方法常见的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-06

DKhadoop安装配置详细教程与常见问题解决方法是什么

本篇文章为大家展示了DKhadoop安装配置详细教程与常见问题解决方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。DKhadoop安装配置详细教程与常见问题解决方法上周分别就DKHadoop
2023-06-02

PHP CI/CD 的陷阱:常见问题及解决方法

PHP CI/CD 实施中可能面临的常见陷阱会阻碍持续交付和部署流程的顺畅执行。本文探讨了这些陷阱及其有效的解决方法,帮助团队在 PHP CI/CD 管道中实现最佳实践。
PHP CI/CD 的陷阱:常见问题及解决方法
2024-03-04

CentOS配置常见问题的解答是怎样的

这篇文章将为大家详细讲解有关CentOS配置常见问题的解答是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CentOS配置的问题一直被一些初次接触者感到头疼。这次,我们就收集了关于Ce
2023-06-16

常见的MySQL锁问题及其解决方案

MySQL 锁的常见问题与解决方案MySQL 是一种常用的关系型数据库管理系统,它使用锁来实现并发控制,保证数据的一致性和完整性。然而,MySQL 锁的使用也会带来一些问题。本文将介绍一些常见的 MySQL 锁的问题,并提供相应的解决方案。
常见的MySQL锁问题及其解决方案
2023-12-21

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录