溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在Linux系統(tǒng)中安裝Keepalived

發(fā)布時(shí)間:2021-03-03 17:02:54 來(lái)源:億速云 閱讀:255 作者:Leah 欄目:服務(wù)器

如何在Linux系統(tǒng)中安裝Keepalived?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

什么是Linux系統(tǒng)

Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。

1、keepalived 原理

1、keepalived是什么

keepalived是集群管理中保證集群高可用的一個(gè)服務(wù)軟件,其功能類似于heartbeat,用來(lái)防止單點(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í)來(lái)選舉一個(gè)backup當(dāng)master。這樣的話就可以保證路由器的高可用了。

keepalived主要有三個(gè)模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負(fù)責(zé)主進(jìn)程的啟動(dòng)、維護(hù)以及全局配置文件的加載和解析。check負(fù)責(zé)健康檢查,包括常見的各種檢查方式。vrrp模塊是來(lái)實(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

如下圖:

如何在Linux系統(tǒng)中安裝Keepalived 

解決方法如下:

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

cp -R usr/ /

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

./configure

成功,如下圖:

如何在Linux系統(tǒng)中安裝Keepalived 

 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

說(shuō)明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)查看,如下圖:

如何在Linux系統(tǒng)中安裝Keepalived

 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)無(wú)需更改):

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é)果則說(shuō)明當(dāng)前服務(wù)器正處于服務(wù)狀態(tài),如果查詢?yōu)榭?,則說(shuō)明當(dāng)前服務(wù)器不用有虛擬IP,處于備用狀態(tài)。

ip addr|grep 10.122.111.99

如何在Linux系統(tǒng)中安裝Keepalived

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

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI