国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

Linux下安裝Keepalived及原理分析

2024-09-05 23:04:28
字體:
來源:轉載
供稿:網友

1、keepalived 原理

1、keepalived是什么

keepalived是集群管理中保證集群高可用的一個服務軟件,其功能類似于heartbeat,用來防止單點故障。

2、keepalived工作原理

keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協議。

虛擬路由冗余協議,可以認為是實現路由器高可用的協議,即將N臺提供相同功能的路由器組成一個路由器組,這個組里面有一個master和多個backup,master上面有一個對外提供服務的vip(該路由器所在局域網內其他機器的默認路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了,這時就需要根據VRRP的優先級來選舉一個backup當master。這樣的話就可以保證路由器的高可用了。

keepalived主要有三個模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負責主進程的啟動、維護以及全局配置文件的加載和解析。check負責健康檢查,包括常見的各種檢查方式。vrrp模塊是來實現VRRP協議的。

3、keepalived的配置文件

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

2、keepalived 在Linux下的安裝

1、準備工作

Linux主機:10.122.111.80 、
Linux主機:10.122.111.81、
虛擬IP:10.122.111.99、
操作系統:銀河麒麟 V3.3

2、安裝Keepalived

兩臺Linux主機都需要安裝Keepalived,如下步驟兩臺機需要重復進行。

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

此步驟可能出現錯誤,

checking libnfnetlink/libnfnetlink.h usability... no

checking libnfnetlink/libnfnetlink.h presence... no

checking for libnfnetlink/libnfnetlink.h... no

configure: error: libnfnetlink headers missing

如下圖:

Linux,Keepalived,原理分析

解決方法如下:

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

cp -R usr/ /

成功后,重新執行

./configure

成功,如下圖:

Linux,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】為配置的網卡名稱。

4、配置服務啟動

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/

執行完成后,即可使用服務的形式啟動Keepalived,如下:

service keepalived start

如果使用 service keepalived status命令查看狀態出現如下問題:

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

則需要執行:

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

執行成功后,重啟Keepalived服務,即可查看狀態。

如果Keepalived啟動不成功,錯誤信息如下:

Keepalived_vrrp exited with permanent error CONFIG. Terminating

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

5、配置雙機

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

現進行如下配置:

使用10.122.111.80 為主節點,

使用10.122.111.81為從節點 進行配置,

修改主節點80的配置文件 keepalived.conf,內容修改如下所示:

! 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   } }

修改從節點81的配置文件 keepalived.conf,內容修改如下所示:

! 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   } }

配置完成后,分別啟動 Keepalived,并進行狀態查看,如下圖:

Linux,Keepalived,原理分析

 6、配置非搶占模式

Keepalived默認為搶占模式,主節點Master在故障回復重新開啟使用時會掠奪當前從服務器的虛擬IP,重新占據中心地位,在一個去中心化的集群中,可配置非搶占模式,即正在處于服務狀態的主機虛擬IP不會被搶走知道此臺服務器出現問題。

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

nopreempt

state BACKUP

調整后的配置文件如下:

! 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調整為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指向

判斷當前服務器是否擁有虛擬IP,執行如下命令,如果有結果則說明當前服務器正處于服務狀態,如果查詢為空,則說明當前服務器不用有虛擬IP,處于備用狀態。

ip addr|grep 10.122.111.99

Linux,Keepalived,原理分析

說明當前服務器擁有虛擬IP。

8、如何判斷腦裂?

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉善县| 沭阳县| 武乡县| 疏附县| 宜黄县| 奉贤区| 平利县| 佳木斯市| 嘉禾县| 吉林市| 霍林郭勒市| 张北县| 遵化市| 上思县| 枞阳县| 清水县| 什邡市| 铜鼓县| 高雄市| 吴川市| 固安县| 巨野县| 迁安市| 买车| 玉屏| 页游| 镶黄旗| 博客| 孟连| 临潭县| 宜兰市| 济南市| 五原县| 阜新市| 兴和县| 含山县| 莲花县| 南陵县| 梁平县| 北流市| 华蓥市|