您可以將虛擬機器從 vSphere 匯入 VMware Integrated OpenStack 部署,並像管理 OpenStack 執行個體一樣管理它們。

執行這項作業的原因和時機

您可以使用資料中心命令列介面 (DCLI) 匯入虛擬機器,該介面使用 VMware Integrated OpenStack 管理伺服器封裝,且由 VMware Integrated OpenStack vAPI 提供者提供。

雖然匯入的虛擬機器成為 OpenStack 執行個體,但它們在數個方面仍相異:

  • 如果匯入的虛擬機器有多個磁碟,則:

    • 不支援建立 Nova 快照。

    • 不支援 Nova 調整大小作業。

  • 現有網路會作為提供者網路類型連接埠群組匯入,且會停用使用 DHCP 建立的子網路。這可防止 OpenStack 中的 DHCP 節點與外部 DHCP 伺服器之間發生衝突。

    備註︰

    如果 DHCP 伺服器在租用更新期間無法維持相同的 IP 位址,則 OpenStack 中的執行個體資訊會顯示不正確的 IP 位址。基於此原因,建議您在現有 DHCP 伺服器上使用靜態 DHCP 繫結。此外,由於 DHCP 位址來自外部伺服器,因此,不建議在匯入的網路上啟動新 OpenStack 執行個體,如果這樣做,可能會與 OpenStack 衝突。

  • 已匯入虛擬機器的類型模板顯示正確的 CPU 和記憶體,但是根磁碟錯誤顯示為擁有 0 GB。

先決條件

  • 確認您執行的是 VMware Integrated OpenStack 3.0 或 3.1 版。

  • 確認 VMware Integrated OpenStack 已部署且正在執行。

  • 確認要匯入的虛擬機器位於同一 vCenter 中。

  • NSX 和 Neutron 的 VDS 外掛程式支援匯入虛擬機器。

    備註︰

    如果您正在執行 VMware Integrated OpenStack 3.0,則無法匯入由 NSX 邏輯交換器支援的虛擬機器。網路支援必須為一般分散式連接埠群組。VMware Integrated OpenStack 3.1 及更新版本支援此功能。

