postgresql中如何使用keepalived的方式進(jìn)行IP的切換

本篇文章為大家展示了postgresql 中如何使用keepalived的方式進(jìn)行IP的切換,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供景縣企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、html5、小程序制作等業(yè)務(wù)。10年已為景縣眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

關(guān)于IP 切換的方法,有不少,但還是愿意從簡單的方式來,這里高可用涉及的問題有兩個(gè) 1 主機(jī)的關(guān)閉  2 PostgreSQL 服務(wù)DOWN  ,至于怪異的一些例如PG 服務(wù)在,但無響應(yīng),這樣的問題,不在考慮的范圍內(nèi)。

以下的方案僅僅適合雙機(jī)方案(如果是三臺機(jī)器,也可以仿照MHA 中priority,調(diào)整其中一臺不參加切換)

這里使用的是keepalived的方式進(jìn)行IP 的切換,之前幾期是有包含repmgrd 自動(dòng)切換從到主的方式,所以剩下的就是IP的切換問題。原因倆字,方便。

keepalived 的安裝和配置這里就不講了,主要的原理畫一個(gè)圖

postgresql 中如何使用keepalived的方式進(jìn)行IP的切換

就是主和從進(jìn)行切換,而這里的witness可以不要,主要還是看需求(如果不知道,可以看前幾期)。廢話少說,以下幾點(diǎn)是需要注意的

1 POSTGRESQL.CONF  監(jiān)聽地址要怎么設(shè)

2 當(dāng)主機(jī)失敗后,又啟動(dòng)了,怎么辦的問題

問題 1 當(dāng)然listen 要設(shè)置成 0.0.0.0 而不是本機(jī)的IP 了

問題 2 當(dāng)然不能失敗的主機(jī)啟動(dòng)后就搶回VIP,那正常工作的新主怎么辦,更可怕的是那數(shù)據(jù)的一致性這個(gè)問題就要出問題,這可是不能馬虎的,否則離,被離職就不遠(yuǎn)了。

處理這個(gè)問題就需要 keepalived 要設(shè)置 nopreempt 防止失敗的主,再次啟動(dòng)后,搶占VIP,另外兩個(gè)KEEPALIVED.conf中都要設(shè)置成 backup的狀態(tài),通過priority 來判斷當(dāng)前那個(gè)是主,另外priority 之間的差距不要設(shè)置的太大,否則你就可能會等待一段時(shí)間才能VIP 切換,當(dāng)然很可能由于VIP 切換過快,導(dǎo)致 regmgr 還未將從庫promote ,程序可能會報(bào)錯(cuò),但這總比下面的情況要好,例如主庫失敗,又重啟了,但你的promote 已經(jīng)做完,這時(shí)如果VIP 沒有切換,則數(shù)據(jù)就會出現(xiàn)不一致,所以VIP 切換還是快點(diǎn)好,哪怕promote 沒有做完。

下面是一些KEEPALIVED 的配置

postgresql 中如何使用keepalived的方式進(jìn)行IP的切換

下面我們就做一下,看看這樣靈不靈

1 目前有 21  22 兩臺機(jī)器 ,VIP 23

目前主庫是在22上,關(guān)掉22的POSTGRESQL 的服務(wù),等待REPMGRD 切換主從,于此同時(shí)通過KEEPALIVED來檢測 PG的服務(wù),然后進(jìn)行切換IP 的工作。

1  正常狀態(tài) 21 從庫

postgresql 中如何使用keepalived的方式進(jìn)行IP的切換

2 關(guān)閉 22 ,22 已經(jīng)無法連接

postgresql 中如何使用keepalived的方式進(jìn)行IP的切換

3 查看當(dāng)前的主從是否已經(jīng)切換,IP是否切換了

postgresql 中如何使用keepalived的方式進(jìn)行IP的切換

已經(jīng)切換了,主從,21變?yōu)榱酥鲙欤琁P 也在后面進(jìn)行了切換。

這樣做的優(yōu)點(diǎn),

搭建簡單,部署方便,可以應(yīng)付大面積的高可用需求。

這樣做的缺點(diǎn)

部分地方做的不嚴(yán)謹(jǐn),需要進(jìn)行調(diào)試和掌握相關(guān)的技巧。

上述內(nèi)容就是postgresql 中如何使用keepalived的方式進(jìn)行IP的切換,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:postgresql中如何使用keepalived的方式進(jìn)行IP的切換
URL鏈接:http://muchs.cn/article20/pdgpjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、小程序開發(fā)域名注冊、網(wǎng)站制作、微信公眾號網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管