Linux

不同子網上的 IP 故障轉移

  • July 5, 2012

我有兩台真實的伺服器,在不同的子網上,每台都有一個永久 IP,並且有一個可供任一伺服器使用的故障轉移 IP。託管商提供了一個 API,我可以通過該 API 將故障轉移 IP 分配給任何伺服器。所以我需要在每台伺服器上執行一個守護程序,它將監控本地伺服器的健康狀況,同時與另一台伺服器上的對應伺服器通信,以便兩者一起(或只有一個,如果其他失敗)決定誰將獲得故障轉移 IP(並執行一個腳本來告訴主機的 API 適當地路由它)。

keepalived不能這樣做,除非(據稱)使用 Willy Tarreau 的單播更新檔,我已經嘗試過,但沒有成功。此外,守護程序最好不要嘗試從網路介面獲取或釋放 IP;首選設置是兩台機器的介面始終具有故障轉移 IP 地址。

heartbeat做到嗎?其他類似的程序可以做到嗎?我最終編寫了自己的守護程序,它確實可以正常工作,但是如果現有程序可以做到,我認為沒有理由維護它。

Heartbeat 可以做到這一點,因為它能夠執行任意腳本來管理資源,因此您可以編寫腳本來呼叫託管服務提供商的 API 來移動 IP 地址。

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