2013-03-28 52 views
0

我們的生產環境通常由在4-8的Apache Web服務器和2(我的)SQL服務器:負載平衡器和SQL備份

  • 每個Web服務器隸屬於一個SQL服務器
  • SQL服務器有一個循環複製設置
  • 所有的Web服務器都是負載平衡的,例如磅。

每天晚上一份工作備份SQL服務器之一,鎖定關聯的Web服務器約10-15分鐘。

有沒有辦法配置平衡以避免在短時間內到達那些鎖定的服務器?

除了備份非生產性第三臺服務器之外,是否還有另一種方法來處理此鎖定?

PS:我們預計重新加載英鎊的配置,只是在備份之前和之後,用適當的配置文件,但感覺有點奇怪......

+0

似乎英鎊能夠檢測到服務器失敗並相應地重新分配負載,直到服務器檢測到再次工作。難道你不能簡單地在備份時關閉磅和服務器之間的連接,這樣看起來就像是重磅? – didierc

+0

池只知道附屬於備份SQL服務器的4個Web服務器。我確實可能會關閉web-sql通信,以便Web服務器自身響應LB的故障,但它會反彈到另一個潛在的關聯服務器,並在它反彈回響應服務器之前產生大量嘈雜的錯誤...在乍一看,不是一個壞主意,但在錯誤日誌方面非常嘈雜。這對我們來說是一個問題。 –

+0

如果你們其中一個更親近的人有禮貌地告訴我在哪個SE網站 - 我應該發佈這個問題,這會有很大的幫助。非常感謝 –

回答

1

如何使用poundctl禁用和重新啓用後端服務器?它必須在本地運行(命令協議使用unix套接字),但您可能可以通過ssh會話遠程啓動它。

從手冊頁:

OPTIONS

[...]

-B/-bÑm個R

 Enable/disable a back-end. A disabled back-end will not be passed requests to answer. Note however that existing sessions may still cause requests to be sent their way. 

-n n×m個ķ

 Remove a session from service m in listener n. The session key is k. 
+0

這可能比重新加載替代配置文件更好,更清潔。爲了觸發,我寧願使用本地cron表。 –

+0

啊,好主意,只要備份需要可預測的時間,兩項任務都可以單獨運行。 – didierc