Linux

使用 Heartbeat 和 Pacemaker 的高可用性配置

  • September 11, 2012

我有以下設置:

在此處輸入圖像描述

我已經在兩個負載均衡器(HAProxy)之間配置了高可用性,因此如果 HAProxy1 出現故障,浮動 IP 將被轉移到另一個負載均衡器 HAProxy2,因此所有客戶端都將獲得來自 HAProxy2 的響應,這在後端正在執行LB 當中的 sme 兩個 webserver。這是為了在只有一個 HAProxy 的情況下消除單點故障。

每當我在 HAProxy1 中停止心跳時,浮動 IP 都會轉到 HAProxy2。但我想配置這樣,每當process haproxy出現故障時,浮動 IP 應該被分配給 HAProxy2。有人可以告訴我如何實施嗎?

在 OCF 中你不會得到 HAProxy,你需要使用 LSB 類。執行以下命令以查看 lsb 類下的 haproxy

crm ra list lsb

然後

crm configure primitive haproxy lsb:haproxy

你就完成了。

我使用 crm 命令嘗試了很多…我使用 crm 命令添加了浮動 IP..但無法使用該命令添加 haproxy..我嘗試了很多但無法做到這一點,因為沒有名為 haproxy 的 ocf..你能告訴我確切的命令嗎

您可以從russki repo下載 haproxy ocf 代理:

sudo wget -O /usr/lib/ocf/resource.d/heartbeat/haproxy http://github.com/russki/cluster-agents/raw/master/haproxy

然後更改文件權限:

sudo chmod 755 /usr/lib/ocf/resource.d/heartbeat/haproxy

並像這樣配置您的資源:

# crm configure show

node node1
node node2
primitive failover-ip ocf:heartbeat:IPaddr2 \
   params ip="v.i.p.a" cidr_netmask="32" \
   op monitor interval="5s" \
   meta is-managed="true"
primitive haproxy ocf:heartbeat:haproxy \
   params conffile="/etc/haproxy/haproxy.cfg" \
   op monitor interval="30s" \
   meta is-managed="true"
colocation haproxy-with-failover-ip inf: haproxy failover-ip
order haproxy-after-failover-ip inf: failover-ip haproxy
property $id="cib-bootstrap-options" \
   dc-version="1.0.12-unknown" \
   cluster-infrastructure="openais" \
   no-quorum-policy="ignore" \
   expected-quorum-votes="2" \
   stonith-enabled="false" \
   last-lrm-refresh="1342783084"

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