KeepAlived的配置及使用!

此篇博客主要是和大家共同了解一下keepalived的功能及基礎配置,以便于牢固掌握,此篇博客共分為三個部分;

               ⊙ 簡述keepalived的主要功能及安裝環境;
               ⊙ 介紹keepalied配置文件的參數;
               ⊙ 配置keepalvid的主備模式及雙主模式;


簡述keepalived的主要功能及安裝環境;

keepalived的主要功能:
                      keepalived主要專用于高可用LVS,是VRRP的軟件實現方式,它的作用是,在兩臺或者是多臺類linux主機上安裝上keepalived以后,配置好多播地址,端口,啟動起來,那么,在這個keepalived協議上,就相當于說這兩臺主機就是兩個物理路由器,vrrp只能用于轉移ip,不支持轉移主機上所允許的服務;同時,keepalived能夠為你的linux主機內核生產ipvs規則,幫你配置負載均衡的服務器集群,能夠幫助監控后端服務器的健康狀態,根據后端服務器的監控狀態來進行增刪;所以,我們可以來定義keepalived的主要功能有一下兩種;
                          1. vrrp協議棧的實現
                          2. ipvs規則生成及各RS的健康狀態檢測


            keepalived的安裝配置環境:
                      對于任何分布式系統及其高可用集群來說都有一些幾個前提:
                           1. 各節點時間一定要同步;
                           2. 確保iptables及selinux不會成為阻礙;
                           3. 各節點之間能夠通過主機名進行通信(并非必須);
                           4. 各節點之間的root用戶可以基于秘鑰認證的SSH 服務完成互相通信 (并非必須);
       
            我們可以使用ntpdate來進行時間同步到一臺主機上,然后使用iptables -F 清除一下防火墻規則;對于達成讓各節點之間能夠通過主機名進行通信,這里建議使用更改 /etc/hosts 文件來事先;如圖0513-01.jpg所示:
           KeepAlived的配置及使用!
                                                示圖:0513-01.jpg
          對于各節點之間的root用戶可以基于秘鑰認證的ssh服務完成通信,并非必要,在這里就沒做說明;

          配置完外部環境,我們就可以來進行keepalived的安裝了,對于CentOS6.4以上的版本,已將keepalived收錄到base 倉庫中,我們可以直接使用 yum install keepalived 進行安裝,CentOS6.4 以下的用戶則需要到官網去現在程序包,進行編譯安裝,我們的實驗環境是使用的CentOS7.3的主機,所以我們可以直接執行 yum install keepalived 來安裝使用;
KeepAlived的配置及使用!
                                                      示圖:0513-02.jpg

      安裝完成后,我們可以看一下其生成的文件 如圖 0513-03.jpg 所示:
     KeepAlived的配置及使用!
                                                  示圖:0513-03.jpg

       配置文件在 /etc/keepalived 目錄下 ,進程文件為/usr/sbin/keepalived ;

介紹keepalived配置文件的參數:
 
             程序環境:
                              主配置文件:/etc/keepalived/keepalived.conf
                              主程序文件:/usr/sbin/keepalived
                              Unit File:keepalived.service
                              Unit File的環境配置文件:/etc/sysconfig/keepalived
      
                  進入到/etc/keepalived 目錄中,打開keepalved.conf,我們可以看到,其主要內容可以分為三個                     部分:
                      第一段:  GLOBAL CONFIGURATION: 為全局配置段
                                                     Global definitions:全局定義
                                                     Static route/addresses:  靜態路由和相關地址的配置
                          第二段 :  VRRPD CONFIGURATION: vrrp 配置段
                                                      其實此段就是用來配置vrrp協議的守護進程,以便于能夠解析vrrpd
                                                     vrrp instance: 一個vrrp instance就相當于一個vrrp虛擬路由器
                                                     vrrp synchronization group(s): vrrp 同步組
                          第三段   :  LVS CONFIGURATION:  配置ipvs的,如果用不到,可先刪除

         下面我們對前兩段的各個參數進行具體分析:

           第一段:
                     KeepAlived的配置及使用!
                                                示圖: 0513-04.jpg

                 notification_email {
                             root@localhost
                  }
                是指出現問題后能夠接收郵件的地址 ,這里我們只是實驗使用,所以設定為本地郵箱,生產中一定要設定成自己可接收到的可用                   郵箱;
                notification_email_from keepalived@localhost:  郵件的發件人,我們使用的也是本地自定義名稱
                smtp_server: 本地郵件地址,我們直接使用的主機地址;
                smtp_connect_timeout 30 :  如果連接不上,等待連接的超時時間;
                router_id : 當前物理路由器的id號,我們前面以在hosts文件中配置了解析,所以直接使用的主機名;
                vrrp_mcast_group4 224.0.100.40 : ipv4的多播地址,此地址建議更改為自己的唯一地址,以防和別的主機沖突 
             第二段:
                   KeepAlived的配置及使用!
                                                             示圖:0513-05.jpg
                     state MASTER|BACKUP:  當前節點在此虛擬路由器上的初始狀態;只能有一個為MASTER, 余下的都應該為BACKUP
                     interface IFACE_NAME:  綁定為當前虛擬路由器使用的物理接口;
                     virtual_router_id VRID: 當前虛擬路由器的唯一標識,范圍是0-255;
                     priority 100: 當前主機在此虛擬路由器中的優先級;范圍1-254;
                     advert_int  1: vrrp通告的時間間隔;
                     authentication {
                              auth_type AH|PASS
                              auth_padd <PASSWORD>
                     }     : 定義當前服務的用戶密碼,密碼建議使用小于8位的隨機數;
                     virtual_ipaddress {
                        <IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>
                                      172.18.0.80/16 dev ens32
                    }    : 將虛擬ip定義在那塊網卡上
        
