Postgresql

如何在兩個相互依賴的 upstart 或 /etc/init.d 服務之間放置更大的延遲?

  • February 3, 2013

我的PostgreSQL服務必須在 之後啟動OpenVPN,並且當我檢查 rc.X 目錄的順序時,它們被列為 S16openvpn 和 S19postgresql,因此它們的順序正確。

但是,通過 VPN 連接到數據庫失敗,並且日誌始終顯示PostgreSQL無法在啟動時綁定。我的猜測是所有 OpenVPN 服務都需要一些時間才能啟動並PostgreSQLOpenVPN網路載入完成之前啟動。

OpenVPNPostgreSQL 有沒有辦法在放棄之前嘗試重新載入並嘗試綁定到網路?

在我看來,您正在嘗試將 postgres 綁定到與隧道關聯的 IP。如果是這種情況,這ip_nonlocal_bind是解決您問題的方法。設置 ip_nonlocal_bind 允許您綁定到任何 IP,甚至是與您的電腦無關的 IP,這正是您想要綁定到您還沒有的 IP 時想要的 - 例如,當使用在活動之間浮動的虛擬 IP 時和被動節點。

假設這只是 ipv4;

echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

或者扔進/etc/sysctl.conf

net.ipv4.ip_nonlocal_bind

引用自:https://serverfault.com/questions/474997