Keepalived 實現高可用

2021-10-23 14:16:47 字數 3028 閱讀 3946

對於主負載均衡伺服器,修改配置檔案

vim /etc/keepalived/keepalived.conf

! configuration file for keepalived

global_defs

vrrp_instance vi_1

virtual_ipaddress

}

備用負載均衡伺服器

vim /etc/keepalived/keepalived.conf

! configuration file for keepalived

global_defs

vrrp_instance vi_1

virtual_ipaddress

}

這個時候重新啟動keepalived服務

systemctl restart keepalived

如果發現有兩個虛擬vip 這是因為防火牆沒有關閉的原因。

iptables -l

systemctl disable firewalld

就可以。

這就是腦裂現象。

還有虛擬的vip的子網掩碼必須加,不然預設為32。會造成不能自動切換。

這裡實現使用指令碼來監測,從而實現郵件通知。

然後配置配置檔案:

vim /etc/mail.rc

在最後幾行新增

set [email protected] smtp=smtp.163.com

set [email protected] set smtp-auth-password=ljxzihmlyiryeezl smtp-auth=login

兩行,其中set from使用的是第三方郵箱,自行註冊,我這裡是163的,還有smtp-auth-password是smtp的碼不是郵箱密碼。

一切準備好之後,重新啟動服務。

systemctl restart postfix

指令碼:

#! /bin/bash

ip a s eth0 igrep "192.168.1.2"

>/dev/nul1

if[$?-ne 0 ]

;then

echo

"keepalived服 務出現異常,請進行檢查"

|mail -s 異常告警-keepalived 177156668@qq . com

fi

寫入定時任務,每幾分鐘進行監控。

指令碼:

vim check_web.sh

#! /bin/bash

num=ps -ef i grep -c nginx

if[$num -lt 2 ]

;then

systemctl stop keepalived

fi

需要注意,check_web.sh這裡指令碼名稱如果帶有nginx的話會造成查詢問題。

keepalived配置檔案

check_ web =/server/scripts/check_web. sh

vrrp_script check_web

$check web

track_ script

}

weight引數:權重值引數,主要用於和優先順序進行運算

重要知識點02:

重要知識點03:

第一台負載均衡伺服器

vim /etc/keepalived/keepalived.conf

! configuration file for keepalived

global_defs

vrrp_instance vi_1

virtual_ipaddress

}vrrp_instance vi_2

virtual_ipaddress

}

第二台負載均衡伺服器

vim /etc/keepalived/keepalived.conf

! configuration file for keepalived

global_defs

vrrp_instance vi_1

virtual_ipaddress

}vrrp_instance vi_2

virtual_ipaddress

}

重啟服務

systemctl restart keepalived

修改nginx負載均衡檔案

第一台負載均衡伺服器

upstream load_banalcing 

server

}server

}

第二台負載均衡伺服器

upstream load_banalcing 

server

}server

}

再重啟的時候會有報錯

異常問題報錯:

nginx: [emerg] bind() to 192.168.1.2:80 failed (99: cannot assign requested address)

如何設定監聽網絡卡上沒有的位址

解決:需要修改核心資訊

echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf

sysctl -p

這裡需要注意,有關ip的設定,reload配置檔案是不可以的,必須重新啟動。

keepalived實現高可用

一.keepalived是什麼 keepalived最初是為lvs負載均衡設計的,用於監控lvs集群系統中的各個節點的服務狀態。後來又加入了基於vrrp的高可用功能,所以也可以作為nginx,mysql等服務的高可用解決方案使用。vrrp virtual router redundancy prot...

keepalived實現Nginx高可用

tar zxvf keepalived 2.0.15.tar.gz c usr local src 進入到keepalived目錄 cd usr local src keepalived 2.0.15 指定keepalived安裝錄了 configure prefix usr local keepa...

使用keepalived實現高可用

通常情況下,都是啟動2臺相同的業務系統,一台故障,另外一台自動接管。後端一般情況下我們使用集群,排除了單點故障造成的影響,前段7層負載的高可用就尤為重要了 keepalived使用vrrp協議,虛擬路由冗餘協議。依靠vmac和vip實現高可用技術方案,俗稱位址漂移。搶占式高可用配置 1.實踐環境,配...