帶有 DRBD/Pacemaker/Corosync 2 節點群集的 STONITH

帶有 DRBD/Pacemaker/Corosync 2 節點群集的 STONITH

因此,關於使用 STONITH 與 2 節點 DRBD/Pacemaker/Corosync 叢集來複製 MySQL 數據,我看到了許多相互矛盾的觀點。我可以在上找到的例子 心律調節器網站似乎將其關閉,但很多其他地方都說你應該保持它打開......我的設置將是帶有2 個接口的2 個節點,一個物理連接到另一台機器,另一個連接到交換機。在這種情況下,如果我有冗餘通信,那麼 STONITH 是否必要?如果一台伺服器失去了兩個網路連接,它無論如何都不會接收任何 MySQL 數據,當它恢復時,我計劃將黏性設定為無限,這樣它(不應該)就不會嘗試成為主伺服器。在這種情況下,STONITH 是否必要,甚至是可取的?

答案1

最好的方法是測試不同故障模式下實際發生的情況,以確保沒有單一故障可能導致兩台 MySQL 伺服器都嘗試成為主伺服器。

測試禁用一台伺服器上的網路連線。查看兩台伺服器上發生的情況,並觀察將其恢復後會發生什麼情況。

對任何冗餘連接執行相同的操作。然後執行相同的操作,立即停用所有網路連線。

不在雙節點叢集上執行 STONITH 的原因之一是,很容易導致兩個節點都試圖殺死另一個節點,並且實際上成功了。您需要測試您的設置,以確保它們不會同時關閉,或者都作為主伺服器繼續運行並使您的資料庫不同步。

我建議的另一件事是,當你在測試它時,在它投入生產之前:故意破壞它。做一些會導致 mysql 和 drbd 不同步的事情,並學習如何修復它。寫下您需要採取哪些措施來修復它。因為在真正需要之前知道如何做會更好。

相關內容