一、keepalived簡介
keepalived是vrrp協議的實現,原生設計目的是為了高可用ipvs服務,keepalived能夠配置檔案中的定義生成ipvs規則,並能夠對各rs的健康狀態進行檢測;
二、keepalived元件
keepalived元件介紹
core:keepalived核心元件,主程序的啟動和維護,全域性配置等。
vrrp stack:keepalived是基於vrrp協議實現高可用vps服務,vrrp則為相關子程序為其提供服務
check:檢測keepalived的健康狀態相關程序
system call:系統呼叫
watch dog:監控check和vrrp程序的看管者,check負責檢測器子程序的健康狀態,當其檢測到master上的服務不可用時則通告vrrp將其轉移至backup伺服器上。
三、keepalived配置
實驗拓撲圖如下:
keepalived主配置檔案主要分為三段:global_defs、vrrp_instance、virtual_ip address,如下詳解:
示例:
}雙主模式:互為主備
vrrp_instance vi_1
10.1.10.7 dev eno16777736 labeleno16777736:0
}track_script
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}vrrp_instance vi_2
virtual_ipaddress
track_script
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}使用lvs-dr相同的方法配置real server1/real server2:
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce分別給real server提供測試頁面及其給keepalived節點配置應急響應頁面echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 >/proc/sys/net/ipv4/conf/all/arp_announce
echo 1 >/proc/sys/net/ipv4/conf/lo/arp_announce
ifconfig lo:0 10.1.10.7 netmask 255.255.255.255 broadcast 10.1.10.7
route add -host 10.1.10.7 dev lo:0
echo 「rs1」>/var/www/html/index.html配置成功後啟動keepalived及其後端主機,在keepalived節點上檢視其相應的ipvs資訊:echo「sorry server」>/web/index.html
現在兩節點上的keepalived均已啟動
模擬master節點故障檢視其backup節點,則全部的虛擬ip位址轉換到backup節,實現位址漂移如下:
本文採用rr演算法排程測試結果圖:
模擬後端real server一台和全部宕機,相應的響應頁面及應急頁面:
出現上訴的結果說明你配置的keepalived高可用集群已經實現高可用,可換為瀏覽器進行測試,或將後端主機搭建相應的服務進行測試檢視其是否按照你定義的排程演算法進行輪詢。
mysql 雙主模式 keepalived高可用
mysql雙主模式下,在任意一台mysql上寫資料都會同步到另一台上,本章通過keepalived vip實現如果一台服務掛了會自動切換到另一台mysql上.安裝keepalived,centos預設安裝了 yum install keepalived y修改雙主機 etc keepalived k...
keepalived雙主模式輕鬆構建
考慮到keepalived高可用,備節點的機器基本上屬於空閒狀態,很浪費硬體資源,所以我們可以讓keepalived互為主備,跑多個例項vim etc keepalived keepalived.conf global defs 第乙個業務 為主 vrrp instance vi 1 virtual...
keepalived雙主模式(互為主備)
考慮到keepalived高可用,備節點的機器基本上屬於空閒狀態,很浪費硬體資源,所以我們可以讓keepalived互為主備,跑多個例項 第乙個節點配置 vim etc keepalived keepalived.conf global defs 第乙個業務 為主 vrrp instance vi ...