Linux

Linux 心跳:哪一個成為大師?

  • September 24, 2012

假設我使用 linux 心跳和起搏器將 2 台機器配置為主動/被動,然後我在 node1 中創建一個資源組,送出它。如果我是正確的,配置將被傳播到 node2。資源組將監視機器中的一項服務。

我的問題是,因為 2 個節點都在執行相同的服務,那麼哪個節點首先成為活動節點?或者linux心跳會決定(兩者俱有相同的可能性)?

使用 Pacemaker,您沒有“主動節點”和“被動節點”。所有集群節點(可能超過 2 個)都可以平等地執行服務,CIB 數據庫中的規則告訴 CRM(Pacemaker 的資源管理器)哪些節點可以執行哪些服務。

如果您將服務配置為可以在兩個節點上無限制地執行的單個實例,那麼您無法確定哪個節點將執行它。如果您有兩個這樣的服務,那麼您可能會以一個在一個節點上執行而另一個在另一個節點上執行而結束。對於第一個服務,node1 將處於活動狀態,而對於第二個服務,node2 將處於活動狀態。

您可以通過聲明一些常量來定義實際偏好。範例:“在服務 2 正在執行的節點上執行服務 1”或“對於兩個服務始終首選節點 1”。

通常你有一個定義“邏輯主”的服務——它可以是一個 IP 地址或處於主狀態的 DRBD 卷——然後所有其他服務都依賴於此,你通過設置主服務的首選項來選擇“主”。

有關設置約束的詳細資訊,請參閱 Pacemaker 文件。

Heartbeat 本身與 Pacemaker 一起使用時,不會對主/從狀態或正在執行的資源做出任何決定。

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