
考慮使用 DRBD 或叢集檔案系統來幫助小型企業環境中發生停機時保持正常運作。
目前,我們使用 Linux 和 samba 作為檔案伺服器,然後在虛擬機器中執行 Web 伺服器和資料庫。正在考慮新增第二台伺服器並將檔案和虛擬機器放到分散式檔案系統上。基本作業系統更加靜態,並且可以輕鬆地進行更手動的管理(在更改時複製配置文件,如果需要從完整備份複製基本作業系統等)
問題是關於手動完成的故障轉移場景。如果伺服器 1 發生故障並且手動進行故障轉移,只需將伺服器 2 的靜態 IP 設定為伺服器 1(伺服器 1 再次發生故障並且將處於需要修復的狀態),啟動 Samba,然後啟動即可完成故障轉移VM 是否具有與在伺服器1 上執行並啟動備份服務時相同的靜態IP?
這聽起來是一個快速而簡單的過程,幾乎太簡單了。我錯過了什麼嗎?這也可以很容易地透過腳本或一些不熟練的人在發生故障時運行的腳本來實現自動化。
如果我們出現硬體故障,如果沒有待命IT 支援人員的支援以及沒有第二台伺服器所需的零件,停機時間很容易就會持續數天,但如果使用第二台伺服器,停機時間最多可能會是幾個小時(如果沒有)一個是辦公室足夠熟練執行此類操作,如果有人的話,則為分鐘)
答案1
您所描述的故障轉移過程既簡單又正確。使用 DRBD 是建立冗餘的關鍵步驟,因為您可以消除共用儲存等單點故障。
您提到的當前故障轉移可以透過以下方式輕鬆自動化起搏器/Corosync這樣就不需要人工幹預。我更喜歡自己編寫的腳本,因為它還負責隔離不起作用的節點,這樣您就不會遇到裂腦情況(這可能會搞砸您的所有資料)。
請記住,「真正的」HA 需要係統的完全(或至少最大可存檔)分離(單獨的房間(或至少機架)、不同的 USV、冗餘交換等)。單點故障通常會毀掉您優化可用性的全部努力。