您可以將虛擬機器從 vSphere 匯入 VMware Integrated OpenStack 部署,並像管理 OpenStack 執行個體一樣管理它們。
執行這項作業的原因和時機
您可以使用資料中心命令列介面 (DCLI) 匯入虛擬機器,該介面使用 VMware Integrated OpenStack 管理伺服器封裝,且由 VMware Integrated OpenStack vAPI 提供者提供。
雖然匯入的虛擬機器成為 OpenStack 執行個體,但它們在數個方面仍相異:
先決條件
確認您執行的是 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 及更新版本支援此功能。
程序
- 將包含要匯入之虛擬機器的叢集新增到 VMware Integrated OpenStack 部署。
- 在 vSphere Web Client 中,識別包含要匯入之虛擬機器的叢集。
- 將該叢集新增至 VMware Integrated OpenStack 部署作為 Nova 運算叢集。
- 如有必要,針對多個叢集重複上述步驟。
叢集新增為 Nova 運算叢集後,您可以匯入虛擬機器。
- 使用 SSH 登入 VMware Integrated OpenStack Manager。
- 連線到 VMware Integrated OpenStack vAPI 端點。
dcli +server http://localhost:9449/api +i
- 列出 VMware Integrated OpenStack vAPI 提供者中的所有命名空間。
dcli> com vmware vio
The vio namespace provides namespaces to manage components related to OpenStack and vSphere
Available Namespaces:
vm
- (選擇性) 列出與匯入未受管理虛擬機器相關的命令。
未受管理虛擬機器是 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
- (選擇性) 列出您新增至 Nova 運算節點的特定目標叢集中的所有未受管理虛擬機器。
com vmware vio vm unmanaged list --cluster <vcenter cluster mor-id>
- 將虛擬機器匯入 VMware Integrated OpenStack。
- 匯入所有虛擬機器:
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 專案。
|
- 匯入特定虛擬機器:
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 參數。
|
- (選擇性) 您可以透過修改 custom.yml 檔案,來啟用或停用重新配置和重新命名已匯入的虛擬機器。
- 如果您尚未實作 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
- 若要停用重新配置和重新命名已匯入的虛擬機器,請在 custom.yml 檔案中取消註解下列參數。
nova_import_vm_relocate: false
- 儲存 custom.yml 檔案。