Keepalived启动日志查看

写这篇文章的目的是,

如果遇到keepalived访问不了的情况下,不要乱猜,直接看日志信息,在日志信息里面会有相应的提示,然后根据提示去解决问题。

希望对你们有帮助!

在不知道如何查看启动日志前,认为:只要用ifconfig,在网卡中存在这个虚拟ip即可,但是很失望的没有出现,但是用ip -a能看到具体网卡信息,以及能ping ip能通

第一次接触到keepalived,遇到这种无法访问的情况,查阅了网上很多文章,都没有相对应的解决方法,最后只能去查看日志,然后根据日志提示一点点的修改,最后成功解决了。

问题描述:

近日,使用keepalived + nginx 搭建主从模式,keepalived启动成功,但是使用虚拟IP访问确访问不了。

不得已需要查看keepalived的启动日志,根据启动日志的错误信息去解决问题。

启动命令 ~ 针对Centos7以下的版本,centos的命令发生改变

1
2
3
4
// 启动
service keepalived start
// 停止
service keepalived stop

查看日志命令

1
tail -f /var/log/messages

keepalived配置信息

主节点:192.168.50.131

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
! Configuration File for keepalived

global_defs {
     notification_email {
         [email protected]
         [email protected]
         [email protected]
     }
     notification_email_from [email protected]
     smtp_server 192.168.50.131
     smtp_connect_timeout 30
     router_id LVS_DEVEL
}
vrrp_script chk_http_port {
     script "/usr/local/src/nginx_check.sh"
     interval 2 #(检测脚本执行的间隔)
     weight 2
}
vrrp_instance VI_1 {
     state MASTER # 备份服务器上将 MASTER 改为 BACKUP
     interface eth0 //网卡
     virtual_router_id 41 # 主、备机的 virtual_router_id 必须相同
     priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小
     advert_int 1
     authentication {
     auth_type PASS
     auth_pass 1111
    }
     virtual_ipaddress {
        192.168.50.140
    }
}

从节点:192.168.50.132

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
! Configuration File for keepalived

global_defs {
     notification_email {
         [email protected]
         [email protected]
         [email protected]
     }
     notification_email_from [email protected]
     smtp_server 192.168.50.131
     smtp_connect_timeout 30
     router_id LVS_DEVEL
}
vrrp_script chk_http_port {
     script "/usr/local/src/nginx_check.sh"
     interval 2 #(检测脚本执行的间隔)
     weight 2
}
vrrp_instance VI_1 {
     state BACKUP # 备份服务器上将 MASTER 改为 BACKUP
     interface eth0 //网卡
     virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
     priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
     advert_int 1
     authentication {
     auth_type PASS
     auth_pass 1111
    }
     virtual_ipaddress {
        192.168.50.140
    }
}

在启动日志中一直在刷

1
Keepalived_vrrp: ip address associated with VRID not present in received packet

解决方法:

在同一网段内非同一套keepalive集群中的virtual_router_id 值不能相同,如果相同会在messages中收到VRRP错误包 ,所以需要更改 virual_router_id。

当然,为了解决这个问题,修改了虚拟IP的地址,然后和virtual_router_id的值。

效果演示

1、访问从节点:

2、使用虚拟IP访问

虚拟机表现

1
2
ip a
ping 虚拟IP

写这篇文章的目的是,

如果遇到keepalived访问不了的情况下,不要乱猜,直接看日志信息,在日志信息里面会有相应的提示,然后根据提示去解决问题。

希望对你们有帮助!

在不知道如何查看启动日志前,认为:只要用ifconfig,在网卡中存在这个虚拟ip即可,但是很失望的没有出现,但是用ip -a能看到具体网卡信息,以及能ping ip能通

第一次接触到keepalived,遇到这种无法访问的情况,查阅了网上很多文章,都没有相对应的解决方法,最后只能去查看日志,然后根据日志提示一点点的修改,最后成功解决了。