Failovercluster

具有手動故障轉移的 DRBD

  • May 14, 2015

考慮使用 DRBD 或集群文件系統來幫助在小型企業環境中發生停機時保持正常執行時間。

我們目前使用伺服器盒作為使用 Linux 和 samba 的文件伺服器,然後在 VM 中執行 Web 伺服器和數據庫。正在考慮添加第二台伺服器並將文件和 VM 放到分佈式文件系統上。基本作業系統更加靜態,並且可以更輕鬆地手動管理(在更改時復製配置文件,如果需要從完整備份中複製基本作業系統等)

問題是關於手動完成的故障轉移方案。如果伺服器 1 宕機並手動完成故障轉移,只需將伺服器 2 的靜態 IP 設置為伺服器 1(伺服器 1 再次關閉並將處於需要修復的狀態)、啟動 Samba 並啟動即可完成故障轉移與在伺服器 1 上執行並啟動備份服務時具有相同靜態 IP 的 VM?

這聽起來像是一個快速而簡單的過程,幾乎太簡單了。我錯過了什麼嗎?這也可以很容易地通過腳本或一些不太熟練的人在發生故障時被指示執行的東西來自動化。

如果我們有硬體故障,如果沒有隨叫隨到的 IT 支持和所需的元件,如果沒有第二台伺服器的支持,停機時間很容易是幾天,但是使用第二台伺服器,停機時間最多可能是幾個小時(如果沒有一個是辦公室足夠精通執行此類操作,如果有人是分鐘)

您描述的故障轉移過程很簡單,因為它是正確的。使用 DRBD 是創建冗餘的關鍵步驟,因為您可以消除共享儲存等單點故障。

您提到的目前故障轉移可以通過Pacemaker/Corosync輕鬆自動化,因此無需手動干預。我更喜歡自己編寫的腳本,因為它還需要保護功能不正常的節點,這樣你就不會遇到腦裂的情況(這可能會搞砸你的所有數據)。

請記住,“真正的”HA 需要係統的完全(或至少最大可歸檔)分離(單獨的房間(或至少是機架)、不同的 USV、冗餘切換等)。單點故障通常會破壞您優化可用性的全部努力。

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