一、署keepalived后测试主down掉后无法自动切换到备

查看message日志一直报此错误

 [root@lb-nginx-master ~]# tailf /var/log/messages
Jul :: lb-nginx-master Keepalived_vrrp[]: (VI_1): received an invalid passwd!
Jul :: lb-nginx-master Keepalived_vrrp[]: bogus VRRP packet received on eth0 !!!
Jul :: lb-nginx-master Keepalived_vrrp[]: VRRP_Instance(VI_1) Dropping received VRRP packet...
Jul :: lb-nginx-master Keepalived_vrrp[]: (VI_1): received an invalid passwd!
Jul :: lb-nginx-master Keepalived_vrrp[]: bogus VRRP packet received on eth0 !!!
Jul :: lb-nginx-master Keepalived_vrrp[]: VRRP_Instance(VI_1) Dropping received VRRP packet...

二、原因分析

因为virtual_router_id,路由ID实例,必须是唯一的,其它环境中有存在相同的实例ID,所以要修改一个其它的实例ID

# 主节点
[root@lb-nginx-master ~]# cat /etc/keepalived/keepalived.conf
bal_defs {
# 接收邮件地址
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
# 邮件发送地址
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout
router_id NGINX_MASTER
} vrrp_script check_nginx {
script "/etc/keepalived/check_nginx.sh"
} vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id # VRRP 路由 ID实例,每个实例是唯一的
priority # 优先级,备服务器设置
advert_int # 指定VRRP 心跳包通告间隔时间,默认1秒
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.5.60/
}
track_script {
check_nginx
}
} # 备节点
[root@lb-nginx-backup ~]# cat /etc/keepalived/keepalived.conf
bal_defs {
# 接收邮件地址
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
# 邮件发送地址
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout
router_id NGINX_MASTER
} vrrp_script check_nginx {
script "/etc/keepalived/check_nginx.sh"
} vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id # VRRP 路由 ID实例,每个实例是唯一的
priority # 优先级,备服务器设置
advert_int # 指定VRRP 心跳包通告间隔时间,默认1秒
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.5.60/
}
track_script {
check_nginx
}
} # 检查脚本
[root@lb-nginx-master ~]# cat /etc/keepalived/check_nginx.sh
count=$(ps -ef |grep nginx |egrep -cv "grep|$$") if [ "$count" -eq ];then
systemctl stop keepalived
fi

主备都重启keepalived,重启后再测试已正常。

 [root@lb-nginx-master ~]# systemctl start keepalived.service 
 [root@lb-nginx-backup ~]# systemctl restart keepalived

启动keepalived报错(VI_1): received an invalid passwd!的更多相关文章

  1. keepalived启动后报错:(VI_1): received an invalid passwd!的解决办法

    一.配置好keepalived.conf文件后,启动keepalived,查看/var/log/message日志报错: [root@push-- sbin]# tail -f /var/log/me ...

  2. centos6 启动docker报错

    1.启动docker报错: # service docker stop Stopping docker: [ OK ] [root@RSING data2]# service docker start ...

  3. maven 项目启动tomcat报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    maven项目启动tomcat报错: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...

  4. 【转】Eclipse下启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does not exist.

    转载地址:http://blog.csdn.net/jnqqls/article/details/8946964 1.错误: 在Eclipse下启动tomcat的时候,报错为:Eclipse下启动to ...

  5. 学习中的错误——ubuntu 14.04 LTS 启动eclipse报错

    在ubuntu中启动eclipse报错:(Eclipse:15978): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assert ...

  6. tomcat7 启动项目报错 java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()

    JDK版本:jdk1.8.0_77 Tomcat 版本:apache-tomcat-7.0.47 异常重现步骤: 1.完成项目部署 2.启动Tomcat 异常头部信息:java.lang.NoSuch ...

  7. Eclipse中启动tomcat报错:A child container failed during start

    我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...

  8. Ubuntu下安装了java但启动eclipse报错说没装java

    参考资料:http://blog.csdn.net/happyteafriends/article/details/8290950 一.问题 在Ubuntu下安装了java并在~/.bashrc配置了 ...

  9. VirtualBox启动虚拟机报错0x80004005

    Unable to load R3 module C:\Program Files\Oracle\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastError=1790 ( ...

随机推荐

  1. [技术博客] Springboot的Controller类使用

    Springboot的Controller类使用 @Controller:处理http请求. 代码: @Controller public class QuestionController { ... ...

  2. suface 触控笔

    触控笔直接就可以书写,顶部橡皮擦可用. 但如果要使用笔上的按键(如单击启动OneNote),必须要用蓝牙进行配对.笔使用一节AAAA电池(九号电池)供电. 连接方法: 准备好surface触控笔,并确 ...

  3. JavaScript生成一个不重复的ID

    /** * 生成一个用不重复的ID */ function GenNonDuplicateID():String{ } 先看看下面的几个方法 1.生成[0,1)的随机数的Math.random,例如 ...

  4. Java学习:JDBC各类详解

    JDBC各个类详解 代码实现: //1.导入驱动jar包 //2.注册驱动 Class.forName("com.mysql.jdbc.Driver"); //3.获取数据库连对象 ...

  5. C# 单向链表 逆序(递归)

    static void Main(string[] args) { while (true) { LinkedList L = new LinkedList(); L.Add(new Node(&qu ...

  6. kubenetes之配置pod的QoS

    系列目录 上节提到过,QoS影响pod的调度和驱离,本节讲解如何通过配置pod来使它自动被赋予一个QoS 实际上是pod的配置达到一定标准,则kubernetes会自动为其它添加一个QoS类 QoS类 ...

  7. 对ssm框架里面的一些常用注解的理解

    @Componcnt :作用就是把当前类对象存入spring容器中 属性:value 用于指定bean的id 当我们不写的时候默认就是当前类名,并且首字母要小写 ------------------- ...

  8. 我的第一个netcore2.2 api项目搭建(三)

    上一章快速添加了swagger文档管理功能,我的第一个netcore2.2 api项目搭建(二) 这一章实现目标三:api添加身份验证功能 在实现该目标之前,先得理解netcore运行机制. 这是微软 ...

  9. C#安装和卸载windowsService的bat指令

    只需新建2个文本文档,将2个指令分别复制进去,再将txt格式改为bat格式,以管理员身份运行 安装指令 %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\ ...

  10. 象棋中“车”的攻击范围_Java

    代码如下: String[][] a = new String[8][8]; int h, l; Scanner scan = new Scanner(System.in); System.out.p ...