利用Keepalived實(shí)現(xiàn)雙機(jī)熱備詳解-創(chuàng)新互聯(lián)

在這個高度信息化的IT時代,企業(yè)的生產(chǎn)系統(tǒng)、業(yè)務(wù)運(yùn)營、銷售和支持,以及日常管理等環(huán)節(jié)越來越依賴于計(jì)算機(jī)信息和服務(wù),對高可用(HA)技術(shù)的應(yīng)用需求不斷提高,以便提供持續(xù)的、不間斷的計(jì)算機(jī)系統(tǒng)或網(wǎng)絡(luò)服務(wù)。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、石景山網(wǎng)站維護(hù)、網(wǎng)站推廣。

一、Keepalived雙機(jī)熱備基礎(chǔ)知識

1.Keepalived概述

Keepalived起初是專門針對LVS設(shè)計(jì)的一款強(qiáng)大的輔助工具,主要用來提供故障切換和健康檢查功能——判斷LVS負(fù)載調(diào)度器、節(jié)點(diǎn)服務(wù)器的可用性,及時隔離并替換為新的服務(wù)器,當(dāng)故障主機(jī)恢復(fù)后將其重新加入群集。

Keepalived的官方網(wǎng)站:http://www.keepalived.org/ 雖然說主要是用于LVS群集環(huán)境,但是在非LVS群集環(huán)境中,也可以作為熱備軟件使用。

2.Keepalived的熱備方式

Keepalived采用VRRP(虛擬路由冗余協(xié)議)熱備份協(xié)議,以軟件的方式實(shí)現(xiàn)Linux服務(wù)器的多機(jī)熱備功能。VRRP是針對路由器的一種備份解決方案——由多臺路由器組成一個熱備組,通過共用的虛擬IP地址對外提供服務(wù);每個熱備組內(nèi)同一時刻只有一個路由器提供服務(wù),其他路由器處于冗余狀態(tài),若當(dāng)前在線的路由器失效,則其他路由器會自動接替(根據(jù)優(yōu)先級)虛擬IP地址,以繼續(xù)提供服務(wù)。

VRRP(虛擬路由冗余協(xié)議)和HSRP(熱備份路由協(xié)議)原理幾乎一樣,只不過VRRP是公有協(xié)議;HSRP是Cisco的私有協(xié)議。對于VRRP(虛擬路由冗余協(xié)議)原理不太明白,可以參考博文:HSRP(熱備份路由協(xié)議)詳解 博文中有詳細(xì)的解釋。

熱備組內(nèi)的每臺路由器都可能稱為主路由器,虛擬路由器的IP地址(VIP)可以在熱備組內(nèi)的路由器之間進(jìn)行轉(zhuǎn)移,所以也稱為漂移IP地址,如圖:
利用Keepalived實(shí)現(xiàn)雙機(jī)熱備詳解
使用Keepalived時,漂移地址的實(shí)現(xiàn)不需要手動建立虛接口配置文件(比如:ens33:0);而是由Keepalived根據(jù)配置文件自動管理的。

3.安裝Keepalived

安裝Keepalived服務(wù)特別簡單,Centos 7系統(tǒng)盤中都有相應(yīng)的軟件包,通過YUM安裝即可!除此之外,在LVS群集環(huán)境中應(yīng)用時,也需要用到ipvsadm管理工具(查看負(fù)載分配情況時使用)。

[root@localhost ~]# yum -y install keepalived ipvsadm
//安裝Keepalived和ipvsadm
[root@localhost ~]# systemctl start keepalived
//啟動Keepalived服務(wù)

二、使用Keepalived實(shí)現(xiàn)雙機(jī)熱備

基于VRRP的熱備方式,Keepalived可以用作服務(wù)器的故障切換,每個熱備組可以有多臺服務(wù)器——當(dāng)然,最常用的應(yīng)該就是雙機(jī)熱備了。在這種雙機(jī)熱備方案中,故障切換主要針對虛擬IP地址的漂移來實(shí)現(xiàn),因此能夠適用于各種應(yīng)用服務(wù)器(比如:Web、FTP、Mail、SSH、DNS等)。

