跳到主內容

解決 CubeCOS 滾動升級期間虛擬機撤離失敗問題

摘要

在滾動升級過程中,第一個主控節點重新啟動。 隨後,其餘升級程序將自動執行。 然而,時機問題或暫時性服務中斷可能導致虛擬機器(VM)無法從其原始節點撤離。 若虛擬機器未能成功撤離節點,升級程序將中止,並需人工介入以解決問題。

詳細資訊

在滾動升級過程中,可能因相關元件暫時無法提供服務或平台時序問題,導致與虛擬機器撤離失敗相關的錯誤發生。 在此情況下,必須手動撤離虛擬機器,並重新啟動節點後,自動滾動升級程序才能繼續進行。

適用版本

CubeCOS 3.1.0 及以上版本。

本文適用於運行 CubeCOS 3.1.0 或更高版本的環境。

決議

手動將虛擬機器移出,並重新啟動節點以恢復自動滾動更新流程

  1. 開啟一個終端機工作階段。

  2. 透過 SSH 連線至叢集 VIP,並以 admin 使用者身分登入。

    ssh admin@<your-cluster-vip>
  3. 在管理員命令列介面中,輸入以下指令以解決主機撤離失敗問題:

    iaas compute pre_failure_host_evacuation
  4. 當系統提示您撤離故障主機時,請輸入故障節點的索引號。

    examplecubenode1> iaas compute pre_failure_host_evacuation
    Evacuate which compute node:
    1: examplecubenode1
    2: examplecubenode2
    3: examplecubenode3
    Enter index: 1
  5. 請核實節點與虛擬機器的詳細資訊,然後輸入「YES」以確認撤離操作。

    命令列介面將顯示該主機上所有即將被撤離虛擬機器的狀態及相關資訊。 在輸入「yes」執行撤離操作前,請確認主機與虛擬機器資訊正確無誤。

    +------------------+----------------------+--------+--------------------------------+--------------------------+----------------+
    | ID | Name | Status | Networks | Image | Flavor |
    +------------------+----------------------+--------+--------------------------------+--------------------------+----------------+
    | some-id1 | cinder-volumes_nodeID| ACTIVE | \_internal-network=some-ip-info| N/A (booted from volume) | t2.diagnostics |
    +------------------+----------------------+--------+--------------------------------+--------------------------+----------------+
    Enter 'YES' to confirm: YES
  6. 為繼續執行自動滾動升級流程,請在完成節點撤離後重新啟動該節點。

    1. 透過 SSH 連線至叢集 VIP,並以 admin 使用者登入:ssh admin@\<mgnt-ip-of-errored-node>
    2. 在命令列介面輸入 reboot 以繼續自動滾動升級程序並重新啟動節點。
  7. 導航至 維護 > 更新

  8. 請確認自動滾動升級能持續執行且無錯誤,並確認失敗節點的狀態已恢復為 Succeeded