KeepAlived 安裝部署 主節點

2021-10-01 06:01:54 字數 3928 閱讀 7298

概念

一、 keepalived 工作原理,tcp會在空閒了一定時間後傳送資料給對方:

1.如果主機可達,對方就會響應ack應答,就認為是存活的。

2.如果可達,但應用程式退出,對方就發fin應答,傳送tcp撤消連線。

3.如果可達,但應用程式崩潰,對方就發rst訊息。

4.如果對方主機不響應ack、rst,繼續傳送直到超時,撤消連線, 預設超時時間為2小時。

二、 說到 keepalived,需要先明確一點,這個 keepalived 說的是tcp的還是http的

1 tcp的keepalived

以檢測web伺服器為例,keepalived從3個層次來檢測伺服器的狀態

(1)ip層看網路是否正常keepalived定期ping目標伺服器,如果此ip位址沒有啟用,keepalived便報告這台伺服器失效,進行移除

(2)tcp層看web伺服器端口是否正常例如一般web服務的埠為80,keepalived定期檢視80埠,如果沒有啟動,報告失效

(3)應用層看應用程式是否正常keepalived將根據使用者的設定,檢查伺服器程式的執行是否正常,如果與使用者的設定不相符,則keepalived將把伺服器從伺服器群中剔除

2 http的keep-alive

http層有個keep-alive, 它主要是用於客戶端告訴服務端,這個連線我還會繼續使用,在使用完之後不要關閉。

三、對虛擬ip的理解?什麼是虛擬ip?

我現在能理解的是,在機器原來的網絡卡上,在註冊乙個新的ip位址,正常情況下,一台電腦只有乙個ip位址,如果想讓一台電腦有多個ip位址應該怎麼辦呢?那就在這台機器的網絡卡上在申請乙個ip位址,用keepalived來實現。

環境

[root@test1~]

# keepalived -v

keepalived v1.

3.5(03/

19,2017

)

hostname

ipdes

test1

192.168.180.46

master

test2

192.168.180.47

node-1

test3

192.168.180.48

node-2

test4

192.168.181.18

node-3

一、安裝部署

[root@test1~]

# yum install -y keepalived

二、配置檔案

檢視當前要指定虛ip的網絡卡

[root@test1~]

# ip add | grep ens160

2: ens160:

<

broadcast

,multicast,up

,lower_up

> mtu 1500 qdisc mq state up group default qlen 1000

inet 192.168

.180

.46/

24 brd 192.168

.180

.255 scope global noprefixroute ens160

[root@test1~]

#

[root@test1~]

# vim /etc/keepalived/keepalived.conf

# 1 全域性塊

global_defs

notification_email_from eric@qq

.com # 傳送郵件的人

smtp_server smtp.exmail.qq.com # smtp伺服器位址

smtp_connect_timeout 30

# smtp超時時間

router_id eric_keepalived_master # 機器標識

vrrp_skip_check_adv_addr

vrrp_garp_interval 0

vrrp_gna_interval 0

}# 2 vrrp協議 例項塊

vrrp_instance eric_vi_1

inte***ce ens160

# 指定虛擬ip定義在那個網絡卡上面(本機指定為 ens160 網絡卡)

# 定義虛擬ip塊。客戶通過該ip訪問伺服器

virtual_ipaddress

}

三、啟動
[root@test1~]

# systemctl start keepalived.service && systemctl enable keepalived.service && systemctl status keepalived.service

四、檢視是否建立成功
[root@test1~]

# ip add | grep ens160

2: ens160:

<

broadcast

,multicast,up

,lower_up

> mtu 1500 qdisc mq state up group default qlen 1000

inet 192.168

.180

.46/

24 brd 192.168

.180

.255 scope global noprefixroute ens160

# 發現多了乙個虛擬ip就是成功了

inet 192.168

.180

.168

/24 scope global secondary ens160

[root@test1~]

#

備節點

常見問題

1 vrid 問題

dec409

:18:45 test1 keepalived_vrrp

[27680]:

vrrp_instance

(eric_vi_1

) ignoring received advertisment...

dec409:

18:46 test1 keepalived_vrrp

[27680]:

(eric_vi_1

): ip address associated with vrid

51not present in

master advert :

192.168

.180

.47dec409

:18:46 test1 keepalived_vrrp

[27680

]: bogus vrrp packet received on ens160 !!!

# 原因

# virtual_router_id 51 有衝突

# 解決辦法

# 修改配置檔案中 virtual_router_id 的值 51 改為 56 或其它值

2 虛擬ip 無法ping通

keepalived.conf 配置中預設vrrp_strict開啟了,需要把它注釋掉。重啟keepalived即可ping通。

keepalived安裝部署

上傳伺服器安裝 tar xvf cd keepalived 1.3.5 configure prefix usr local keepalived make make install ln s usr local keepalived sbin usr bin ln s usr local keep...

Keepalived安裝部署

通過ftp工具上傳到linux中,home software 解壓tar zxvf keepalived 2.0.18.tar.gz解壓後進入到解壓出來的目錄,看到會有configure,那麼就可以做配置了 配置安裝和nginx一模一樣 使用configure命令配置安裝目錄與核心配置檔案所在位置 ...

Keepalived部署雙主熱備

二 配置keepalived主和從 2.2 配置keepalived 從 2.3 啟動keepalived 三 keepalived註冊為系統服務 四 keepalived配置nginx自動重啟 五 配置keepalived雙主熱備 上傳壓縮包 scp keppalived.tar.gz root ...