Linux

openSUSE 上 Heartbeat 和 Corosync 的關係

  • May 21, 2013

我正在將 Heartbeat + Pacemaker 設置遷移到 openSUSE 12.1。事實證明,此平台不再支持Heartbeat ,因此無法從官方 repos 中獲得它。

切換到 Corosync 並不是一個真正的問題,但我很好奇為什麼會做出這個特定的決定。Heartbeat 是折舊的還是發行版特有的維護問題?在 HA 上下文中使用 Corosync 作為消息傳遞層有什麼好處?

我遲到了回答你的問題,但這裡是:

  1. 是的,心跳已被棄用。
  2. 不,這不是特定於發行版的問題
  3. 使用 Corosync 代替心跳有很多好處,首先是上面的第 1 點。儘管如此,我還是會在這裡列出我所知道的。

功能比較:

  1. 首先,在 Corosync 上使用 Heartbeat 的唯一好處(IMO)是它更易於配置,即使您是第一次使用,您也可以在幾分鐘內執行它。Corosync 需要極大的耐心和愛心。
  2. Heartbeat 允許我們為所有資源定義一個主節點,而在 corosync 上,您可以為不同的資源分配不同的主節點。
  3. 資源粘性可以用 corosync 定義(在 heartbeat 中不可用)。資源粘性是資源所有權的優先級。假設有一個具有 Server1 和 Server2 的 2 伺服器集群。Server1 是主要的,具有所有活動資源,而 Server2 是次要的。一個美好的一天,Server1 宕機,Server2 成為主伺服器,使其所有資源都處於活動狀態。現在,如果這是一個 Heartbeat 集群,添加回 Server1 會讓人頭疼,而與 Corosync(定義了資源粘性)一樣,即使稍後啟動 server1,它也會將 Server2 保持為主伺服器。
  4. 使用 corosync,您無需擔心維護相同版本的集群配置。Corosync 集群自動在所有組成伺服器之間同步配置,從而最大限度地減少由操作員錯誤引起的問題。
  5. Heartbeat 允許創建一個兩個節點的集群,corosync 有一個更高的限制(我不記得確切的數字)。
  6. Corosync 允許資源託管。有時我們將一組資源分組並希望特定組從一個伺服器執行。借助 Corosync,可以創建此類組並將不同的原色分配給每個組,從而最大限度地提高計算/網路使用率。
  7. 這可能需要一些努力,但您也可以查找 Stonith,這是一個方便的功能,可以避免數據損壞或集群中的衝突。Stonith 是“Shoot The Other Node In the Head”的縮寫。並且旨在處理可能存在硬體/負載或其他問題的節點(強制關閉它們)。

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