Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

章 2. Keepalived 總覽

Keepalived 會在一個 Active LVS 路由器上,以及一或更多個選用性的 Backup LVS 路由器上運作。Active LVS 路由器負責兩項工作:
  • 平衡真實伺服器之間的工作負載。
  • 檢查各個真實伺服器上的服務完整性。
Active(master)路由器會透過虛擬路由器冗餘協定(VRRP)告知 backup 路由器其啟用狀態,master 路由器將必須以正常間隔送出通告。若 active 路由器停止送出通告,則新的 master 將會被選出。
本章節提供了 Load Balancer 元件及功能上的總覽,並包含了下列部分:

2.1. 基本的 Keepalived Load Balancer 配置

圖形 2.1, “Load Balancer 的基本配置”〉顯示了包含兩個網路層的基本 Keepalived Load Balancer 配置。第一個網路層上包含了一個 active 及數個 backup LVS 路由器。各個 LVS 路由器皆擁有兩個網路介面卡,一個介面卡位於網際網路上,而另一個則位於私密網路上,這能讓它們管理兩個網路之間的流量。在此範例中,active 路由器使用了網路位址轉譯(或 NAT)來將流量由網際網路轉送至第二個網路層上的數個真實伺服器上,並依次提供必要的服務。因此,本範例中的真實伺服器連至了一個專屬的私密網路區段,並透過 active LVS 路由器來回傳送所有的公共流量。以外部的角度來看,這些伺服器會看似單一實體。
Load Balancer 的基本配置

圖形 2.1. Load Balancer 的基本配置

抵達 LVS 路由器的服務請求會被指定一組虛擬 IP位址,亦稱為 VIP。這是組可公共路由、網站管理員用來與完整區域名稱(例如 www.example.com)相聯的位址,並且將會指定給一或更多個虛擬伺服器。虛擬伺服器乃一項配置來監聽特定虛擬 IP 的服務。當容錯移轉進行時,VIP 位址會由一個 LVS 路由器上遷移至另一個路由器上,並在該 IP 位址上保留其存在性(亦稱為浮動 IP 位址)。
VIP 位址能指定給將 LVS 路由器連至網際網路的相同裝置。比方說,若 eth0 已連至網際網路,那麼您將可分配多個虛擬伺服器給 eth0。此外視各項服務而定,各個虛擬伺服器皆可與獨立的裝置相聯。比方說,HTTP 流量能在 eth0 上於 192.168.1.111 處理,而 FTP 流量則能在 eth0 上於 192.168.1.222 處理。
在同時牽涉了一個 active 和一個 passive 路由器的建置情況下,active 路由器的工作就是將服務請求由虛擬 IP 位址重定向至真實伺服器。重定向乃基於〈節 2.3, “keepalived 排程總覽”〉中所詳述、八個受支援之一的負載平衡演算法來決定的。
Active 路由器也會透過三項內建式的健康檢測:基本的 TCP 連線、HTTP 以及 HTTPS 來動態式監控真實伺服器上的特定服務的整體健康狀態。關於 TCP 連線,active 路由器會定期檢查它是否能透過特定連接埠連上真實伺服器。至於 HTTP 與 HTTPS,active 路由器將會定期在真實伺服器上取一組 URL,並驗證其內容。
備用的路由器將負責進行預備系統的任務。路由器備援是由 VRRP 所負責處理的。開機時,所有路由器皆會加入一個 multicast 群組。此 multicast 群組會被使用來傳送與接收 VRRP 通告。因為 VRRP 是個基於優先順序的協定,擁有最高優先權的路由器將會被選擇作為 master。一旦路由器被選擇作為 master 之後,它便會負責每隔一定時間內負責傳送 VRRP 通告至 multicast 群組。
若備用的路由器無法在特定的一段時間內接收到通告(根據通告間隔)則新的 master 將會被選出。新的 master 將會接管 VIP 並傳送一則位址解析協定(Address Resolution Protocol,ARP)訊息。當路由器返回啟用服務時,它可能會成為一個 backup 或是 master。此特性將以路由器的優先順序而定。
使用於〈圖形 2.1, “Load Balancer 的基本配置”〉中的基本、兩層的配置,適合用來服務不會頻繁遭到改變的資料 — 例如靜態式的網頁 — 因為個別的真實伺服器不會自動同步各個節點之間的資料。