Postgresql

我可以通過在 NFS 上共享數據目錄來集群 PostgreSQL 嗎?

  • November 11, 2021

我在一台主機上創建了一個 PostgreSQL 集群,並通過 NFS 共享將它共享給另一台主機。即使我可以使用第二台主機訪問集群,但無法使用或登錄數據庫。是否可以由多個主機使用單個集群?所以我可以將它作為單個主機介紹給客戶端,如果用於創建集群的第一台主機關閉,另一台主機會保持集群執行,因此客戶端不會面臨與該集群的任何連接或可訪問性問題。

不,您不能通過 NFS 共享數據目錄。

如果沒有其他原因,這是一個可怕的想法,因為fsync()假設只有一個緩衝區可以連接到執行在發出 fsync 的單個主機上的輸入設備。它只確保從您執行它的主機刷新緩衝區。沒有辦法解決這個問題。您不能與兩台使用fsync.

除了所有的緩衝複雜性之外,還有一些支持的機制來集群 PostgreSQL。我建議查看“高可用性、負載平衡和複製”一章,並查看wiki 頁面*“複製、集群和連接池”*

將 PostgreSQL 數據庫與共享磁碟一起使用,這根本不是一個好主意。您的數據庫可能會崩潰並且您將失去數據。

如果您需要基於共享磁碟的 HA 解決方案(如 RedHat Cluster Suite),請通過您的儲存設備執行此操作,創建一個 LUN 並將其映射到兩台伺服器上。

看看 EDB 網站上的這個文件:

提供更多細節以獲得更好的解決方案。

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