3

次のシナリオは、Red Hat Enterprise Linux 7 を実行している 4 つの VM です。

  • 20.1.67.230 サーバー (仮想 IP) (ホストではない)

  • 20.1.67.219 haproxy1 (ロードバランサー)

  • 20.1.67.229 haproxy2 (ロードバランサー)
  • 20.1.67.223 server1 (ロード・トゥ・バランス)
  • 20.1.67.213 server2 (ロード・トゥ・バランス)

私の keepalived.conf ファイルは次のとおりです。

vrrp_script chk_haproxy {

   script "killall -0 haproxy" # check the haproxy process

   interval 2 # every 2 seconds

   weight 2 # add 2 points if OK

}

vrrp_instance VI_1 {

   interface enp0s3 # interface to monitor

   state MASTER# MASTER on haproxy1, BACKUP on haproxy2

   virtual_router_id 51

   priority 101 # 101 on haproxy1, 100 on haproxy2

   unicast_src_ip 20.1.67.229  # This is the IP of the interface keepalived    listens on

   unicast_peer {                          # This is the IP of the peer instance

     20.1.67.219

   }

  virtual_ipaddress {

    20.1.67.230  # virtual ip address

  }

  track_script {

    chk_haproxy

  }

}

たとえば、仮想 IP への要求を実行する場合:

curl  server:8888/info

すべて問題ありませんが、しばらくの間、いくつかのリクエストの後、コマンドが返されました: 接続が拒否されました

したがって、次のように、keepalived サービスを手動で再起動する必要があります。

systemctl restart keepalived.service

システム全体が正常に機能しているように見えます。haproxy1haproxy2の間の VRRP メッセージは問題ありません。仮想 IP が正しく機能していないようです。

この問題を診断して修正するために、誰かが私を正しい方向に向けることができますか?

4

1 に答える 1

1

それはネットワークの問題でした。選択した仮想 IP と同じ IP を持つデバイスがネット上にありました。

于 2016-01-04T15:09:11.903 に答える