Linux 上有好的故障轉移/高可用性解決方案嗎?

Linux 上有好的故障轉移/高可用性解決方案嗎?

我有幾種情況,在發生故障(伺服器掛起或崩潰)時,我需要將應用程式從一台伺服器遷移到另一台伺服器。

在Solaris 上,我們使用VCS(Veritas Cluster Server)來完成此操作。 Linux 有哪些可用選項?

請指出每個項目的設定/維護工作量或成本(如果有)。

-- 增加了更多細節 --

給出複雜程度的概念:

  • 發生故障的伺服器可能會掛起或崩潰,恕不另行通知,但可能仍然“可 ping”
  • 恢復伺服器需要在故障轉移時啟動其應用程式
  • 一旦伺服器啟動/重新啟動失敗,它就會變得被動,以免干擾恢復伺服器。

這是一個資料收集或計算節點,而不是資料庫,因此可以使用更簡單的解決方案。

--更多細節(抱歉)--

共享儲存不是一種選擇,但沒有太多狀態(如果有)需要從一台伺服器遷移到另一台伺服器。我們透過 rsync 使兩個伺服器保持同步。

非常感謝您迄今為止發布的所有帖子。

答案1

http://linux-ha.org/滿足您所有的高可用性需求。正如歌曲中所唱,生命中最美好的事物都是免費的。

答案2

我在Linux上使用過多種叢集解決方案。我也是組態管理的支持者,所以我將在我的描述中添加一些相關內容(即 Chef 或 Puppet)

Veritas 叢集伺服器 (VCS)。已經有一段時間了,我們在 RHEL 3.0 上部署了一些 Linux VCS 叢集。我希望它可以在 RHEL 5.0 上使用。您應該熟悉設定它的困難,因為它是熟悉的領域。您可能知道,VCS 很昂貴。有趣的是,VCS 不太適合透過設定管理進行設定。

說到 RHEL,紅帽叢集套件自最初隨 RHEL 2.1 一起發布以來已經成熟了很多。設定/配置階段非常簡單,文件非常完整且有用,並且像 VCS 一樣,您可以從供應商購買支援。對於商業 HA 產品,RHCS 的價格合理。我只會使用設定管理來安裝軟體包,並透過 Web 介面「手動」維護它們。另外,我聽說有些人在非紅帽平台上使用它,儘管我沒有直接的經驗。

Linux-HA(drbd/heartbeat)也很棒,儘管來自 VCS 的配置可能看起來很簡單,但又很笨拙。使用組態管理工具可以輕鬆實現自動化。

作為概念驗證,我安裝了一個帶有 IBM 的 HACMP(他們的 AIX 叢集軟體)的 Linux 叢集。我不推薦這個,因為我記得它比 VCS 還要貴。 IBM 有安裝和維護 HACMP 的特定流程,我在這裡不會使用設定管理。

答案3

Michael 是對的,社群現在有點分裂,文件也有點稀疏。

其實一切都在那裡,只是無法理解。您真正想要的是“起搏器配置解釋”電子書...(連結至 PDF)。你會想要讀它大約十幾遍,然後試著實現它,然後再讀它十幾遍,這樣你就能真正理解它。

目前最受支援的 Linux 叢集服務實作可能是 Novell 的 SLES11 及其高可用性擴充 (HAE)。它在一兩個月前剛剛發布,並附帶了一本厚厚的 200 頁手冊,描述瞭如何設置它並使其運行。 Novell 在支援各種形式的 Pacemaker 配置方面也表現出色。

除此之外,還有 RHEL5 的實現,它具有相同的軟體包和不錯的文檔,但我認為它比 SLES 更昂貴。至少,對我們來說是這樣。

我現在會避免使用 Heartbeat,而選擇 Pacekmaker/OpenAIS,因為它們在未來會得到更好的支持。然而,社群的現狀是,有一些專家,有些人在生產中運行它,還有一大群人完全無能為力。加入 Pacemaker 郵件列表並關註一個名叫 Andrew Beekhof 的人。

編輯以提供所需的詳細資訊:

Pacemaker/OpenAIS 在「原始資源」(例如nfs 伺服器)上使用「監視」操作來追蹤資源正在執行的操作。如果範例 NFS 伺服器在 X 秒內對叢集的其餘部分沒有回應,則叢集將執行 STONITH(Shoot The Other Node In The Head)操作來關閉主節點,從而將輔助節點提升為活動狀態。您可以在設定中決定隨後要顯示的內容以及要執行的相關操作。那裡的實作細節取決於您嘗試進行故障轉移的服務、某些操作的執行視窗(例如將主節點提升回主節點),而整個事情幾乎是可配置的。

答案4

在 Linux 中,我們使用 heartbeat 和 drbd 實作了叢集。 Heartbeat 檢查伺服器的狀態。 DRBD用於伺服器之間的資料同步。我們在一台伺服器上執行 oracle 服務,在另一台伺服器上執行 apache。當執行oracle的伺服器發生故障時,heartbeat會感知到相同的情況,並在執行apache的伺服器上恢復oracle服務。反之亦然。已將此設定用於許多其他目的,並且迄今為止一直可靠。

相關內容