DR的HA是通過VRRP協議實現的,程序時keepalived。之前的簡單的測試僅僅只是實現功能而已。簡單的實現過程中不能根據實際情況對VRRP參數進行響應的調整達到動態冗餘的效果。
通過vrrp_script自定義一個資源監控腳本,vrrp實例能根據腳本狀態返回值來調整本地設備的VRRP狀態。
track_script調用vrrp_script定義的腳本監控資源。調用函數是在實例配置模塊之內。
現在模擬一個場景,如果某個服務失效了,系統會自動在指定目錄下生成一個指定文件down。如果主DR服務失效了,優先級降低,備DR臨時成爲主DR。
注意:vrrp_script的腳本執行的條件式測試腳本返回失敗狀態值。
意思就是當檢測到down文件的時候,返回失敗值。
當收到檢測腳本返回失敗值時,就將自身的權重值降10.
正常狀態下DR1爲主DR
當創建一個down文件在/etc/keepalived/目錄下
本地的優先級降低。使備DR成爲主DR。
再將DR1的down文件刪除
DR1再次變成主DR