跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Linux Enterprise High Availability Extension 文件 / 管理指南 / 維護與升級 / 執行維護任務
適用範圍 SUSE Linux Enterprise High Availability Extension 15 SP5

27 執行維護任務

若要在叢集節點上執行維護任務,您可能需要停止該節點上執行的資源、移動這些資源,或者將該節點關閉或重新開機。此外,可能還需要暫時接管叢集中資源的控制權,甚至需要在資源仍在執行時停止叢集服務。

本章介紹如何在不產生負面影響的情況下手動關閉叢集節點。此外,本章將會概述叢集堆疊提供的用於執行維護任務的不同選項。

27.1 準備和完成維護工作

使用以下指令可啟動、停止叢集或檢視叢集狀態:

crm cluster start [--all]

在一個或所有節點上啟動叢集服務

crm cluster stop [--all]

在一個或所有節點上停止叢集服務

crm cluster restart [--all]

在一個或所有節點上重新啟動叢集服務

crm cluster status

檢視叢集堆疊的狀態

請以 root 使用者身分或擁有所需權限的使用者身分執行上述指令。

將某個叢集節點關閉或重新開機 (或停止節點上的叢集服務) 時,會觸發以下程序:

  • 該節點上執行的資源會停止,或移出該節點。

  • 如果停止資源的操作失敗或逾時,STONITH 機制會圍籬區隔該節點並將其關閉。

警告
警告:資料遺失風險

如果您需要執行測試或維護工作,請執行下面的一般步驟。

如果不執行,有可能會產生不利的負面影響,例如,資源不循序啟動、CIB 在叢集節點之間不同步,甚至遺失資料。

  1. 開始前,請選擇第 27.2 節 「用於維護任務的不同選項」中所述的適當選項。

  2. 請使用 Hawk2 或 crmsh 套用此選項。

  3. 執行維護任務或測試。

  4. 完成後,請將資源、節點或叢集恢復正常運作。

27.2 用於維護任務的不同選項

Pacemaker 提供了以下用於執行系統維護的選項:

將叢集置於維護模式

使用全域叢集內容 maintenance-mode 可以一次性將所有資源置於維護狀態。叢集將停止監控這些資源,因而不知道它們的狀態。只有 Pacemaker 的資源管理功能會處於停用狀態。Corosync 和 SBD 仍會正常執行。請對涉及叢集資源的所有任務都使用維護模式。對於涉及基礎架構 (例如儲存或網路) 的任何任務,最安全的方法是完全停止叢集服務。請參閱停止整個叢集的叢集服務

停止整個叢集的叢集服務

一次性停止所有節點上的叢集服務可以關閉叢集,同時避免逐個關閉各個節點將會發生的大量資源移轉。由於不存在需要將資源移轉至的節點,因此所有資源都將停止。

將節點置於維護模式

此選項可以一次性將特定節點上執行的所有資源置於維護狀態。叢集將停止監控這些資源,因此不知道它們的狀態。

將節點置於待命模式

處於待命模式的節點不再能夠執行資源。該節點上執行的所有資源都會移出或停止 (如果沒有其他節點可用於執行資源)。另外,該節點上的所有監控操作都會停止 (設定了 role="Stopped" 的操作除外)。

如果您需要停止叢集中的某個節點,同時繼續提供另一個節點上執行的服務,則可以使用此選項。

停止節點上的叢集服務

此選項可停止單個節點上的所有叢集服務。該節點上執行的所有資源都會移出或停止 (如果沒有其他節點可用於執行資源)。如果停止資源的操作失敗或逾時,將會圍籬區隔該節點。

將資源置於維護模式

為某個資源啟用此模式後,將不會針對該資源觸發監控操作。

如果您需要手動調整此資源所管理的服務,並且不希望叢集在此期間對該資源執行任何監控操作,則可以使用此選項。

將資源置於不受管理模式

使用 is-managed 中繼屬性可以暫時釋放某個資源,使其不受叢集堆疊的管理。這表示您可以手動調整此資源管理的服務 (例如,調整任何元件)。不過,叢集將繼續監控該資源,並繼續報告任何錯誤。

