VIPの数が一致しない

keepalived“を使っていて設定を変更した際に、表題を意味するような警告メッセージが出力されていた。

■ 環境

  • Keepalived 1.2.13
  • CentOS 6.9

■ keepalived.con

keepalived“で冗長構成を取っている2台で、Virtual IPを複数つけている。そのうちのひとつが不要になったので”BACKUP STATE“の”keepalived.conf“にある”virtual_ipaddresses“からIPを外し`service keepalived reload`たところ、”/var/log/messages“に下記のようなメッセージが出力されていた。

Oct 20 19:03:44 host002 Keepalived_vrrp[3379]: receive an invalid ip number count associated with VRID!
Oct 20 19:03:44 host002 Keepalived_vrrp[3379]: bogus VRRP packet received on eth0 !!!
Oct 20 19:03:44 host002 Keepalived_vrrp[3379]: VRRP_Instance(V_EXT) ignoring received advertisment...

どうやら”virtual_ipaddress“の個数が違うのが原因のようである。現状”MASTER STATE“となっているホスト側でも同じ処理をしたところメッセージ出力は止まった。次からは同時にやってしまうことにする。

以上。

keepalived reload

表題の件について。

■ 環境

  • Keepalived 1.2.13
  • CentOS 6.9

■ reload

設定ファイルを書き換えて、下記のように”reload“を実行した。

$ sudo service keepalived reload

これでもVIPの付け替えが発生してしまった。

restart“ならば理解できる。”reload“という別コマンドとしてあるのだから切り替えが発生せずにいけるのでは?と思ったが駄目であった。他にあるコマンドは”forece_reload“。実態は”restart“であり、”stop“→”start“を実行しているだけである。

さて、VIPの切り替えが発生しないで設定ファイルを再読み込みさせるようなものはないのだろうか。

※ 2017/07/20 追記
再度確認したところ、切り替えは発生していなかった。自身の勘違いかもしれない…。

以上。

KeepalivedのMaster/Slave確認

表題の通りである。どのようにしたら良いのかいまいちわからない。。

■ 環境

  • Keepalive 1.2.13
  • CentOS 6.7

■ ip address show

ログインしたサーバで下記のように実行して結果を見て判断している。

$ ip a
  :
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet XX.XX.XX.X1/24 brd XX.XX.XX.255 scope global eth0
  :
$
$ ip a
  :
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet XX.XX.XX.X1/24 brd XX.XX.XX.255 scope global eth0
    inet XX.XX.XX.X2/24 scope global secondary eth0
  :
$

この”scope global secondary eth0“(VIP)がある方が”Master“であると判断をしている。

■ /var/log/messages

もしくは”messages“に出力されているログを確認するか。

$ cat /var/log/messages
  :
Jun 26 19:09:10 withsin001 Keepalived_vrrp[13830]: VRRP_Instance(VI_0) Entering BACKUP STATE
  :
$

これは”Master“から”Backup(Slave)”に変わった時のログである。この時もう一台の”messages“には下記のように出力されていた。

$ cat /var/log/messages
  :
Jun 26 19:09:11 withsin002 Keepalived_vrrp[14030]: VRRP_Instance(VI_0) Transition to MASTER STATE
Jun 26 19:09:11 withsin002 Keepalived_vrrp[14030]: VRRP_Instance(VI_0) Entering MASTER STATE
Jun 26 19:09:11 withsin002 Keepalived_vrrp[14030]: VRRP_Instance(VI_0) setting protocol VIPs.
  :
$

`ip`コマンドの結果を確認するか、ログを確認するかしか今のところ手段を知らない。もっと他に良い手段はないのであろうか?

以上。