在Linux上實現VRRP功能的程序叫做keepalived,keepalived能夠根據配置文件中的定義自動生成ipvs規則,并能夠對各RS的健康狀態進行檢測。keepalived也支持vrrp_script,keepalived利用vrrp_scripts完成輔助的其他高可用的功能,keepalived利用vrrp_track調用vrrp_script完成vrrp_script對服務的跟蹤.
安裝keepalived程序
現在這樣規劃 10.0.1.11和12 是DR真實IP 10.0.1.13是VRRP虛IP
先設置主VRRP的運行參數
開啟主DR的keepalived的服務
systemctl start keepalived.service
notification_email 通告給誰
notification_email_from 用哪個郵箱通告
smtp_server 指定郵件服務器
RID 這個參數兩個DR需要一致
vrrp_garp_interval 免費ARP的通告間隔用于IPV4
vrrp_gna_interval 免費NA的通告間隔用于IPV6
再設置備DR的VRRP參數
為了讓VRRP狀態切換更直觀一些,我們來做個郵件通知腳本
郵件腳本調用位置
測試效果
定義虛擬主機
delay_loop 定義服務輪詢時間
lb_kind 定義部署模式
persistence_timeout 會話保持時間
lb_algo 負載均衡算法 調度算法
HTTP_GET是檢測后端服務器是否正常
nb_get_retry 嘗試次數
connect_timeout 每次嘗試的超時時間
delay_before_retry 每次嘗試的時間間隔
重新啟動keepalived然后查看ipvsadm -Ln
ipvsadm會自己從keepalived的配置文件中讀取相關信息并自動添加虛擬服務以及真實服務器信息
客戶端測試
現在把DR1失效再測試
還是可以正常訪問
再加個小功能 Sorry_server
當后端服務器都失效了,keepalived可以將用戶請求發送到指定服務器,由臨時服務器響應客戶請求
用戶端測試