啟動keepalived后宿主機無法ping通用keepalived,報錯:
[root@localhost ~]# ping 172.18.0.15 PING 172.18.0.15 (172.18.0.15) 56(84) bytes of data. From 172.18.0.1 icmp_seq=1 Destination Host Unreachable From 172.18.0.1 icmp_seq=2 Destination Host Unreachable From 172.18.0.1 icmp_seq=3 Destination Host Unreachable From 172.18.0.1 icmp_seq=4 Destination Host Unreachable From 172.18.0.1 icmp_seq=5 Destination Host Unreachable From 172.18.0.1 icmp_seq=6 Destination Host Unreachable
解決方案:
大多數都是我把配置文件沒寫對,重寫配置文件,重啟服務;
這里檢查能否ping通,需要看服務內你的配置文件寫入的ip有沒有出現在docker的網卡上,具體方法是:
進入到docker服務內,不是在宿主機上哦,查看配置文件 root@8351443065ea:/etc/keepalived# cat keepalived.conf vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 100 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 172.18.0.201 } } 如果配置文件信息都是正確的,通過ip a命令會顯示如當前docker服務有的網卡 root@ec688a676a07:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 17: eth0@if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default ; 很明顯沒有我配置文件中的172.18.0.201ip地址,代表配置文件未生效,大多數配置文件錯誤 停掉keepalived服務重新修改編輯后重啟 root@ec688a676a07:/# service keepalived stop [....] Stopping keepalived: keepalived. ok 重啟服務 root@ec688a676a07:/# service keepalived start [....] Starting keepalived: keepalived. ok 再次查看docker服務的ip root@ec688a676a07:/# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 17: eth0@if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:12:00:07 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 172.18.0.7/16 scope global eth0 valid_lft forever preferred_lft forever 這里出現了我的配置文件ip地址 inet 172.18.0.201/32 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::42:acff:fe12:7/64 scope link valid_lft forever preferred_lft forever 在服務內直接ping這個ip,發現能ping通,切換宿主機,也能ping通,解決問題 [root@localhost ~]# ping 172.18.0.201 PING 172.18.0.201 (172.18.0.201) 56(84) bytes of data. 64 bytes from 172.18.0.201: icmp_seq=1 ttl=64 time=0.077 ms 64 bytes from 172.18.0.201: icmp_seq=2 ttl=64 time=0.064 ms