簡體   English   中英

keepalived過渡未按預期發生

[英]keepalived transitions not happening as expected

我正在嘗試為我的服務實施基於keepalived的故障轉移。 請在下面找到我的主節點和備份節點的配置。

主節點:

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
}

但是,我發現即使一個節點進入故障狀態並停止發送VRRP通告,另一節點也不會自動過渡到主狀態。 當我嘗試使用tcpdump -vv -i eth0 vrrp監視VRRP通告數據包時,我發現即使來自一個節點的通告停止了,另一個節點也不會自動開始發送通告,表明它已經成為主節點。

請幫助我找出我所缺少的。

謝謝,

Keerthana

問題在於,在啟動過程中,當一個節點成為主節點時,另一個節點由於pidof splunkd命令而進入故障模式,該命令將返回1,因為我的splunk服務應僅在主節點上啟動。 一旦我編輯了通知腳本以將當前狀態寫入外部文件並讀取該狀態以在通知腳本中采取措施,一切就開始正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM