web-dev-qa-db-ja.com

keepalivedは開始しません

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を開始するとエラーは発生しませんが、起動時にほとんどの待機が発生するようです。一時停止/ハングしますか?これは、keepalivedを開始するときの/ var/log/syslogからのものです。

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

そのVLAN上のホストにpingを実行できます。ここで何が起こっているのか、私は本当にばかげた間違いをしたのではないかと思いますが、何も悪いところを見つけることはできません。

更新:

依頼として:

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)

このボックスを再起動したばかりなので、トラフィックカウンターが少なくなっています。

1
jwbensley

私が経験したシナリオは、keepalivedが起動して何も行わず、最後のログ行が次のようになるというものでした。

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

セットアップを削除して新たに開始した後、keepalivedがこの時点で停止し、何もしない2つのシナリオがあることがわかりました。

  1. Keepalivedはkeepalived.confファイルを指しているため、技術的には構成なしで起動しています。

  2. Keepalivedは設定ファイルをロードしていますが、間違いがあります(たとえばタイプミス)

2
jwbensley

Keepalivedの起動時の問題は、通常、keepalived.confファイルの誤りが原因です。 Keepalivedは現在、構成ファイルのチェックをサポートしておらず、間違いが見つかった場合、通常は可能な限りすべての間違いを無視します。

ただし、構成の問題を簡単に検出する方法があります。構成データをsyslogにダンプする-dスイッチでkeepalivedを開始する必要があります。 Red Hat/Centosパッケージからインストールした場合は、/etc/sysconfig/keepalivedを編集し、-dをKEEPALIVED_OPTIONS変数に追加するだけです。

KEEPALIVED_OPTIONS="-D -d"

これで、keepalivedを開始すると、keepalivedが解析した構成データをsyslogで読み取ることができます。また、構成の一部が機能し、一部が機能しない場合は、閉じ括弧で1つの構成ブロックを閉じるのを忘れたことが原因である可能性があります。

1

RHEL 6.5でも同じ問題がありました。ソースからkeepalivedをコンパイルすると、構成ファイルが/usr/local/etc/keepalivedに配置され、何らかの理由でkeepalivedがそこに表示されなかったため、keepalived.confを取得して/etc/keepalived.conf/etc/keepalived/keepalived.confに配置すると、その後すべてが機能しました。それ!

1
zertux