Keepalived

keepalived 啟動不了

  • July 5, 2014

我已經編譯和配置keepalived,但它不會啟動。

這是我非常基本的配置;

   vrrp_sync_group PUBLIC_WEB_IPS {
           group {
                   public_http_ip_lan
           }
   }

   vrrp_instance public_http_ip_lan {
           state MASTER
           interface br1118
           virtual_router_id 18
           priority 100
           advert_int 1
           virtual_ipaddress {
                   192.168.0.254/24 dev br1118
           }
           nopreempt

   }

當我開始keepalived時,我沒有收到任何錯誤,但它似乎讓大部分等待開始,暫停/掛起?這是啟動時來自 /var/log/syslog 的keepalived

Apr 11 17:25:33 basil Keepalived[8047]: Starting Keepalived v1.2.7 (04/08,2013)
Apr 11 17:25:33 basil Keepalived[8048]: Starting Healthcheck child process, pid=8051
Apr 11 17:25:33 basil Keepalived[8048]: Starting VRRP child process, pid=8052
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Initializing ipvs 2.6
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Interface queue is empty
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, eth0
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, eth1.116
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, br1116
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, eth1.118
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: No such interface, br1118
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP 10.0.115.69 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP 10.0.116.249 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP 192.168.0.250 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::220:edff:fe9f:9774 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Netlink reflector reports IP fe80::2a0:c9ff:fe8f:4164 added
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Registering Kernel netlink reflector
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Registering Kernel netlink command channel
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Configuration is using : 2777 Bytes
Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Using LinkWatch kernel netlink reflector...

keepalived仍在執行(CPU 使用率為 2~3%,RAM 10%)

user@basil:/usr/local/etc/keepalived$ ps aux | grep keepalived
root      8048  0.0  0.1   8372   808 ?        Ss   17:25   0:00 /usr/local/sbin/keepalived -D
root      8051  0.0  0.3   8492  1820 ?        S    17:25   0:00 /usr/local/sbin/keepalived -D
root      8052  0.0  0.2   8492  1344 ?        S    17:25   0:00 /usr/local/sbin/keepalived -D

當我啟動keepalived時,tcpdump中沒有任何顯示,例如沒有廣告:

user@basil:~$ sudo tcpdump -nlASX -s 0 -vvv -e src net 192.168.0.0/24 and not port 22tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

網橋介面已啟動(因為它跨越一個單獨的 vlan);

user@basil:/usr/local/etc/keepalived$ ip a s br1118
11: br1118: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
   link/ether 00:a0:c9:8f:41:64 brd ff:ff:ff:ff:ff:ff
   inet 192.168.0.250/24 brd 192.168.0.255 scope global br1118
   inet6 fe80::2a0:c9ff:fe8f:4164/64 scope link 
      valid_lft forever preferred_lft forever

我可以 ping 該 VLAN 上的主機。這裡發生了什麼,我懷疑我犯了一個非常愚蠢的錯誤,但我無法發現任何錯誤。

更新:

就像要求的一樣:

user@basil:~$ ifconfig -a
br1116    Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
         inet addr:xxxxx  Bcast:xxxxx  Mask:xxxx
         inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:20 errors:0 dropped:0 overruns:0 frame:0
         TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:1120 (1.0 KiB)  TX bytes:468 (468.0 B)

br1118    Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
         inet addr:xxxxx  Bcast:xxxxx  Mask:xxxx
         inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:19 errors:0 dropped:0 overruns:0 frame:0
         TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:1064 (1.0 KiB)  TX bytes:468 (468.0 B)

eth0      Link encap:Ethernet  HWaddr 00:20:ed:9f:97:74  
         inet addr:xxxx  Bcast:xxxxx  Mask:xxxxx
         inet6 addr: fe80::220:edff:fe9f:9774/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:169 errors:0 dropped:0 overruns:0 frame:0
         TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:20019 (19.5 KiB)  TX bytes:11089 (10.8 KiB)

eth1      Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
         inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:150 errors:0 dropped:10 overruns:0 frame:0
         TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:11680 (11.4 KiB)  TX bytes:2436 (2.3 KiB)

eth1.116  Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
         inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:20 errors:0 dropped:0 overruns:0 frame:0
         TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:1120 (1.0 KiB)  TX bytes:936 (936.0 B)

eth1.118  Link encap:Ethernet  HWaddr 00:a0:c9:8f:41:64  
         inet6 addr: fe80::2a0:c9ff:fe8f:4164/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:19 errors:0 dropped:0 overruns:0 frame:0
         TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:1064 (1.0 KiB)  TX bytes:936 (936.0 B)

lo        Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:65536  Metric:1
         RX packets:10 errors:0 dropped:0 overruns:0 frame:0
         TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:732 (732.0 B)  TX bytes:732 (732.0 B)

我剛剛重新啟動了這個盒子,這就是流量計數器很低的原因。

我遇到的情況是keepalived啟動並且什麼都不做,最後一個日誌行是;

Apr 11 17:25:33 basil Keepalived_healthcheckers[8051]: Using LinkWatch
kernel netlink reflector...

刪除設置並重新開始後,我發現在兩種情況下,keepalived 將在此時停止並且什麼也不做;

  1. Keepalived 被指向 keepalived.conf 文件,所以它在技術上是在沒有配置的情況下啟動的
  2. Keepalived 正在載入配置文件,但出現錯誤(例如錯字)

引用自:https://serverfault.com/questions/498465