如果您希望叢集同時停止監控該資源,請改為使用依資源維護模式 (請參閱將資源置於維護模式)。

27.3 將叢集置於維護模式

警告
警告:維護模式只會停用 Pacemaker

將叢集置於維護模式時,只有 Pacemaker 的資源管理功能會停用。Corosync 和 SBD 仍會正常執行。這可能會引發圍籬區隔操作,具體取決於您的維護任務。

請對涉及叢集資源的所有任務都使用維護模式。對於涉及基礎架構 (例如儲存或網路) 的任何任務,最安全的方法是完全停止叢集服務。請參閱 第 27.4 節 「停止整個叢集的叢集服務」

若要在 crm 外圍程序中將叢集置於維護模式,請使用以下指令︰

# crm configure property maintenance-mode=true

若要在完成維護工作後將叢集恢復正常模式,請使用以下指令:

# crm configure property maintenance-mode=false
程序 27.1︰ 使用 Hawk2 將叢集置於維護模式
  1. 啟動網頁瀏覽器並依第 5.4.2 節 「登入」 所述登入叢集。

  2. 在左側導覽列中選取叢集組態

  3. CRM 組態群組中,從空白下拉式方塊中選取 maintenance-mode 屬性,然後按一下加號圖示新增該屬性。

  4. 若要設定 maintenance-mode=true,請選取 maintenance-mode 旁邊的核取方塊,並確認您所做的變更。

  5. 完成針對整個叢集的維護任務後,停用 maintenance-mode 屬性旁邊的核取方塊。

    從此刻起,High Availability Extension 會再次接管叢集管理工作。

27.4 停止整個叢集的叢集服務

若要一次性停止所有節點上的叢集服務,請使用以下指令:

# crm cluster stop --all

若要在完成維護工作後再次啟動叢集服務,請使用以下指令:

# crm cluster start --all
警告
警告:不保證能正常關閉

單獨使用 --all 選項不能保證可將叢集正常關閉,因為應用程式層級的資源停止失敗可能會觸發非預期的圍籬區隔。如果應用程式是關鍵型應用程式,請考慮先停止這些應用程式,然後再停止整個叢集的叢集服務。

27.5 將節點置於維護模式

若要在 crm 外圍程序中將節點置於維護模式,請使用以下指令︰

# crm node maintenance NODENAME

若要在完成維護工作後將節點恢復正常模式,請使用以下指令:

# crm node ready NODENAME
程序 27.2︰ 使用 Hawk2 將節點置於維護模式
  1. 啟動網頁瀏覽器並依第 5.4.2 節 「登入」 所述登入叢集。

  2. 在左側導覽列中選取叢集狀態

  3. 在其中一個節點檢視窗中,按一下節點旁邊的扳手圖示,然後選取維護

  4. 完成維護任務後,按一下節點旁邊的扳手圖示,然後選取就緒

27.6 將節點置於待命模式

若要在 crm 外圍程序中將節點置於待命模式,請使用以下指令︰

# crm node standby NODENAME

若要在完成維護工作後將節點恢復線上狀態,請使用以下指令︰

# crm node online NODENAME
程序 27.3︰ 使用 Hawk2 將節點置於待命模式
  1. 啟動網頁瀏覽器並依第 5.4.2 節 「登入」 所述登入叢集。

  2. 在左側導覽列中選取叢集狀態

  3. 在其中一個節點的檢視中,按一下節點旁邊的扳手圖示,然後選取待命

  4. 完成節點的維護任務。

  5. 若要停用待命模式,請按一下節點旁邊的扳手圖示,然後選取就緒

27.7 停止節點上的叢集服務

若要先循序將服務移出節點,再將節點關閉或重新開機,請執行以下操作:

程序 27.4︰ 手動將叢集節點重新開機
  1. 在要重新開機或關閉的節點上,以 root 或同等身分登入。

  2. 將節點置於 standby 模式:

    # crm -w node standby

    如此即可將服務移轉出節點,而不會受限於叢集服務的關閉逾時。

  3. 檢查叢集狀態:

    # crm status

    此指令顯示相關節點處於 standby 模式:

    [...]
    Node bob: standby
    [...]
  4. 停止該節點上的叢集服務:

    # crm cluster stop
  5. 將節點重新開機。

