您可以將虛擬機器從 vSphere 匯入 VMware Integrated OpenStack 部署,並像管理 OpenStack 執行個體一樣管理它們。
此程序適用於使用 VDS 或 NSX Data Center for vSphere 網路的部署。對於 NSX-T Data Center 部署,請參閱VMware Integrated OpenStack 含 NSX-T Data Center。
下列條件適用於匯入的虛擬機器:
- 如果虛擬機器具有多個磁碟,這些磁碟會匯入做為 Cinder 磁碟區。
- 做為以連接埠群組為基礎的提供者網路匯入現有網路,且存取權限制為指定的專案。
- 匯入具有特定網路支援的虛擬機器後,無法將相同的網路匯入不同的專案。
- 在 DHCP 停用的情況下自動建立 Neutron 子網路。
- Neutron 連接埠會根據虛擬機器上的網路介面卡的 IP 和 MAC 位址自動建立。
備註: 如果 DHCP 伺服器在租用更新期間無法維持相同的 IP 位址,則 OpenStack 中的執行個體資訊會顯示不正確的 IP 位址。若要避免此問題,請使用現有 DHCP 伺服器上的靜態 DHCP 繫結,並且不要在匯入的網路上執行新 OpenStack 執行個體。
在 Integrated OpenStack Manager 工具箱中使用 Data Center Command-Line Interface (DCLI) 匯入虛擬機器。
必要條件
確認您要匯入的虛擬機器位於同一個 vCenter Server 執行個體。
程序
- 新增包含所需虛擬機器的叢集做為 VMware Integrated OpenStack 部署中的運算叢集。
- 以
root
使用者身分登入 Integrated OpenStack Manager。
- 如果您想要防止重新放置或重新命名已匯入的虛擬機器,請更新您的部署組態。
- 修改 Nova 運算組態。
viocli update nova-compute
- 在 vmware 區段中,新增 import_vm_relocate 參數並將其值設定為
false
。
如果不執行此步驟,則匯入的虛擬機器將按如下所示進行修改:
- 匯入的虛擬機器名稱會變更為下列格式:original-name (instance-uuid)
- 匯入的虛擬機器會放置在 vSphere 的以下資料夾中:datacenter > root-VM-folder > OpenStack > Project (project-uuid)
- 開啟工具箱並連線至 VMware Integrated OpenStack vAPI 端點。
端點位於部署的私人 OpenStack 端點處。
toolbox
dcli +server https://internal-vip:9449/api +i
- 將未受管理的虛擬機器匯入 VMware Integrated OpenStack。
備註: 當您執行命令時,DCLI 會提示您輸入
vCenter Server 執行個體的管理員認證。您可以儲存這些認證,以避免每次都輸入使用者名稱和密碼。
- 執行下列命令以匯入所有未受管理的虛擬機器:
com vmware vio vm unmanaged importall --cluster cluster-name [--tenant-mapping {FOLDER | RESOURCE_POOL} [--root-folder root-folder | --root-resource-pool root-resource-pool]]
選項 |
說明 |
--cluster |
輸入包含要匯入的虛擬機器的運算叢集。 |
--tenant-mapping {FOLDER | RESOURCE_POOL} |
根據已匯入的虛擬機器在資料夾或資源集區中的位置,指定是否將其對應至 OpenStack 專案。 如果不包括此參數,匯入的所有虛擬機器預設會變為 import_service 專案中的執行個體。 |
--root-folder |
如果您已為 --tenant-mapping 參數指定 FOLDER,可以提供包含要匯入之虛擬機器的根資料夾名稱。 指定資料夾或其任何子資料夾中的所有虛擬機器都將做為執行個體匯入到 OpenStack 專案,該專案的名稱與它們所在的資料夾相同。
備註: 如果指定
--tenant-mapping FOLDER 但未指定
--root-folder,則依預設會使用叢集中最上層資料夾的名稱。
|
--root-resource-pool |
如果您已為 --tenant-mapping 參數指定 RESOURCE_POOL,可以提供包含要匯入之虛擬機器的根資源集區名稱。 指定資源集區或其任何子資源集區中的所有虛擬機器都將做為執行個體匯入到 OpenStack 專案,該專案的名稱與它們所在的資源集區相同。 |
- 執行下列命令以匯入指定的虛擬機器:
com vmware vio vm unmanaged importvm --vm vm-id [--tenant project-name] [--nic-mac-address nic-mac --nic-ipv4-address nic-ip] [--root-disk root-disk-path] [--nics specifications]
選項 |
說明 |
--vm |
輸入您要匯入的虛擬機器的識別碼。 您可以透過執行 com vmware vio vm unmanaged list 命令,檢視所有未受管理的虛擬機器的識別碼值。 |
--tenant |
指定您要匯入虛擬機器的 OpenStack 專案。 如果不包括此參數,預設會使用 import_service 專案。 |
--nic-mac-address |
輸入虛擬機器上的網路介面卡的 MAC 位址。 如果不包括此參數,匯入程序會嘗試自動探索 MAC 和 IP 位址。
備註: 如果包括此參數,則必須同時包括
nic_ipv4_address 參數。
|
--nic-ipv4-address |
輸入虛擬機器上的網路介面卡的 IP 位址和首碼。以 CIDR 標記法輸入值 (例如,10.10.1.1/24)。 此參數必須與 --nic-mac-address 參數搭配使用。 |
--root-disk |
對於具有多個磁碟的虛擬機器,以下列格式指定根磁碟資料存放區路徑:--root-disk ‘[datastore1] dir/disk_1.vmdk’ |
--nics |
對於具有多個 NIC 的虛擬機器,以 JSON 格式指定每個 NIC 的 MAC 和 IP 位址。 使用下列索引鍵-值配對:
- mac_address:採用標準格式的 NIC 的 MAC 位址
- ipv4_address:以 CIDR 標記法表示的 IPv4 位址
例如: --nics '[{"mac_address": "00:50:56:9a:f5:7b", "ipv4_address": "192.0.2.10/24"}, {"mac_address": "00:50:56:9a:ee:be", "ipv4_address": "192.0.2.11/24"}]' |
結果
指定的虛擬機器已匯入至 OpenStack 部署中,並且可做為 OpenStack 執行個體進行管理。