通過一個示例來了解Keepalived雙機(jī)熱備的配置方法,如圖:
利用Keepalived實(shí)現(xiàn)雙機(jī)熱備詳解
主、備服務(wù)器中都需要安裝Keepalived。(httpd服務(wù)最好也都安上,用于測試!)詳細(xì)步驟如下:

1.主服務(wù)器的配置

Keepalived服務(wù)的配置文件是/etc/keepalived//keepalived.conf。具體操作如下:

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install keepalived ipvsadm httpd
//安裝相應(yīng)的服務(wù)、關(guān)閉防火墻和SELinux
[root@localhost ~]# vim /etc/keepalived/keepalived.conf 
//編輯Keepalived服務(wù)的配置文件
global_defs {
   notification_email {
     root@localhost.localdomain                                  //收件人地址
   }
   notification_email_from root  root@localhost.localdomain                     //發(fā)件人姓名、地址
   smtp_server 127.0.0.1
   smtp_connect_timeout 30                            //以上信息是關(guān)于發(fā)送郵件的內(nèi)容,根據(jù)實(shí)際情況填寫就好
   router_id HA_TEST_R1                               //本路由器(服務(wù)器)的名稱
}

vrrp_instance VI_1 {                                       //定義VRRP熱備實(shí)例
    state MASTER                                           //熱備狀態(tài),MASTER表示為主服務(wù)器
    interface ens33                                          //承載VIP的物理網(wǎng)卡接口
    virtual_router_id 1                                     //虛擬路由器的ID,每個熱備組保持一致
    priority 100                                                //優(yōu)先級100,數(shù)值越大優(yōu)先級越高(大255)
    advert_int 1                                              //通告間隔秒數(shù)(心跳頻率)
    authentication {                                        //認(rèn)證信息,每個熱備組要保持一致
        auth_type PASS                                  //認(rèn)證類型
        auth_pass 1111                                   //密碼字串
    }
    virtual_ipaddress { 
        192.168.1.254                                    //指定漂移地址(VIP),可以有多個(但必須跟物理接口是同網(wǎng)段的)
    }
}

確認(rèn)配置信息沒有錯誤后,啟動Keepalived服務(wù)。實(shí)際狀態(tài)為MASTER的主服務(wù)器將為ens33接口自動添加VIP地址,通過ip命令查看(ifconfig命令看不到)。

[root@localhost ~]# systemctl restart keepalived
//重啟服務(wù)
[root@localhost ~]# ip addr show dev ens33
//查看漂移IP地址是否存在
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:00:11:89 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.1.254/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::c4bc:2e5a:89b:8729/64 scope link 
       valid_lft forever preferred_lft foreve
[root@localhost ~]# echo “aaaaaaaaa” > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
//修改httpd服務(wù)的主頁文件,用于測試!

2.備用服務(wù)器的配置

在同一個Keepalived熱備組內(nèi),所有服務(wù)器的Keepalived配置文件基本相同,包括虛擬路由器的ID、認(rèn)證信息、漂移地址、心跳頻率等(必須一樣);不同之處主要在于路由器名稱、熱備狀態(tài)、優(yōu)先級。

  • 路由器名稱:建議為每個參與熱備的服務(wù)器指定不同的名稱;
  • 熱備狀態(tài):至少應(yīng)有一個主服務(wù)器,將狀態(tài)設(shè)置為MASTER;可以有多臺備用服務(wù)器,將狀態(tài)設(shè)置為BACKUP;
  • 優(yōu)先級:數(shù)值越大則會取得VIP控制權(quán)的優(yōu)先級越高,因此主服務(wù)器的優(yōu)先級應(yīng)為熱備組中的高;其他備用服務(wù)器的優(yōu)先級可依次遞減,但不要相同,以免爭奪VIP控制權(quán)時發(fā)生沖突;

