將某個叢集節點關閉或重新開機 (或停止節點上的 Pacemaker 服務) 時,會觸發以下程序︰
該節點上執行的資源將會停止,或移出該節點。
如果停止資源的操作失敗或逾時,STONITH 機制將會圍籬區隔該節點,並將其關閉。
如果您的目的是先循序將服務移出節點,然後再將該節點關閉或重新開機,請執行以下操作︰
在要重新開機或關閉的節點上,以 root
或同等身分登入。
將節點置於 standby
模式︰
root #
crm node standby
如此即可將服務移轉出節點,而不會受限於 Pacemaker 的關閉逾時。
使用以下指令檢查叢集狀態︰
root #
crm status
此指令顯示相關節點處於 standby
模式︰
[...] Node bob: standby [...]
停止該節點上的 Pacemaker 服務︰
root #
systemctl stop pacemaker.service
將節點重新開機。
若要再次檢查節點是否已加入叢集,請執行以下步驟︰
以 root
或同等身分登入該節點。
檢查 Pacemaker 服務是否已啟動︰
root #
systemctl status pacemaker.service
如果未啟動,請將其啟動︰
root #
systemctl start pacemaker.service
使用以下指令檢查叢集狀態︰
root #
crm status
此指令應該會顯示節點已恢復線上狀態。
Pacemaker 提供了用於執行系統維護的各種選項︰
使用全域叢集內容 maintenance-mode
可以一次性將所有資源置於維護狀態。叢集將停止監控這些資源,因此不知道它們的狀態。
此選項可以一次性將特定節點上執行的所有資源置於維護狀態。叢集將停止監控這些資源,因此不知道它們的狀態。
處於待命模式的節點不再能夠執行資源。該節點上執行的所有資源將會移出或停止 (如果沒有其他節點可用於執行資源)。另外,該節點上的所有監控操作將會停止 (設定為 role="Stopped"
的操作除外)。
如果您需要停止叢集中的某個節點,同時繼續提供另一個節點上執行的服務,則可以使用此選項。
為某個資源啟用此模式後,將不會針對該資源觸發監控操作。
如果您需要手動調整此資源所管理的服務,並且不希望叢集在此期間對該資源執行任何監控操作,則可以使用此選項。
使用 is-managed
中繼屬性可以暫時「釋放」某個資源,使其不受叢集堆疊的管理。這表示您可以手動調整此資源管理的服務 (例如,調整任何元件)。不過,叢集將繼續監控該資源,並繼續報告任何錯誤。
如果您希望叢集同時停止監控該資源,請改為使用依資源維護模式 (請參閱將資源置於維護模式)。
如果您需要執行測試或維護工作,請執行下面的一般步驟。
如果不執行,有可能會產生不利的負面影響,例如,資源不循序啟動、CIB 在叢集節點之間不同步,甚至遺失資料。
在開始之前,請選擇第 16.2 節中所述適合您情況的選項。
請使用 Hawk2 或 crmsh 套用此選項。
執行維護任務或測試。
完成後,請將資源、節點或叢集恢復「正常」運作。
若要在 crm 外圍程序中將叢集置於維護模式,請使用以下指令︰
root #
crm
configure property maintenance-mode=true
若要在完成維護工作後將叢集恢復正常模式,請使用以下指令︰
root #
crm
configure property maintenance-mode=false
啟動網頁瀏覽器並依第 7.2 節 「登入」 所述登入叢集。
在左側導覽列中選取
。在
群組中,從空白下拉式方塊中選取 屬性,然後按一下加號圖示新增該屬性。
若要設定 maintenance-mode=true
,請啟用 maintenance-mode
旁邊的核取方塊,並確認您所做的變更。
完成針對整個叢集的維護任務後,停用 maintenance-mode
屬性旁邊的核取方塊。
從此刻起,High Availability Extension 會再次接管叢集管理工作。
若要在 crm 外圍程序中將節點置於維護模式,請使用以下指令︰
root #
crm
node maintenance NODENAME
若要在完成維護工作後將節點恢復正常模式,請使用以下指令︰
root #
crm
node ready NODENAME
啟動網頁瀏覽器並依第 7.2 節 「登入」 所述登入叢集。
在左側導覽列中選取
。在其中一個節點檢視窗中,按一下節點旁邊的扳手圖示,然後選取
。完成維護任務後,按一下節點旁邊的扳手圖示,然後選取
。若要在 crm 外圍程序中將節點置於待命模式,請使用以下指令︰
root #
crm node standby NODENAME
若要在完成維護工作後將節點恢復線上狀態,請使用以下指令︰
root #
crm node online NODENAME
啟動網頁瀏覽器並依第 7.2 節 「登入」 所述登入叢集。
在左側導覽列中選取
。在其中一個節點的檢視中,按一下節點旁邊的扳手圖示,然後選取
。完成節點的維護任務。
若要停用待命模式,請按一下節點旁邊的扳手圖示,然後選取
。若要在 crm 外圍程序中將資源置於維護模式,請使用以下指令︰
root #
crm
resource maintenance RESOURCE_ID true
若要在完成維護工作後將資源恢復正常模式,請使用以下指令︰
root #
crm
resource maintenance RESOURCE_ID false
啟動網頁瀏覽器並依第 7.2 節 「登入」 所述登入叢集。
在左側導覽列中,選取
。選取要將其置於維護模式或不受管理模式的資源,然後按一下資源旁邊的扳手圖示並選取
。開啟
類別。從空白下拉式方塊中,選取
屬性並按一下加號圖示以新增該屬性。
啟用 maintenance
旁邊的核取方塊,將 maintenance 屬性設定為 yes
。
確認您的變更。
完成針對該資源的維護任務後,停用該資源 maintenance
屬性旁邊的核取方塊。
從此時起,資源將重新由 High Availability Extension 軟體管理。
若要在 crm 外圍程序中將資源置於不受管理模式,請使用以下指令︰
root #
crm
resource unmanage RESOURCE_ID
若要在完成維護工作後再次將資源置於受管理模式,請使用以下指令︰
root #
crm
resource manage RESOURCE_ID
啟動網頁瀏覽器並依第 7.2 節 「登入」 所述登入叢集。
在左側導覽列中選取
,然後移至 清單。在
欄中,按一下要修改的資源旁邊的向下箭頭圖示,然後選取 。資源組態螢幕隨即開啟。
在
下方,從空白下拉式方塊中選取 項目。
將其值設定為 No
,然後按一下 。
完成維護任務後,將 Yes
(預設值) 並套用變更。
從此時起,資源將重新由 High Availability Extension 軟體管理。
如果叢集或某個節點處於維護模式,您可以視需要停止或重新啟動叢集資源 — High Availability Extension 不會嘗試將其重新啟動。如果您停止節點上的 Pacemaker 服務,所有精靈和程序 (最初做為 Pacemaker 管理的叢集資源啟動) 會繼續執行。
如果您在叢集或某個節點處於維護模式的情況下嘗試啟動該節點上的 Pacemaker 服務,Pacemaker 會針對每個資源啟動一次性的監控操作 (「查探」),以評估哪些資源目前正在該節點上執行。但是,它只會確定資源的狀態,而不執行進一步的動作。
若要在叢集或某個節點處於維護模式
時關閉該節點,請執行以下操作︰
在要重新開機或關閉的節點上,以 root
或同等身分登入。
檢查是否存在 ocf:pacemaker:controld
類型的資源,或者任何依賴這種資源的資源。ocf:pacemaker:controld
類型的資源是 DLM 資源。
如果存在,請明確停止 DLM 資源以及依賴於它們的所有資源。
crm(live)resource#
stop RESOURCE_ID
這是因為,停止 Pacemaker 也會停止 DLM 對其成員資格和訊息服務有依賴的 Corosync 服務。如果 Corosync 停止,DLM 資源將假設一種電腦分裂情況並觸發圍籬區隔操作。
如果不存在,請繼續執行步驟 3。
停止該節點上的 Pacemaker 服務︰
root #
systemctl stop pacemaker.service
將節點關閉或重新開機。