Failover

小型辦公室中 HA 伺服器的 DRBD

  • September 12, 2013

**背景:**我們需要一個小型辦公環境中的 HA 伺服器,並且正在尋找 DRBD 來提供它。我們只有大約 100GB 需要在 HA 伺服器上,伺服器負載將非常低。如果我們歸檔舊的辦公室數據,數據可能每年增加約 10%-25%,如果我們不歸檔,則每年增加 50%-75%。

關鍵是我們混合使用了消費級和使用過的企業級硬體,如果我們不提前計劃,這將是一個問題;並且預先建構的優質伺服器確實會失敗,因此冗餘伺服器似乎是要走的路。

**計劃:**我們認為最好找到 (2) 台性價比最高的二手伺服器並同步它們。我們只需要支持 SATA/SAS 的伺服器和空間,以盡可能多的驅動器的價格。這些伺服器似乎可以用於 $ 100- $ 200(+一些零件和額外的驅動器)如果你達成交易。

從理論上講,這意味著伺服器可能會發生故障,如果我們需要幾天的時間才能到達它,只要我們沒有另一個巧合的故障,事情仍然會一直嗡嗡作響,直到我們的 IT 部門(我)能夠解決它。我們將使用 Debian 作為作業系統。

一些問題

  1. (A) DRBD 如何處理驅動器或控制器故障?那就是儲存驅動之前顯示DRBD,那麼當控制器發生故障並寫入臟數據或驅動器發生故障但沒有立即崩潰時會發生什麼?數據是否鏡像到另一台伺服器,在這種情況下是否存在跨伺服器數據損壞的風險?
  2. (B) DRBD 的故障點是什麼;理論上,只要一台伺服器啟動並執行,就不會出現任何問題。但是我們知道存在問題,那麼使用 DRBD 的故障模式是什麼,因為理論上大多數應該是軟體?
  3. 如果我們將為此使用兩台伺服器,那麼在每台伺服器上執行虛擬機並使用 MYSQL 和 Apache 進行數據庫和 Web 伺服器複製是否合理?(我假設是這樣)
  4. DRBD 是否足夠可靠?如果不是,那麼不可靠性是孤立於某些任務,還是更加隨機。搜尋出現了各種問題的人,但這是一個看似壞資訊多於好資訊的網際網路。
  5. 如果數據通過 LAN 同步,DRBD 是否使用雙倍頻寬?也就是說,我們是否應該在 NICS 上加倍並進行一些鏈路聚合和中繼?然後也許把它們放在不同電路上的不同路由器上,把 UPS 放在不同房間裡,現在你真的有一些冗餘了!
  6. 就伺服器管理而言,這對於辦公室來說是否太瘋狂了?是否有更簡單的 REALTIME 替代方案(授予 DRBD 在理論上似乎很簡單)。

我們已經有一個伺服器。所以在我看來,第二台帶有 DRBD 專用驅動器的 USED 伺服器可以輕鬆使用 $ 150- $ 250 有一些聰明的購物。添加第二個路由器、更多驅動器、更多 NIC(已使用)和 (2) 個 UPS,並且價格為 1,000 美元 +/-。那是相對便宜的!我希望這主要是在伺服器故障期間為我們爭取時間。如今,驅動器故障似乎更容易使用 RAID 處理。其他硬體故障,如控制器、記憶體或電源,可能需要停機來診斷和修復,這是值得關注的問題。

對我們來說,冗餘伺服器意味著使用過的硬體變得更加可行,並且在我的日程安排允許時,我可以有更多的正常執行時間和更大的靈活性來修復問題,而不必停止一切來修復伺服器。

希望我沒有錯過這些問題有容易搜尋的答案。我快速搜尋並沒有找到我要找的東西。

首先,您需要定義“HA”的真正 含義。您要防範什麼,類型 X 和持續時間 Y 的中斷的成本是多少?它將如何影響您的組織?無論如何,您在這個組織中的角色是什麼?您的時間價值幾何?你能在這上面花多少時間?之後,您必須決定此要求是否允許這種解決方案,或者您是否需要其他解決方案。

第二:在我的世界裡,“我需要 HA”和“我要花 200 美元購買糟糕的二手伺服器”這兩個句子不可能放在一起(事實上,對我來說,購買二手垃圾和任何類型的專業用途都不要) t完全適合在一起)。

無論如何,你的問題:

  1. 如果您將全新的數據寫入 DRBD 塊設備,它將被正確寫入到未損壞的控制器上。它是實際磁碟前面的一個完全透明的層,就像軟體 RAID 或 LVM 一樣。但是,如果由於控制器損壞或磁碟讀取錯誤導致主節點上的數據損壞,這很容易傳播到輔助節點,因為寫入操作通常是讀取-修改-寫入循環,在這種情況下,一個塊將在主節點上讀取損壞的數據,並將此塊的寫入操作發送到兩個節點。這帶來了使用 DRBD 時最重要的一點:與 RAID 一樣,它絕不可以替代良好且可靠的備份。
  2. 我不明白你在這裡的意思。
  3. 當在單節點設置中使用 VM 很有用時,它也將在兩節點設置中使用,並且如果操作正確,您將擁有可能進行實時遷移的優勢。
  4. 以我的經驗,是的。不過,您應該在您的環境中對其進行徹底測試,並花費大量時間模擬系統可以體驗的各種故障狀態,並學習並記錄如何從中恢復。雖然它是可靠的,但 DRBD 不是自我修復的,需要對情況有很好的了解才能從故障條件中恢復。
  5. 確實需要節點之間的專用連接。在雙節點設置中,這可以是沒有交換機或其他東西的點對點連接。從技術上講,其他一切都可能是可能的,但這只是胡說八道。根據您的使用模式,為此專用鏈路使用中繼或更快的 NIC(例如 10G 乙太網或 Infiniband)可能是有益的,但如果要讀取或寫入的大部分/所有數據來自 LAN 介面,這將無濟於事,因為無論如何,您都受到區域網路的限制。
  6. 這又回到了我的第一段:你對它有什麼期望,你認為 HA 是什麼?對於經驗豐富的系統管理員來說,這可能是一種廉價且可靠的方法來防止出現一系列故障,但它需要對元件如何組合在一起有很多基本的了解。但是,許多沒有這種經驗豐富的全職 SA 的小商店最好擁有優質的硬體和良好的支持契約。

最後:不要嘗試在您目前的硬體上追溯安裝任何 HA 解決方案。正如我所寫的,您需要時間來試驗設置及其故障條件。這需要大量停機時間,並且無法在您的生產硬體上合理地完成。

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