Postgresql

Postgresql 複製 - Pacemaker 與 DRBD

  • September 13, 2017

我需要設置一個高度可用的 Postgresql 集群。所以我發現帶有 pgpool 負載均衡器的 Pacemaker 和 DRBD 是最好的選擇。

所以架構看起來像這樣。

在此處輸入圖像描述

據我所知,DRBD 用於塊級複製(適用於儲存),Pacemaker 是服務集群(適用於服務級)。那麼哪個是最好的使用和最好的 HA 解決方案?

另一個問題是我使用 AWS EC2,那麼我該如何管理 VIP(我的意思是,如果主伺服器出現故障,PGpool 將如何將 VIP 切換到其和 AWS 中的備用伺服器)?

通常,您同時使用它們。DRBD 同步複製數據,Pacemaker 管理服務啟動的位置。Pacemaker 將控制 DRBD 的升級/降級,以及啟動您的數據庫和虛擬 IP 地址。

Pacemaker 用於resource-agents管理集群服務。其中之一是用於在 AWS 節點之間移動輔助 IP 的資源代理: https ://github.com/ClusterLabs/resource-agents/blob/master/heartbeat/awsvip

希望這會引導您走上正確的道路。

除非您完全信任您的圍欄,否則共享儲存對於 postgres 來說是一個非常糟糕的主意。

看起來 DRBD 是單主的,所以應該沒問題。

確保非主伺服器的 postgres 完全關閉是絕對重要的,並且兩個 postgres 實例可以共享同一個數據目錄的重疊為零。否則會發生大量數據損壞。PostgreSQL不是共享儲存數據庫。

讓您的 STONITH 和擊劍正確。

就個人而言,我建議使用 PostgreSQL 的複制,而不是塊設備複製,但我是一名 PostgreSQL 開發人員,所以這不足為奇。

引用自:https://dba.stackexchange.com/questions/185750