keepalived是用來進行網絡fail-over的強大工具,配置簡單靈活,功能強大,實現了vrrp協議和健康檢查,配合lvs使用可實現高可用性。
典型雙機熱備配置方案:
兩臺機器的keepalived實例都配置成BACKUP狀態,priority高的自動作為master , priority低的自動作為slave ,也可以將priority設置為相同,先啟動的作為master 。兩邊都設置nopreempt,防止出現故障->恢復過程中的再切換。
1.在master發生故障->恢復過程中,原backup會替換為master對外服務,當原master恢復后,一般希望原master作為新backup,以避免master的再次切換,可以使用nopreempt參數,防止priority高的發起切換。
2. 當keepalived設置為隨系統啟動自動啟動時,應加上一定的延遲,防止網絡或系統未準備好影響keepalived的狀態。
3. 當后端的RS有狀態(https)時,lvs一般需要使用sh負載算法或使用持久性連接,以便同一來源的請求分發到同一RS,當http和https的請求分發需要一致時,可以使用iptable對報文做fmark,使用fmark配置lvs 。