配置keepalived的主備模式及雙主模式:

              我們先來配置主備模式:
                                         主備模式比較簡單,下載安裝完成keepalived后進入/etc/keepalved 目錄中,首先將keepalived進行備份,使用命令 cp   keepalived{,.bek} 將keepalived拷貝到此目錄下并加以.bek后綴,如圖 0513-06 所示;
                        KeepAlived的配置及使用!
                                                                    示圖:0513-06.jpg

              然后對keepalved進行編輯如圖 0513-07.jpg所示:

                        KeepAlived的配置及使用!
                                                            示圖:0513-07.jpg
                   修改其各項參數,然后使用scp命令將其復制到另一個節點上,對另一個節點上的此文件進行修改 如圖 0513-08.jpg所示:
KeepAlived的配置及使用!
                                                      示圖:0513-08.jpg
        配置完成后,就可以啟動服務了,我們使用systemctl start keepalived 命令先啟動keepalived,然后在使用 systemctl status keepalived 來查看其狀態,可以看到node1為MASTER, node2為BECKUP; 如示圖
       0513-09.jpg,0513-10.jpg;  KeepAlived的配置及使用!
                                                                 示圖:0513-09.jpg
KeepAlived的配置及使用!
                                                               示圖:0513-10.jpg
           在node1上使用命令 ip a l 可以看到 172.18.0.80 ip以添加到設備ens32上;我們把node1 keepalived 服務stop,則172.18.0.80 ip 移動到node2上;主備模式配置過程就算完成了。需要注意的是,兩個節點之間默認是開啟搶占模式的,需要把主node的優先級調高至備node的;如不適用搶占模式,則在配置文件中添加 nopreempt即可;
               
下面我來看一下雙主模式的配置過程:
           高可用中的一個服務,一定是一主一備或者一主多備;我們這里所說的雙主,在傳統意義上,無非就是 多配幾個高可用服務,然后,不同的服務,讓他們互為主備;所以,我們所說的雙主模型,如果有兩節點集群,我們再配一個虛擬路由器,對于第二個虛擬路由器來說,我們的物理節點,右側的是主,左側的是備,就能夠實現雙主模式,甚至有三個節點還可以做成主主主模型;
  
         我們下面來演示下雙主模型;
         其實很簡單,在主備模式的基礎上,我們將node1的 vrrp_instance 段復制一份,然后定義為一個新的組,更愛node1上為beckup,優先級為98,虛擬路由器id更改一下,就可;然后在把node2的vrrp_instance同樣復制一份,更改為master,優先級為100,虛擬路由器id及ip做出調整即可;如示圖:                                                    KeepAlived的配置及使用!                                                                  示圖:0513-11.jpg                                                                                                                                                  
KeepAlived的配置及使用!
                                                                  示圖:0513-12.jpg
          
        除此之外,keepalived還可根據實際需要定義多種模式,多主多備等等…

         希望通過此篇博客能夠加深大家對keepalied的認識,如果能夠給大家帶來微小的幫助,更是再好不過了!
      
            本篇博客僅供個人學習使用!

原創文章,作者:Marui,如若轉載,請注明出處:http://www.www58058.com/75363

(8)
MaruiMarui
上一篇 2017-05-13
下一篇 2017-05-13

相關推薦

  • keepalived相關配置示例(一)

    配置前提: (1) 各節點時間必須同步 (2) 確保iptables及selinux不會成為阻礙 (3) 各節點之間可通過主機名互相通信(對KA并非必須)         建議使用/etc/hosts文件實現 (4) 確保各節點的用于集群服務的接口支持MULTICAST…

    2017-06-26
  • 設計模式 ( 二十 ) 訪問者模式Visitor(對象行為型)

    特此說明:對訪問者模式理解不是特別透徹,若有誤,請指正,謝謝! 1.概述 在軟件開發過程中,對于系統中的某些對象,它們存儲在同一個集合collection中,且具有不同的類型,而且對于該集合中的對象,可以接受一類稱為訪問者的對象來訪問,而且不同的訪問者其訪問方式有所不同。 例子1:顧客在超市中將選擇的商品,如蘋果、圖書等放在購物車中,然后到收銀員處付款。在購…

    Linux干貨 2015-04-07
  • LAMP

    1、請描述一次完整的http請求處理過程; 一次完整的http請求處理過程: (1) 建立或處理連接:接收請求或拒絕請求; (2) 接收請求:接收來自于網絡上的主機請求報文中對某特定資源的一次請求的過程; (3) 處理請求:對請求報文進行解析,獲取客戶端請求的資源及請求方法等相關信息; (4) 訪問資源:獲取請求報文中請求的資源; (5) 構建響應報文: (…

    Linux干貨 2016-12-14
  • 軟件包管理(rpm,yum,源碼安裝)

    API:Application Programming Interface  ==>軟件開發接口     POSIX :Portable OS 程序源代碼 –> 預處理 –> 編譯 –> 匯編 –>鏈接   &n…

    Linux干貨 2016-08-24
  • 馬哥教育網絡班20期+第6周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 vim三種模式: 用法:vim [option…] FILE 編輯模式:     字符跳轉:         h:向左移動一個字符     &…

    系統運維 2016-07-22
  • 文本處理-vim編輯器

    命令格式、(1)模式、(2)關閉文件、(3)可視化模式、(4)使用多個“窗口”、(5)定制vim的工作特性、(6)示例

    2018-03-13

評論列表(2條)

  • All well
    All well 2017-05-14 14:46

    很nice,讓我從迷糊逐漸走向清晰,贊

    • Marui
      Marui 2017-05-14 20:13

      @All well哈哈 非常榮幸!

欧美性久久久久