欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下安裝Keepalived及原理分析

 更新時(shí)間:2017年12月20日 16:27:17   投稿:laozhang  
這篇文章主要介紹了在Linux環(huán)境下安裝Keepalived及原理分析,有興趣的朋友學(xué)習(xí)參考下吧。

1、keepalived 原理

1、keepalived是什么

keepalived是集群管理中保證集群高可用的一個(gè)服務(wù)軟件,其功能類似于heartbeat,用來防止單點(diǎn)故障。

2、keepalived工作原理

keepalived是以VRRP協(xié)議為實(shí)現(xiàn)基礎(chǔ)的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協(xié)議。

虛擬路由冗余協(xié)議,可以認(rèn)為是實(shí)現(xiàn)路由器高可用的協(xié)議,即將N臺(tái)提供相同功能的路由器組成一個(gè)路由器組,這個(gè)組里面有一個(gè)master和多個(gè)backup,master上面有一個(gè)對(duì)外提供服務(wù)的vip(該路由器所在局域網(wǎng)內(nèi)其他機(jī)器的默認(rèn)路由為該vip),master會(huì)發(fā)組播,當(dāng)backup收不到vrrp包時(shí)就認(rèn)為master宕掉了,這時(shí)就需要根據(jù)VRRP的優(yōu)先級(jí)來選舉一個(gè)backup當(dāng)master。這樣的話就可以保證路由器的高可用了。

keepalived主要有三個(gè)模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負(fù)責(zé)主進(jìn)程的啟動(dòng)、維護(hù)以及全局配置文件的加載和解析。check負(fù)責(zé)健康檢查,包括常見的各種檢查方式。vrrp模塊是來實(shí)現(xiàn)VRRP協(xié)議的。

3、keepalived的配置文件

keepalived只有一個(gè)配置文件keepalived.conf,里面主要包括以下幾個(gè)配置區(qū)域,分別是global_defs、static_ipaddress、static_routes、vrrp_script、vrrp_instance和virtual_server

2、keepalived 在Linux下的安裝

1、準(zhǔn)備工作

Linux主機(jī):10.122.111.80 、
Linux主機(jī):10.122.111.81、
虛擬IP:10.122.111.99、
操作系統(tǒng):銀河麒麟 V3.3

2、安裝Keepalived

兩臺(tái)Linux主機(jī)都需要安裝Keepalived,如下步驟兩臺(tái)機(jī)需要重復(fù)進(jìn)行。

1、下載Keepalived

下載至目錄:/home/zz/user/software

wget http://keepalived.org/software/keepalived-1.3.8.tar.gz

2、解壓Keepalived

tar -zxvf keepalived-1.3.8.tar.gz

3、配置Keepalived

cd keepalived-1.3.8/

./configure

此步驟可能出現(xiàn)錯(cuò)誤,

checking libnfnetlink/libnfnetlink.h usability... no

checking libnfnetlink/libnfnetlink.h presence... no

checking for libnfnetlink/libnfnetlink.h... no

configure: error: libnfnetlink headers missing

如下圖:

安裝可能出現(xiàn)錯(cuò)誤 

解決方法如下:

將 usr.zip 包解壓至keepalived-1.3.8目錄,解壓,然后執(zhí)行

cp -R usr/ /

成功后,重新執(zhí)行

./configure

成功,如下圖:

安裝成功 

 4、編譯安裝Keepalived

make
make install

3、配置防火墻

firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 \ --in-interface p4p1 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 \ --out-interface p4p1 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

firewall-cmd --reload

注意:上述【p4p1】為配置的網(wǎng)卡名稱。

4、配置服務(wù)啟動(dòng)

cp /home/zz/user/software/keepalived-1.3.8/keepalived/etc/init.d/keepalived /etc/init.d/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

執(zhí)行完成后,即可使用服務(wù)的形式啟動(dòng)Keepalived,如下:

service keepalived start

如果使用 service keepalived status命令查看狀態(tài)出現(xiàn)如下問題:

