套用至 SUSE Linux Enterprise High Availability Extension 12 SP5

16 執行維護任務

摘要

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

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

16.1 關閉叢集節點所造成的影響

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

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

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

程序 16.1︰ 手動將叢集節點重新開機

如果您的目的是先循序將服務移出節點,然後再將該節點關閉或重新開機,請執行以下操作︰

  1. 在要重新開機或關閉的節點上,以 root 或同等身分登入。

  2. 將節點置於 standby 模式︰

    root # crm node standby

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

  3. 使用以下指令檢查叢集狀態︰

    root # crm status

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

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

    root # systemctl stop pacemaker.service
  5. 將節點重新開機。

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

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

  2. 檢查 Pacemaker 服務是否已啟動︰

    root # systemctl status pacemaker.service
  3. 如果未啟動,請將其啟動︰

    root # systemctl start pacemaker.service
  4. 使用以下指令檢查叢集狀態︰

    root # crm status

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

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

Pacemaker 提供了用於執行系統維護的各種選項︰

將叢集置於維護模式

使用全域叢集內容 maintenance-mode 可以一次性將所有資源置於維護狀態。叢集將停止監控這些資源,因此不知道它們的狀態。

將節點置於維護模式

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

將節點置於待命模式

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

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

將資源置於維護模式

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

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

將資源置於不受管理模式

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

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

16.3 準備和完成維護工作

警告
警告:資料遺失的風險

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

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

  1. 在開始之前,請選擇第 16.2 節中所述適合您情況的選項。

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

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

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

16.4 將叢集置於維護模式

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

root # crm configure property maintenance-mode=true

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

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

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

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

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

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

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

16.5 將節點置於維護模式

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

root # crm node maintenance NODENAME

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

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

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

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

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

16.6 將節點置於待命模式

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

root # crm node standby NODENAME

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

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

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

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

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

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

16.7 將資源置於維護模式

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

root # crm resource maintenance RESOURCE_ID true

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

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

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

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

  4. 開啟中繼屬性類別。

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

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

  7. 確認您的變更。

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

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

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

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

root # crm resource unmanage RESOURCE_ID

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

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

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

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

    資源組態螢幕隨即開啟。

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

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

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

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

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

注意
注意:隱含式

如果叢集或某個節點處於維護模式,您可以視需要停止或重新啟動叢集資源 — High Availability Extension 不會嘗試將其重新啟動。如果您停止節點上的 Pacemaker 服務,所有精靈和程序 (最初做為 Pacemaker 管理的叢集資源啟動) 會繼續執行。

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

若要在叢集或某個節點處於維護模式時關閉該節點,請執行以下操作︰

  1. 在要重新開機或關閉的節點上,以 root 或同等身分登入。

  2. 檢查是否存在 ocf:pacemaker:controld 類型的資源,或者任何依賴這種資源的資源。ocf:pacemaker:controld 類型的資源是 DLM 資源。

    1. 如果存在,請明確停止 DLM 資源以及依賴於它們的所有資源。

      crm(live)resource# stop RESOURCE_ID

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

    2. 如果不存在,請繼續執行步驟 3

  3. 停止該節點上的 Pacemaker 服務︰

    root # systemctl stop pacemaker.service
  4. 將節點關閉或重新開機。

列印此頁面