程序

  1. 將包含要匯入之虛擬機器的叢集新增到 VMware Integrated OpenStack 部署。
    1. vSphere Web Client 中,識別包含要匯入之虛擬機器的叢集。
    2. 將該叢集新增至 VMware Integrated OpenStack 部署作為 Nova 運算叢集。
    3. 如有必要,針對多個叢集重複上述步驟。

    叢集新增為 Nova 運算叢集後,您可以匯入虛擬機器。

  2. 使用 SSH 登入 VMware Integrated OpenStack Manager。
  3. 連線到 VMware Integrated OpenStack vAPI 端點。

    此端點在本機執行。

    dcli +server http://localhost:9449/api +i

    此命令會開啟互動式 shell (dcli)。

  4. 列出 VMware Integrated OpenStack vAPI 提供者中的所有命名空間。
    dcli> com vmware vio 
    The vio namespace provides namespaces to manage components related to OpenStack and vSphere
    Available Namespaces:
    vm
  5. (選擇性) 列出與匯入未受管理虛擬機器相關的命令。

    未受管理虛擬機器是 VMware Integrated OpenStack 中作為 OpenStack 執行個體未受管理的虛擬機器。在此情況下,未受管理虛擬機器包含您新增至運算節點之叢集中的虛擬機器。

    dcli> com vmware vio vm unmanaged 
    The Unmanaged namespace provides commands to manage virtual machine not under OpenStack
    Available Commands:
    importall   Imports all unmanaged virtual machines into OpenStack
    importvm    Imports given virtual machine into OpenStack
    list        Enumerates the list of unmanaged virtual machines
  6. (選擇性) 列出您新增至 Nova 運算節點的特定目標叢集中的所有未受管理虛擬機器。
    com vmware vio vm unmanaged list --cluster <vcenter cluster mor-id>

  7. 將虛擬機器匯入 VMware Integrated OpenStack

    您可以匯入所有虛擬機器,也可以匯入特定虛擬機器。

    1. 匯入所有虛擬機器:
      com vmware vio vm unmanaged importall [-h] --cluster CLUSTER [--tenant-mapping {FOLDER,RESOURCE_POOL}] [--root-folder ROOT_FOLDER]
                                                   [--root-resource-pool ROOT_RESOURCE_POOL]

      選項

      說明

      --cluster CLUSTER

      指定虛擬機器所在的 Nova 運算叢集。

      --tenant-mapping {FOLDER,RESOURCE_POOL}

      根據 vSphere 虛擬機器在資料夾或資源集區中的位置,指定是否將其對應至 OpenStack 專案。

      此參數是選擇性的。如果未指定承租人對應,則匯入的虛擬機器會成為 OpenStack 中 import_service 專案中的執行個體。

      --root-folder ROOT_FOLDER

      如果您已為 tenant-mapping 參數指定 FOLDER,則可以選擇指定包含要匯入之虛擬機器的根資料夾名稱。

      • 所指定根資料夾中的所有虛擬機器均會匯入,包括那些包含在子資料夾中的虛擬機器。

      • 虛擬機器會以與指定根資料夾相同的名稱,作為執行個體匯入到 OpenStack 專案。

      • 如果根資料夾在子資料夾中包含虛擬機器,則那些虛擬機器會以與子資料夾相同的名稱匯入到 OpenStack 專案。

      備註︰

      如果未指定根資料夾,則依預設會使用叢集中最上層資料夾的名稱。

      --root-resource-pool ROOT_RESOURCE_POOL

      如果您已為 tenant-mapping 參數指定 RESOURCE_POOL,則可以選擇指定包含要匯入之虛擬機器的根資源集區的名稱。

      • 所指定根資源集區中的所有虛擬機器均會匯入,包括那些包含在子資源集區中的虛擬機器。

      • 虛擬機器會以與指定根資源集區相同的名稱,作為執行個體匯入到 OpenStack 專案。

      • 如果根資源集區在子資源集區中包含虛擬機器,則那些虛擬機器會以與子資源集區相同的名稱匯入到 OpenStack 專案。

    2. 匯入特定虛擬機器:
      com vmware vio vm unmanaged importvm [-h] \
           --vm VM [--tenant TENANT] [--nic-mac-address NIC_MAC_ADDRESS] \
           [--nic-ipv4-address NIC_IPV4_ADDRESS]

      選項

      說明

      --vm VM

      指定要匯入的特定虛擬機器的 vm-<id>

      您可以透過執行 com vmware vio vm unmanaged list 命令,檢視所有要匯入之虛擬機器的識別碼值。

      --tenant TENANT

      指定匯入的虛擬機器將作為 OpenStack 執行個體存放的 OpenStack 專案。

      此參數是選擇性的。如果未指定,匯入的虛擬機器會成為 OpenStack 中 import_service 專案中的執行個體。

      --nic-mac-address NIC_MAC_ADDRESS

      可以選擇提供虛擬機器 NIC 的 MAC 位址。

      如果匯入程序無法探索到此值,則匯入將會失敗。此參數可讓您手動輸入 NIC MAC 位址。

      備註︰

      如果已指定,您還必須提供 nic-ipv4-address 參數。

      --nic-ipv4-address NIC_IPV4_ADDRESS

      可以選擇提供虛擬機器 NIC 的 IP 位址。

      如果匯入程序無法探索到此值,則匯入將會失敗。此參數可讓您手動輸入 NIC IP 位址。

      備註︰

      如果已指定,您還必須提供 nic-mac-address 參數。

  8. (選擇性) 您可以透過修改 custom.yml 檔案,來啟用或停用重新配置和重新命名已匯入的虛擬機器。

    此選項預設為啟用狀態。

    1. 如果您尚未實作 custom.yml 檔案,請執行此動作。
      sudo mkdir -p /opt/vmware/vio/custom
      sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
    2. 若要停用重新配置和重新命名已匯入的虛擬機器,請在 custom.yml 檔案中取消註解下列參數。
      nova_import_vm_relocate: false
    3. 儲存 custom.yml 檔案。