1

我目前在Ubuntu 14.04上有一個包含許多數據庫的master postgresql 9.4服務器。postgresql 9.4高可用性拓撲

我試圖用巴曼設置備份,而是想建立流副本,這樣,當主下山,我可以促進備用副本成爲新的主人。我查看了repmgr,但這隻會產生一個只讀的熱備用服務器。這是否意味着我應該採用多主解決方案,如果我想提升待機狀態以接受寫交易?

我設想的系統是

M1 (master) -------------via ???-------------- S1 (standby/another master) 
    |            | 
    |via Barman          | via Barman 
    |            | 
B1 (backup server#1)       B2 (backup server#2) 

理想情況下,M1下山後,我可以促進S1成爲新的主,它可以接受閱讀不僅僅是隻讀/寫事務。一旦我們帶回M1,M1可以保持待機狀態,但會與S1一起播放。

是postgres 9.4 BDR(雙向複製)是一個很好的解決M1和S1之間的流?或者有什麼商業產品可以做到這一點?

我不是DBA,並會真正感謝您的意見。

非常感謝!

回答

1

聽起來像標準流媒體複製是你所追求的。

在這種情況下,你有一個單一的主這需要所有寫操作,然後一個或多個只讀副本,您可以分割讀取跨越,以減少對主載荷。

如果主數據庫服務器發生任何問題,可以將其中一個副本提升爲主服務器。一旦副本被提升爲主數據庫,它就可以被寫入。

退房http://www.slideshare.net/jkshah/py-pg-day2013harep更多信息如何將這些設置工作(跳到下滑21 PostgreSQL的東西)

+0

這是否意味着我需要在待機狀態下設置hot_standby = on?但是,當hot_standby = on時,待機將在恢復期間執行只讀查詢。爲了促進對全功能(讀寫)主機的待機,我應該將host_standby關閉嗎? – wolf97084 2015-02-24 21:42:10

1

什麼你正在尋找像一個單一的主,多個(可能是2)暖待機簇。如果原始服務器出現故障,可以將一臺備用服務器升​​級爲主服務器。根據9.4,支持流式複製。

 
`M1 (master) ---> S1 (warm stand-by) ---> S2 (cascading replication)` 

但我建議同時使用文件和基於流的複製爲備用。

Postgresql 9.4支持以上所有。檢查http://www.postgresql.org/docs/9.4/static/high-availability.html