若要再次檢查節點是否已加入叢集,請執行以下步驟:

  1. root 或同等身分登入該節點。

  2. 檢查叢集服務是否已啟動:

    # crm cluster status

    如果未啟動,請啟動這些服務:

    # crm cluster start
  3. 檢查叢集狀態:

    # crm status

    此指令應該會顯示節點已恢復線上狀態。

27.8 將資源置於維護模式

若要在 crm 外圍程序中將資源置於維護模式,請使用以下指令:

# crm resource maintenance RESOURCE_ID true

若要在完成維護工作後將資源恢復正常模式,請使用以下指令:

# crm resource maintenance RESOURCE_ID false
程序 27.5︰ 使用 Hawk2 將資源置於維護模式
  1. 啟動網頁瀏覽器並依第 5.4.2 節 「登入」 所述登入叢集。

  2. 在左側導覽列中,選取資源

  3. 選取要將其置於維護模式或不受管理模式的資源,然後按一下資源旁邊的扳手圖示並選取編輯資源

  4. 開啟中繼屬性類別。

  5. 從空白下拉式清單中,選取 maintenance 屬性並按一下加號圖示新增該屬性。

  6. 啟用 maintenance 旁邊的核取方塊,將 maintenance 屬性設定為 yes

  7. 確認您的變更。

  8. 完成針對該資源的維護任務後,停用該資源 maintenance 屬性旁邊的核取方塊。

    從此時起,資源將重新由 High Availability Extension 軟體管理。

27.9 將資源置於不受管理模式

若要在 crm 外圍程序中將資源置於不受管理模式,請使用以下指令:

# crm resource unmanage RESOURCE_ID

若要在完成維護工作後再次將資源置於受管理模式,請使用以下指令:

# crm resource manage RESOURCE_ID
程序 27.6︰ 使用 Hawk2 將資源置於不受管理模式
  1. 啟動網頁瀏覽器並依第 5.4.2 節 「登入」 所述登入叢集。

  2. 在左側導覽列中選取狀態,然後移至資源清單。

  3. 操作欄中,按一下要修改的資源旁邊的向下箭頭圖示,然後選取編輯

    資源組態螢幕隨即開啟。

  4. 中繼屬性下方,從空白下拉式方塊中選取 is-managed 項目。

  5. 將其值設定為 No,然後按一下套用

  6. 完成維護任務後,將 is-managed 設定為 Yes (預設值) 並套用變更。

    從此時起,資源將重新由 High Availability Extension 軟體管理。

27.10 在維護模式下將叢集節點重新開機

注意
注意:隱含式

如果叢集或某個節點處於維護模式,您可以使用叢集堆疊外部的工具 (例如 systemctl),以手動方式將叢集所管理的元件做為資源進行操作。High Availability Extension 不會監控這些元件或嘗試重新啟動它們。

如果您停止節點上的叢集服務,所有精靈和程序 (最初做為 Pacemaker 管理的叢集資源啟動) 都將繼續執行。

如果您在叢集或某個節點處於維護模式的情況下嘗試啟動該節點上的叢集服務,Pacemaker 將針對每個資源啟動一次性的監控操作 (查探),以確定哪些資源目前正在該節點上執行。但是,它只會確定資源的狀態,而不執行進一步的動作。

程序 27.7︰ 在叢集或節點處於維護模式的情況下將叢集節點重新開機
  1. 在要重新開機或關閉的節點上,以 root 或同等身分登入。

  2. 如果您使用 DLM 資源 (或相依於 DLM 的其他資源),請務必在停止叢集服務之前明確停止這些資源:

    crm(live)resource# stop RESOURCE_ID

    這是因為如果停止 Pacemaker,也會停止 DLM 相依於其成員資格和訊息服務的 Corosync 服務。如果 Corosync 停止,DLM 資源將假設一種電腦分裂情況並觸發圍籬區隔操作。

  3. 停止該節點上的叢集服務:

    # crm cluster stop
  4. 將節點關閉或重新開機。