Linux-Networking
當我拔下首選節點時資源是 UNCLEAN
我是 linux 網路配置的初學者
我通過 ssh + drbd + nginx 為 3 個節點配置了 linux 起搏器 + corosync + stonith。
個人電腦狀態:
3 nodes configured 7 resources configured Online: [ main-node second-node third-node ] Full list of resources: ClusterIP (ocf::heartbeat:IPaddr2): Started main-node WebSite (ocf::heartbeat:nginx): Started main-node Master/Slave Set: WebDataClone [WebData] Masters: [ main-node ] Slaves: [ second-node third-node ] WebFS (ocf::heartbeat:Filesystem): Started main-node ssh-fencing (stonith:ssh): Started third-node Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
我只是通過從網路上拔下電纜來測試這些機器中的 stonith。它工作正常,當再次插入時,stonith 正在殺死未插電的機器。所有其他機器都在處理集群。
當我拔下首選提供網站資源的機器時出現問題。然後其他插入機器的 pcs 狀態如下所示:
3 nodes configured 7 resources configured Node main-node: UNCLEAN (offline) Online: [ second-node third-node ] Full list of resources: ClusterIP (ocf::heartbeat:IPaddr2): Started main-node (UNCLEAN) WebSite (ocf::heartbeat:nginx): Started main-node (UNCLEAN) Master/Slave Set: WebDataClone [WebData] WebData (ocf::linbit:drbd): Master main-node (UNCLEAN) Slaves: [ second-node third-node ] WebFS (ocf::heartbeat:Filesystem): Started main-node (UNCLEAN) ssh-fencing (stonith:ssh): Started third-node Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
並且網站關閉了。這是為什麼?其他節點不應該提供資源嗎?
SSH STONITH 不是真正的防護,不應在生產中使用,除非您接受它可能會讓您陷入某些類型的故障,就像您在測試中看到的那樣。
當您拔下節點的網路電纜時,集群將嘗試 STONITH 從集群/網路中消失的節點。SSH STONITH 代理正在使用您拔下的同一網路來嘗試關閉失去的節點。在網路恢復(重新插入)之前,它將無法做到這一點。由於在 STONITH 代理成功關閉失去的節點之前,集群不會執行任何操作(故障轉移),因此您將獲得 UNCLEAN(掛起)服務。
如果關閉主節點的電源,您將遇到同樣的問題,因為當系統沒有電源時,您無法通過 SSH 連接到系統。
簡而言之,這是使用 SSH STONITH 時的預期行為,並且需要適當的防護設備才能從您正在測試的場景中恢復。