您好,登錄后才能下訂單哦!
本篇文章為大家展示了postgresql 中如何使用keepalived的方式進行IP的切換,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
關于IP 切換的方法,有不少,但還是愿意從簡單的方式來,這里高可用涉及的問題有兩個 1 主機的關閉 2 PostgreSQL 服務DOWN ,至于怪異的一些例如PG 服務在,但無響應,這樣的問題,不在考慮的范圍內。
以下的方案僅僅適合雙機方案(如果是三臺機器,也可以仿照MHA 中priority,調整其中一臺不參加切換)
這里使用的是keepalived的方式進行IP 的切換,之前幾期是有包含repmgrd 自動切換從到主的方式,所以剩下的就是IP的切換問題。原因倆字,方便。
keepalived 的安裝和配置這里就不講了,主要的原理畫一個圖
就是主和從進行切換,而這里的witness可以不要,主要還是看需求(如果不知道,可以看前幾期)。廢話少說,以下幾點是需要注意的
1 POSTGRESQL.CONF 監聽地址要怎么設
2 當主機失敗后,又啟動了,怎么辦的問題
問題 1 當然listen 要設置成 0.0.0.0 而不是本機的IP 了
問題 2 當然不能失敗的主機啟動后就搶回VIP,那正常工作的新主怎么辦,更可怕的是那數據的一致性這個問題就要出問題,這可是不能馬虎的,否則離,被離職就不遠了。
處理這個問題就需要 keepalived 要設置 nopreempt 防止失敗的主,再次啟動后,搶占VIP,另外兩個KEEPALIVED.conf中都要設置成 backup的狀態,通過priority 來判斷當前那個是主,另外priority 之間的差距不要設置的太大,否則你就可能會等待一段時間才能VIP 切換,當然很可能由于VIP 切換過快,導致 regmgr 還未將從庫promote ,程序可能會報錯,但這總比下面的情況要好,例如主庫失敗,又重啟了,但你的promote 已經做完,這時如果VIP 沒有切換,則數據就會出現不一致,所以VIP 切換還是快點好,哪怕promote 沒有做完。
下面是一些KEEPALIVED 的配置
下面我們就做一下,看看這樣靈不靈
1 目前有 21 22 兩臺機器 ,VIP 23
目前主庫是在22上,關掉22的POSTGRESQL 的服務,等待REPMGRD 切換主從,于此同時通過KEEPALIVED來檢測 PG的服務,然后進行切換IP 的工作。
1 正常狀態 21 從庫
2 關閉 22 ,22 已經無法連接
3 查看當前的主從是否已經切換,IP是否切換了
已經切換了,主從,21變為了主庫,IP 也在后面進行了切換。
這樣做的優點,
搭建簡單,部署方便,可以應付大面積的高可用需求。
這樣做的缺點
部分地方做的不嚴謹,需要進行調試和掌握相關的技巧。
上述內容就是postgresql 中如何使用keepalived的方式進行IP的切換,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。