如果發生磁碟故障或其他嚴重問題,您可以使用命令列介面復原 VMware Integrated OpenStack 部署中的個別節點。

復原 VMware Integrated OpenStack 節點後,它會回到新部署節點的狀態。

先決條件

  • 如果您想要復原所有資料庫節點,必須擁有 OpenStack 資料庫的備份。如果您想要復原 Swift 節點,必須擁有 Swift Ring 的備份。請參閱備份部署

  • 確保該資料存放區具有足夠的可用空間,可同時包含原始節點和復原的節點。復原程序將會刪除原始節點,但暫時需要兩個節點的空間。若要避免此問題,您可以關閉電源並刪除現有節點,然後再將其復原。

程序

  1. viouser 身分登入 OpenStack 管理伺服器
  2. 依節點或角色復原 OpenStack 節點。

    若要在部署中顯示節點,請使用 viocli show 命令。虛擬機器名稱角色資料行中顯示的值可用於復原節點。

    1. 若要復原非資料庫節點,請執行下列命令:
      sudo viocli recover {-n node1... | -r role1... [-n node1...]} 

      選項

      說明

      -n

      輸入要復原之節點的名稱。

      -r

      輸入要復原之角色的名稱。將復原指派給指定角色的所有節點。除了此參數以外,您還可以指定 -n 以復原指定角色之外的單一節點。

    2. 若要復原資料庫節點,請執行下列命令:
      sudo viocli recover {-n node1... | -r role} -dn backup-name -nfs nfs-host:/backup-folder

      選項

      說明

      -n

      輸入要復原之資料庫節點的名稱。您可以指定 DB 節點用於 HA 部署,或指定 ControlPlane 節點用於精簡或微型部署。

      -r

      指定 DB 用於 HA 部署,或指定 ControlPlane 用於精簡或微型部署。將復原所有資料庫節點。

      -dn

      輸入包含 OpenStack 資料庫備份的資料夾。

      OpenStack 資料庫備份資料夾採用 vio_os_db_yyyymmddhhmmss 格式。

      -nfs

      remote-host:/remote-dir 格式指定備份所在的 NFS 主機和目錄。

    3. 若要復原 Swift 節點,請執行下列命令:
      sudo viocli recover -n node-name -dn backup-name -nfs nfs-host:/backup-folder

      選項

      說明

      -n

      輸入單一 Swift 節點的名稱。

      -dn

      輸入包含 Swift Ring 備份的資料夾。

      Swift 備份資料夾採用 vio_swift_ring_yyyymmddhhmmss 格式。

      -nfs

      remote-host:/remote-dir 格式指定備份所在的 NFS 主機和目錄。

      重要:

      Swift 節點無法依角色或以批次方式復原。若要避免資料遺失,請確認復原的節點運作正常,並且在復原其他 Swift 節點之前已完成資料到復原節點的複寫。

結果

復原程序可能需要幾分鐘。您可以透過檢視 vSphere Client 中的 OpenStack 部署來檢查節點狀態。