0

2 つの vagrant Centos7 インスタンスを使用して仮想 IP フェイルオーバー用に keepalived をインストールしていますが、問題があります (実稼働環境でも同じ問題があります)。

基本的に、キープアライブを実行している 2 つのインスタンスがあります。以下は、これら 2 つのサーバーの設定 keepalived.conf です。

Server1 の構成:

global_defs {
   notification_email {
      ABC@gmail.com
   }
   notification_email_from server1.dev.vagrant.net
   smtp_server localhost
   smtp_connect_timeout 30
}

  vrrp_instance VI_enp0s8 {
      state MASTER
      interface enp0s8
      virtual_router_id 51
      priority 100
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
                    192.168.65.110
                    192.168.65.111

      }
  }

Server2 の構成:

global_defs {
   notification_email {
      ABC@gmail.com
   }
   notification_email_from server2.dev.vagrant.net
   smtp_server localhost
   smtp_connect_timeout 30
}

  vrrp_instance VI_enp0s8 {
      state BACKUP
      interface enp0s8
      virtual_router_id 51
      priority 99
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
                    192.168.65.110
                    192.168.65.111

      }
  }

基本的に、次を使用してキープアライブを停止すると、sudo service keepalived stop on server1; 次に、仮想 IP アドレスが server2 に正常に転送されます。そして、「sudo service keepalived start」を使用してserver1でkeepalivedを開始すると、IPアドレスが転送されます。server1で「sudo再起動」を行っているときも、すべてが正しく機能しています。

ただし、sudo shutdown -h now (または vagrant halt server1) を使用して server1 をシャットダウンして再起動し、次に vagrant up server1 を使用すると、仮想 IP はどちらのサーバーにも割り当てられません。(ip addr show enp0s8)。

以下は /var/log/messages のログです。何らかの理由で、仮想 IP が追加されたが、その後削除されたように思えます。

Jun 21 08:19:50 oasis4 Keepalived_vrrp[724]: VRRP_Instance(VI_enp0s8) Entering MASTER STATE
Jun 21 08:19:50 oasis4 Keepalived_vrrp[724]: VRRP_Instance(VI_enp0s8) setting protocol VIPs.
Jun 21 08:19:50 oasis4 Keepalived_healthcheckers[723]: Netlink reflector reports IP 192.168.65.110 added
Jun 21 08:19:50 oasis4 Keepalived_healthcheckers[723]: Netlink reflector reports IP 192.168.65.111 added
Jun 21 08:19:50 oasis4 Keepalived_vrrp[724]: VRRP_Instance(VI_enp0s8) Sending gratuitous ARPs on enp0s8 for 192.168.65.110
Jun 21 08:19:50 oasis4 Keepalived_vrrp[724]: VRRP_Instance(VI_enp0s8) Sending gratuitous ARPs on enp0s8 for 192.168.65.111
Jun 21 08:19:52 oasis4 Keepalived_healthcheckers[723]: Netlink reflector reports IP 192.168.65.104 removed
Jun 21 08:19:52 oasis4 Keepalived_vrrp[724]: Netlink reflector reports IP 192.168.65.104 removed
Jun 21 08:19:52 oasis4 Keepalived_healthcheckers[723]: Netlink reflector reports IP 192.168.65.110 removed
Jun 21 08:19:52 oasis4 Keepalived_vrrp[724]: Netlink reflector reports IP 192.168.65.110 removed
Jun 21 08:19:52 oasis4 Keepalived_healthcheckers[723]: Netlink reflector reports IP 192.168.65.111 removed
Jun 21 08:19:52 oasis4 Keepalived_vrrp[724]: Netlink reflector reports IP 192.168.65.111 removed
Jun 21 08:19:52 oasis4 kernel: e1000: enp0s8 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Jun 21 08:19:52 oasis4 kernel: IPv6: ADDRCONF(NETDEV_UP): enp0s8: link is not ready
Jun 21 08:19:52 oasis4 kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp0s8: link becomes ready
Jun 21 08:19:54 oasis4 Keepalived_healthcheckers[723]: Netlink reflector reports IP 192.168.65.104 added
Jun 21 08:19:54 oasis4 Keepalived_vrrp[724]: Netlink reflector reports IP 192.168.65.104 added
Jun 21 08:19:55 oasis4 Keepalived_vrrp[724]: VRRP_Instance(VI_enp0s8) Sending gratuitous ARPs on enp0s8 for 192.168.65.110
Jun 21 08:19:55 oasis4 Keepalived_vrrp[724]: VRRP_Instance(VI_enp0s8) Sending gratuitous ARPs on enp0s8 for 192.168.65.111
Jun 21 08:19:55 oasis4 systemd: Starting Session 2 of user vagrant.
Jun 21 08:19:55 oasis4 systemd: Started Session 2 of user vagrant.
Jun 21 08:19:55 oasis4 systemd-logind: New session 2 of user vagrant.
Jun 21 08:19:56 oasis4 systemd-logind: Removed session 1.
Jun 21 08:20:00 oasis4 systemd: Starting Session 3 of user vagrant.
Jun 21 08:20:00 oasis4 systemd: Started Session 3 of user vagrant.
Jun 21 08:20:00 oasis4 systemd-logind: New session 3 of user vagrant.
Jun 21 08:20:01 oasis4 systemd: Starting user-0.slice.
Jun 21 08:20:01 oasis4 systemd: Created slice user-0.slice.
Jun 21 08:20:01 oasis4 systemd: Starting Session 4 of user root.

server1 にログインしてから keepalived を手動で再起動すると、正常に動作し始めます。

私の設定に何か問題がある場合は、誰か教えてください。

また、sudo service keepalived stop を使用してサービスを適切に停止できない場合が数回あります。その場合、仮想 IP はどちらのサーバーにも割り当てられません。

ありがとう。

4

1 に答える 1