配置備用服務(wù)器(可以有多臺)時,可參考主服務(wù)器的keepa.conf配置文件內(nèi)容,只需修改路由器名稱、熱備狀態(tài)、優(yōu)先級即可!如下:

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install keepalived ipvsadm httpd
//安裝相應(yīng)的服務(wù)、關(guān)閉防火墻和SELinux
[root@localhost ~]# vim /etc/keepalived/keepalived.conf 
//編輯Keepalived服務(wù)的配置文件
global_defs {
   notification_email {
     root@localhost.localdomain
   }
   notification_email_from root  root@localhost.localdomain
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id HA_TEST_R2                                 //本路由器(服務(wù)器)名稱(修改)
}

vrrp_instance VI_1 {
    state BACKUP                                              //熱備狀態(tài),BACKUP表示備用服務(wù)器(修改)
    interface ens33
    virtual_router_id 1
    priority 99                                                     //優(yōu)先級(修改)
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.254
    }
}

確認(rèn)配置無誤,啟動Keepalived服務(wù),此時主服務(wù)器在線。VIP仍然由主服務(wù)器控制,而其他服務(wù)器處于備用狀態(tài)。

[root@localhost ~]# systemctl start keepalived
[root@localhost ~]# ip addr show ens33
//啟動Keepalived服務(wù)、確認(rèn)VIP地址(沒有VIP地址)
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:2b:56:b5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::aa26:7be4:3379:130f/64 scope link 
       valid_lft forever preferred_lft forever
[root@localhost ~]# echo "qqqqqqqqqqq" > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
//啟動http服務(wù),設(shè)置不一樣的主頁(用于測試!)

3.測試雙機(jī)熱備功能

(1)連通性測試

在客戶機(jī)上執(zhí)行“ping -t 192.168.1.254”(VIP地址),能夠正常通信,持續(xù)測試!

[root@localhost ~]# systemctl stop keepalived
//主服務(wù)器故意停止Keepalived服務(wù)

查看客戶機(jī)測試效果,如圖:
利用Keepalived實(shí)現(xiàn)雙機(jī)熱備詳解
切換時客戶機(jī)會有延遲,也可能丟一兩個包。

[root@localhost ~]# ip addr show ens33
//備用服務(wù)器查看VIP地址(發(fā)現(xiàn)VIP已經(jīng)自動轉(zhuǎn)移到備用服務(wù)器上)
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:2b:56:b5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.1.254/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::aa26:7be4:3379:130f/64 scope link 
       valid_lft forever preferred_lft forever

(2)Web訪問測試

客戶機(jī)訪問測試,如圖:
利用Keepalived實(shí)現(xiàn)雙機(jī)熱備詳解
當(dāng)原來優(yōu)先級為100的服務(wù)器開啟Keepalived服務(wù)時,客戶機(jī)再次訪問,將會改變網(wǎng)頁內(nèi)容。

[root@localhost ~]# systemctl start keepalived
//主服務(wù)器啟動Keepalived服務(wù)

客戶機(jī)訪問測試,如圖:
利用Keepalived實(shí)現(xiàn)雙機(jī)熱備詳解

也可查看系統(tǒng)日志(/var/log/messages),來獲取詳細(xì)信息!

通過Keepalived服務(wù)搭建的是高可用群集,跟通過LVS搭建的負(fù)載均衡群集,不一樣。關(guān)于群集類型的信息介紹可以參考博文:LVS負(fù)載均衡群集詳解

本次博文主要是利用Keepalived構(gòu)建雙機(jī)熱備(一主+一備);一樣的道理,利用Keepalived構(gòu)建多機(jī)熱備一樣(一主+多備)。這里就是詳細(xì)介紹了!

———————— 本文至此結(jié)束,感謝閱讀 ————————

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享標(biāo)題:利用Keepalived實(shí)現(xiàn)雙機(jī)熱備詳解-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://muchs.cn/article16/csgjdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)、做網(wǎng)站、建站公司、軟件開發(fā)網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)