Keepalived雙機熱備

關於keepalived

專爲LVS和HA設計的一款健康檢查工具
支持故障自動切換(Failover)
支持節點健康狀態檢查(Health Checking)
官方網站:http://www.keepalived.org/

keepalived概述及安裝

keepalived的熱備方式
VRRP(Virtual Router Redundancy Protocol,虛擬路由冗餘協議)
一主 + 多備,共用同一個IP地址,但優先級不同
Keepalived雙機熱備

安裝及服務控制
-----先安裝支持軟件:
kernel-devel、openssl-devel、popt-devel、ipvsadm
-----再編譯安裝keepalived,需指定內核路徑
--prefix、--with-kernel-dir=
-----使用Keepalived服務

雙機熱備應用環境

案例環境
漂移地址:172.16.16.172
主、備服務器:172.16.16.173、172.16.16.174
提供的應用服務:FTP、Web

Keepalived雙機熱備
配置文件keepalived.conf
全局設置:global_defs { ... }
熱備設置:vrrp_instance 實例名稱 { ... }
樣例文件位於:/etc/keepalived/samples/...

主服務器配置
state:設置本節點狀態,MASTER、BACKUP
priority:設置競選優先級,數值越大優先級越高
virtual_ipaddress { ... }:設置漂移IP地址
……
備用服務器配置
router_id設爲自有名稱
state設爲BACKUP
priority值低於主服務器
—— 其餘所有配置均與主服務器相同
啓用keepalived服務
主、備機中均啓用keepalived服務
其中優先級最高的設備將獲得VIP的控制權
VIP地址會由keepalived自動設置
測試雙機熱備的效果
主、備機均啓用FTP、Web服務,內容相同
先後禁用、啓用主服務器的網卡,執行以下測試
測試1:使用ping檢測172.16.16.172的連通性
測試2:訪問ftp://172.16.16.172/,確認可用性及內容變化
測試3:訪問http://172.16.16.172/,確認可用性及內容變化
測試4:查看日誌文件/var/log/messages中的變化

Keepalived雙機熱備實驗步驟

樓主前言----keeplived是專門針對LVS設計的一款輔助工具,主要功能是實現故障切換,類似於我們以前學習過的HSRP熱備份路由協議,HSRP是思科的私有協議,而VRRP是通用協議,都是爲了實現故障切換,當一臺路由器發生故障的時候,另一臺馬上接替工作,用戶感覺不到服務器發生了問題,而且不會中斷服務。我們今天學習的雙機熱備是就是利用了VRRP虛擬路由冗餘協議,和HRSP一樣都擁有一個虛擬的ip地址對外提供服務,而不是真正的服務器ip地址,也擁有一臺主服務器和多臺備份服務器,優先級高的做主路由器,備份服務器處於冗餘狀態,當主服務器發生故障的時候,從服務器會變成主服務器,當主服務器修好之後,會重新成爲主路由器。這裏和HSRP不同的是,HSRP需要配置佔先權,而這裏不用配置,默認都有佔先權。

一、實驗案例:LVS+Keepalived高可用羣集

Keepalived雙機熱備
實驗目標:
本實驗的目的是實現雙機熱備的同時實現負載均衡羣集,與上次的實驗相比,多了一臺從調度器,當主調度器發生故障的時候,從服務器會繼續提供調度工作,保證用戶的正常訪問。
所以做這個實驗之前需要把上次的lvs-DR負載均衡羣集的實驗做完,然後增加一臺從調度器,添加兩塊網卡,配置從調度器和主調度器方法一樣,但是在配置keepalived的時候從服務器優先級要設置的比主的低,主服務器修改成爲MASTER,從服務器是BACKUP,服務器名稱改成不一樣的就可以,其他的配置一樣。
在這裏兩臺調度器的eth0的內網卡修改爲vm1,eth1做外網卡修改爲vm8,所以就是說192.168.7.0網段都是vm1,172.16.16.0網段都是vm8,ip地址如上圖所示。
最終實驗環境需要以下服務器和客戶端,一共6臺。
Keepalived雙機熱備
1、配置nfs服務器192.168.7.250
配置方法參考上一個博客,和上次的配置完全一樣
Keepalived雙機熱備
在nfs服務器能看到上圖所示內容就說明配置正確

2、配置web節點A
web節點A的內網卡是192.168.7.177,外部網卡是172.16.16.177,整個服務器的配置依然參考上一個(lvs負載均衡羣集)即可,除了不用配置eth0:0的地址以外,其它配置完全一樣。
Keepalived雙機熱備
可以掛載到NFS服務器即可,本次實驗掛載到了nginx網站主目錄下

3、配置web節點B
與web節點A的步驟完全一樣,注意外網卡是172.16.16.178,內網卡是192.168.7.178。

4、配置LVS主調度器
依然參考上次的博客即可,配置步驟完全一樣。

5、配置LVS從調度器
與主調度器的配置一樣

二、配置LVS+Keepalived高可用羣集
1、配置主調度器
1)安裝支持軟件
Keepalived雙機熱備
2)編譯安裝Keepalived
Keepalived雙機熱備
Keepalived雙機熱備
3)使用Keepalived服務
Chkconfig --add keepalived
Chkconfig keepalived on

4)配置主調度器
Vi /etc/keepalived/keepalived.conf
Keepalived雙機熱備
Keepalived雙機熱備
接上圖
5)重啓keepalived服務
Keepalived雙機熱備
6)從調度服務器的配置
首先安裝keepalived,和主服務器一樣,在配置的時候主要有三個地方不一樣:優先級99,調度器名稱R2,熱備狀態爲BACKUP
Vi /etc/keepalived/keepalived.conf
Keepalived雙機熱備
Keepalived雙機熱備
7)重新從服務器的Keepalived服務
Keepalived雙機熱備

注意:主從配置完成之後請把主從調度器的外網卡斷掉,然後再連接上,重新加載一下。

8)測試lvs+keepalived羣集
在客戶機上訪問http://172.16.16.172,可以正常訪問,效果如下

Keepalived雙機熱備

然後把主調度器的外網卡斷掉,如果客戶端依然可以訪問網站,說明成功。

Keepalived雙機熱備
再次訪問網站
Keepalived雙機熱備
在從調度器上查看網卡配置,可以看到虛擬ip顯示了,說明現在從服務器成爲了主調度器。
Keepalived雙機熱備
9)測試負載均衡
爲了測試效果明顯,把web節點A取消掛載NFS,默認頁面爲nginx歡迎頁面。
Keepalived雙機熱備
Keepalived雙機熱備
Web節點b的網頁保持不變
Keepalived雙機熱備
在客戶端上訪問
Keepalived雙機熱備

每次訪問的網頁都不一樣,說明負載均衡沒問題。

10)測試聯通性
在客戶機上ping 172.16.16.172 -t,然後斷掉主調度器的外網卡,發現斷掉一下之後馬上又恢復通信,說明今天的實驗成功了,當然最關鍵還是當主服務器故障之後,用戶訪問網站沒有感覺,web節點的網頁也要完全一樣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章