2017-06-03 7 views
0

私は自分のサービスにキープアライブベースのフェールオーバーを実装しようとしています。マスターノードとバックアップノードの設定を以下で確認してください。キープアライブされたトランジションが期待通りに起こらない

マスターノード:

戻るノードまで
vrrp_script chk_splunkd { 
    script "pidof splunkd" 
    interval 2 
    fall 2 
    rise 2 
} 

vrrp_instance VI_1 { 
    interface eth0 
    state MASTER 
    advert_int 1 
    virtual_router_id 51 
    priority 200 
    nopreempt 
    smtp_alert 
    authentication { 
      auth_type PASS 
      auth_pass passme 
    } 
    virtual_ipaddress { 
      10.126.246.245 
    } 
    track_script { 
      chk_splunkd 
    } 
    notify_master /etc/keepalived/scripts/master.sh 
    notify_backup /etc/keepalived/scripts/stop_service.sh 
    notify_fault /etc/keepalived/scripts/stop_service.sh 
} 

vrrp_script chk_splunkd { 
    script "pidof splunkd" 
    interval 2 
    fall 2 
    rise 2 
} 
vrrp_instance VI_1 { 
    interface eth0 
    state BACKUP 
    advert_int 1 
    virtual_router_id 51 
    priority 100 
    nopreempt 
    smtp_alert 
    authentication { 
      auth_type PASS 
      auth_pass passme 
    } 

    virtual_ipaddress { 
      10.126.246.245 
    } 
    track_script { 
      chk_splunkd 
    } 
    notify_master /etc/keepalived/scripts/master.sh 
    notify_backup /etc/keepalived/scripts/stop_service.sh 
    notify_fault /etc/keepalived/scripts/stop_service.sh 
} 

しかし、私は1つのノードが障害状態になり、VRRPアドバタイズメントの送信を停止しても、他のノードがないことが判明マスター状態に自動的に移行します。 tcpdump -vv -i eth0 vrrpを使用してVRRP広告パケットを監視しようとしたところ、あるノードからの広告が停止した後でも、もう一方のノードは、それが現在マスターになったことを示す広告の送信を自動的に開始しません。

私が紛失しているものを見つけてください。

おかげで、

Keerthana

答えて

0

問題1つのノードがマスターになりました起動時に、もう一方が原因私のSplunkサービスがあるべきとして1を返しますpidof splunkdコマンドに障害モードに入ったということでしたマスターノード上でのみ起動します。通知スクリプトを編集して、現在の状態を外部ファイルに書き込んだり、状態を読み込んで通知スクリプトで処理したりすると、正常に動作するようになりました。

関連する問題