中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用Keepalived實現雙機熱備詳解

發布時間:2020-07-06 23:23:26 來源:網絡 閱讀:867 作者:筱振 欄目:系統運維

在這個高度信息化的IT時代,企業的生產系統、業務運營、銷售和支持,以及日常管理等環節越來越依賴于計算機信息和服務,對高可用(HA)技術的應用需求不斷提高,以便提供持續的、不間斷的計算機系統或網絡服務。

一、Keepalived雙機熱備基礎知識

1.Keepalived概述

Keepalived起初是專門針對LVS設計的一款強大的輔助工具,主要用來提供故障切換和健康檢查功能——判斷LVS負載調度器、節點服務器的可用性,及時隔離并替換為新的服務器,當故障主機恢復后將其重新加入群集。

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

2.Keepalived的熱備方式

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

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

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

3.安裝Keepalived

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

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

二、使用Keepalived實現雙機熱備

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

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

1.主服務器的配置

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

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install keepalived ipvsadm httpd
//安裝相應的服務、關閉防火墻和SELinux
[root@localhost ~]# vim /etc/keepalived/keepalived.conf 
//編輯Keepalived服務的配置文件
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_R1                               //本路由器(服務器)的名稱
}

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

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

[root@localhost ~]# systemctl restart keepalived
//重啟服務
[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服務的主頁文件,用于測試!

2.備用服務器的配置

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

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

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

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install keepalived ipvsadm httpd
//安裝相應的服務、關閉防火墻和SELinux
[root@localhost ~]# vim /etc/keepalived/keepalived.conf 
//編輯Keepalived服務的配置文件
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                                 //本路由器(服務器)名稱(修改)
}

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

確認配置無誤,啟動Keepalived服務,此時主服務器在線。VIP仍然由主服務器控制,而其他服務器處于備用狀態。

[root@localhost ~]# systemctl start keepalived
[root@localhost ~]# ip addr show ens33
//啟動Keepalived服務、確認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服務,設置不一樣的主頁(用于測試!)

3.測試雙機熱備功能

(1)連通性測試

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

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

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

[root@localhost ~]# ip addr show ens33
//備用服務器查看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
    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訪問測試

客戶機訪問測試,如圖:
利用Keepalived實現雙機熱備詳解
當原來優先級為100的服務器開啟Keepalived服務時,客戶機再次訪問,將會改變網頁內容。

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

客戶機訪問測試,如圖:
利用Keepalived實現雙機熱備詳解

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

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

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

———————— 本文至此結束,感謝閱讀 ————————

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

威信县| 康乐县| 高雄县| 新津县| 岑溪市| 烟台市| 安达市| 类乌齐县| 桐梓县| 泗水县| 科尔| 银川市| 克东县| 同仁县| 辽中县| 文山县| 西盟| 芦溪县| 绵竹市| 页游| 林西县| 莱西市| 砚山县| 循化| 宝应县| 博爱县| 祁阳县| 双峰县| 西贡区| 华蓥市| 江安县| 仙游县| 大兴区| 大理市| 漯河市| 乐陵市| 东乌珠穆沁旗| 额济纳旗| 鹤庆县| 海伦市| 仁化县|