/etc/init.d/keepalived:行15: /etc/sysconfig/keepalived: 沒有那個(gè)文件或目錄

則需要執(zhí)行:

ln -s /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

執(zhí)行成功后,重啟Keepalived服務(wù),即可查看狀態(tài)。

如果Keepalived啟動(dòng)不成功,錯(cuò)誤信息如下:

Keepalived_vrrp exited with permanent error CONFIG. Terminating

說明Keepalived 核心配置文件配置有誤,繼續(xù)往下配置即可,此問題先不用處理。

5、配置雙機(jī)

Keepalived配置文件為:/etc/keepalived/keepalived.conf,

現(xiàn)進(jìn)行如下配置:

使用10.122.111.80 為主節(jié)點(diǎn),

使用10.122.111.81為從節(jié)點(diǎn) 進(jìn)行配置,

修改主節(jié)點(diǎn)80的配置文件 keepalived.conf,內(nèi)容修改如下所示:

! Configuration File for keepalived
 global_defs {
  notification_email {
   # acassen@firewall.loc
   # failover@firewall.loc
   # sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  # smtp_server 192.168.200.1
  # smtp_connect_timeout 30
  router_id SERVER_1
  vrrp_skip_check_adv_addr
  vrrp_garp_interval 0
  vrrp_gna_interval 0
 }
 vrrp_instance VI_1 {
   state MASTER
   interface p4p1
   virtual_router_id 55
   priority 100
   protocol TCP
   advert_int 1
   authentication {
     auth_type PASS
     auth_pass 1111
   }
   virtual_ipaddress {
     10.122.111.99/24
   }
 }

修改從節(jié)點(diǎn)81的配置文件 keepalived.conf,內(nèi)容修改如下所示:

! Configuration File for keepalived
 global_defs {
  notification_email {
   # acassen@firewall.loc
   # failover@firewall.loc
   # sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  # smtp_server 192.168.200.1
  # smtp_connect_timeout 30
  router_id SERVER_2
  vrrp_skip_check_adv_addr
  vrrp_garp_interval 0
  vrrp_gna_interval 0
 }
 vrrp_instance VI_1 {
   state BACKUP
   interface p4p1
   virtual_router_id 55
   priority 50
   protocol TCP
   advert_int 1
   authentication {
     auth_type PASS
     auth_pass 1111
   }
   virtual_ipaddress {
     10.122.111.99/24
   }
 }

配置完成后,分別啟動(dòng) Keepalived,并進(jìn)行狀態(tài)查看,如下圖:

 6、配置非搶占模式

Keepalived默認(rèn)為搶占模式,主節(jié)點(diǎn)Master在故障回復(fù)重新開啟使用時(shí)會(huì)掠奪當(dāng)前從服務(wù)器的虛擬IP,重新占據(jù)中心地位,在一個(gè)去中心化的集群中,可配置非搶占模式,即正在處于服務(wù)狀態(tài)的主機(jī)虛擬IP不會(huì)被搶走知道此臺(tái)服務(wù)器出現(xiàn)問題。

只需要在原有Master配置文件中修改如下配置即可(Backup節(jié)點(diǎn)無需更改):

nopreempt

state BACKUP

調(diào)整后的配置文件如下:

! Configuration File for keepalived
 global_defs {
  notification_email {
   # acassen@firewall.loc
   # failover@firewall.loc
   # sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  # smtp_server 192.168.200.1
  # smtp_connect_timeout 30
  router_id SERVER_1
  vrrp_skip_check_adv_addr
  vrrp_garp_interval 0
  vrrp_gna_interval 0
 }
 vrrp_instance VI_1 {
   state BACKUP  # 此處由MASTER調(diào)整為BACKUP
   nopreempt    # 此處添加非搶占模式配置
   interface p4p1
   virtual_router_id 55
   priority 100
   protocol TCP
   advert_int 1
   authentication {
     auth_type PASS
     auth_pass 1111
   }
   virtual_ipaddress {
     10.122.111.99/24
   }
 }

 7、查看虛擬IP指向

判斷當(dāng)前服務(wù)器是否擁有虛擬IP,執(zhí)行如下命令,如果有結(jié)果則說明當(dāng)前服務(wù)器正處于服務(wù)狀態(tài),如果查詢?yōu)榭?,則說明當(dāng)前服務(wù)器不用有虛擬IP,處于備用狀態(tài)。

ip addr|grep 10.122.111.99

當(dāng)前服務(wù)器擁有虛擬IP

說明當(dāng)前服務(wù)器擁有虛擬IP。

8、如何判斷腦裂?

分別在兩臺(tái)機(jī)查看當(dāng)前服務(wù)器是否擁有虛擬IP,如果兩臺(tái)服務(wù)器都擁有,則說明發(fā)生了腦裂,證明目前雙機(jī)通信出現(xiàn)問題,產(chǎn)生此問題的原有在于 兩臺(tái)服務(wù)器都探測(cè)不到組內(nèi)其他服務(wù)器的狀態(tài)(心跳請(qǐng)求無法正常響應(yīng)),私自判定另一臺(tái)服務(wù)器掛起,則搶占虛擬IP,腦裂的出現(xiàn)是不被允許的,解決此問題的方法為檢查防火墻設(shè)置(關(guān)閉防火墻)或者使用串口通信。

相關(guān)文章

  • Linux mysql-5.6如何實(shí)現(xiàn)重置root密碼

    Linux mysql-5.6如何實(shí)現(xiàn)重置root密碼

    這篇文章主要介紹了Linux mysql-5.6如何實(shí)現(xiàn)重置root密碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 詳解linux 驅(qū)動(dòng)編寫(sd卡驅(qū)動(dòng))

    詳解linux 驅(qū)動(dòng)編寫(sd卡驅(qū)動(dòng))

    這篇文章主要介紹了詳解linux 驅(qū)動(dòng)編寫(sd卡驅(qū)動(dòng)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Linux如何重置root密碼和修改用戶密碼

    Linux如何重置root密碼和修改用戶密碼

    這篇文章主要介紹了Linux如何重置root密碼和修改用戶密碼問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Ubuntu系統(tǒng)下擴(kuò)展LVM根目錄的方法

    Ubuntu系統(tǒng)下擴(kuò)展LVM根目錄的方法

    這篇文章主要給大家介紹了關(guān)于Ubuntu系統(tǒng)下擴(kuò)展LVM根目錄的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • Ubuntu 20.04 火狐瀏覽器無法播放視頻(缺少flash插件)的解決方法

    Ubuntu 20.04 火狐瀏覽器無法播放視頻(缺少flash插件)的解決方法

    這篇文章主要介紹了Ubuntu 20.04 火狐瀏覽器無法播放視頻(缺少flash插件)的解決方法,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Ubuntu 安裝cuda10.1驅(qū)動(dòng)的實(shí)現(xiàn)步驟

    Ubuntu 安裝cuda10.1驅(qū)動(dòng)的實(shí)現(xiàn)步驟

    這篇文章主要介紹了Ubuntu 安裝cuda10.1驅(qū)動(dòng)的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Linux md5sum命令的使用方法

    Linux md5sum命令的使用方法

    這篇文章主要介紹了Linux md5sum命令的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 讓Apache支持Rewrite靜態(tài)頁面重寫的方法

    讓Apache支持Rewrite靜態(tài)頁面重寫的方法

    Apache下Rewrite靜態(tài)頁面重寫的方法,需要的朋友可以參考下。
    2010-07-07
  • CentOS7安裝配置 Redis的方法步驟

    CentOS7安裝配置 Redis的方法步驟

    這篇文章主要介紹了CentOS7安裝配置 Redis的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • Linux的netstat命令詳解

    Linux的netstat命令詳解

    這篇文章主要介紹了Linux的netstat命令,netstat命令用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),它能提供TCP連接,TCP和UDP監(jiān)聽,進(jìn)程內(nèi)存管理的相關(guān)報(bào)告。需要的朋友可以參考下面文章內(nèi)容
    2021-09-09

最新評(píng)論