Linux
使用 Heartbeat 和 Pacemaker 的高可用性配置
我有以下設置:
我已經在兩個負載均衡器(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"