您可以將虛擬機器從 vSphere 匯入 VMware Integrated OpenStack 部署,並像管理 OpenStack 執行個體一樣管理它們。
此程序適用於使用 NSX-T Data Center 網路的部署。對於 VDS 或 NSX Data Center for vSphere 部署,請參閱〈具有 NSX Data Center for vSphere 的 VMware Integrated OpenStack〉。
下列條件適用於匯入的虛擬機器:
- 如果虛擬機器有多個磁碟,可以將這些磁碟作為 Cinder 磁碟區匯入。
- 匯入具有特定網路支援的虛擬機器後,無法將同一網路匯入不同的專案中。若要將某個網路用於多個專案,請將其設定為共用網路。
- 匯入虛擬機器動作只能在 Nova 執行個體和類型模板之間設定連結。無法根據類型模板組態調整執行個體大小。
在 Integrated OpenStack Manager 工具箱中使用 Data Center Command-Line Interface (DCLI) 匯入虛擬機器。
必要條件
若要匯入虛擬機器,請確認它們位於同一 vCenter Server 執行個體中。
程序
- 新增包含所需虛擬機器的叢集做為 VMware Integrated OpenStack 部署中的運算叢集。
如需相關指示,請參閱 將運算叢集新增至部署。
- 將虛擬機器連線到 Neutron 網路。
在此程序中,您可以使用提供者網路或承租人網路。
- 在 vSphere Client 中,開啟主機和叢集視圖。
- 若要匯入虛擬機器,請在每個虛擬機器按一下滑鼠右鍵,然後選取編輯設定...。
- 從網路介面卡旁邊的下拉式功能表中選取 Neutron 網路。
- 展開網路介面卡設定,並記錄其 MAC 位址。
- 匯入虛擬機器後,若要將虛擬機器的多個 vNIC 連線到不同的 Neutron 網路,必須從 VMware Integrated OpenStack 建立相應的 Neutron 網路。
- 將未匯入的虛擬機器 vNIC 從 vCenter Server 連線到相應的 Neutron 網路 (NSXT 區段)。
備註: 可以將多個 vNIC 連線到同一個 Neutron 網路,也可以連線到不同的 Neutron 網路。
- 為虛擬機器建立一個暫存的不透明網路。
- 透過
viocli update nova-compute
編輯 Nova 運算組態,新增 import_net_id 參數,並將其值設定為在步驟 5 中建立的區段的名稱。viocli update nova-compute
- 建立多個使用虛擬機器 vNIC 之 MAC 位址的 Neutron 連接埠。
neutron port-create network --name port --tenant-id project-id --mac-address vm-mac [--fixed-ip ip_address=vm-ip]
備註: 若要建立多個連接埠,必須重複執行 Neutron port create 命令。可以在同一個 Neutron 網路上建立這些連接埠,也可以在不同的 Neutron 網路上建立。此案例取決於虛擬機器 vNIC 的連線要求。選項 說明 network
輸入虛擬機器所連線的 Neutron 網路的名稱。
--name
輸入連接埠名稱。
--tenant-id
若要建立連接埠,請指定專案的 UUID。
--mac-address
輸入您在步驟 2d 中記錄的虛擬機器網路介面卡的 MAC 位址。
--fixed-ip
輸入虛擬機器的 IP 位址。
如果不希望保留現有的 IP 位址,或者如果虛擬機器沒有 IP 位址,則可以省略此參數。
- 連線到 VMware Integrated OpenStack vAPI 端點。
端點位於部署的私人 OpenStack 端點處。
dcli +server https://internal-vip:9449/api +i
- 將虛擬機器匯入 VMware Integrated OpenStack。
- 若要使用單一 vNIC 將虛擬機器匯入 VIO,請使用以下命令:
com vmware vio vm unmanaged importvm --vm vm-moid --nic-net-id network-uuid --nic-port-id port-uuid [--tenant project-name] [--root-disk root-disk-path]
- 若要使用多個 vNIC 將虛擬機器匯入 VIO,請使用以下命令:
com vmware vio vm unmanaged importvm --vm vm-moid --nics '[{"port_id": "port1_uuid"}, {"port_id": "port2_uuid"}]' "
例如:com vmware vio vm unmanaged importvm --vm vm-88 --tenant admin --nics '[{"port_id": "41fa621e-89d6-493f-876c-ed052905042d"}, {"port_id": "e97c74e9-e930-4837-a6d2-33bd065d8e32"}]'
備註: 在匯入過程中,連接埠會使用相應的 MAC 位址自動繫結到 vNIC。
選項 說明 --vm
輸入虛擬機器的受管理物件識別碼 (MOID)。
您可以透過執行 com vmware vio vm unmanaged list 命令,檢視所有未受管理的虛擬機器的 MOID。
--nics
以 JSON 格式輸入虛擬機器 vNIC 的索引鍵-值配對陣列。
--nic-net-id
輸入虛擬機器所連線的 Neutron 網路的 UUID。
--nic-port-id
輸入您為虛擬機器建立的連接埠的 UUID。
--tenant
指定您要匯入虛擬機器的 OpenStack 專案。
如果不包括此參數,預設會使用
import_service
專案。--root-disk
對於具有多個磁碟的虛擬機器,以下列格式指定根磁碟資料存放區路徑:--root-disk ‘[datastore1] dir/disk_1.vmdk’
備註: 當您執行命令時,DCLI 會提示您輸入 vCenter Server 執行個體的管理員認證。為避免每次都輸入使用者名稱和密碼,可以儲存這些認證。 - 若要使用單一 vNIC 將虛擬機器匯入 VIO,請使用以下命令:
- 對於磁碟區類型,從 VMware Integrated OpenStack 建立所需的多個磁碟區類型,並記錄磁碟區類型的識別碼。
openstack volume type create vol-type-ssd
- 根據磁碟區類型將虛擬機器匯入 VIO。
- 使用預設磁碟區類型匯入虛擬機器。
例如,可以使用以下命令:
"com vmware vio vm unmanaged importvm --vm vm-183 --root-disk '[vdnetSharedStorage] 2nic-001/2nic-001.vmdk' --nics '[{"port_id":"5b8f18e7-f77b-457f-9618-4dcb5fccb833"}, {"port_id": "96a26fe8-1458-4a25-ba85-9a7dcaac88fe"}]' --default-volume-type '059c97ce-f5ef-47fa-8552-1c7eeeac058b' --flavor 0a3cf2a0-754c-4a64-9ce5-a9eb2ef34e0c --tenant admin"
- 若要透過為每個磁碟指定磁碟區類型匯入虛擬機器,請使用以下命令:
com vmware vio vm unmanaged importvm --vm vm-moid --nic -net-id network-uuid --nic -port-id port-uuid --tenant project-name --volume type '[{"disk_path":"[datastore1] dir/disk_1.vmdk", "type_id": "volume-type1-uuid"}, {"disk_path":"[datastore1] dir/disk_2.vmdk", "type_id": "volume-type2-uuid"}]' "
例如:com vmware vio vm unmanaged importvm --vm vm-109 --nic -net-id e10b0037-6705-46d8-a8c5-20fbfdc1598d --nic -port-id be9bb062-d7b3-47f7-8566-f7b1f1c6ce2d --volume type [{"disk_path":"[datastore1] dir/disk_1.vmdk", "type_id": "096ef8ea-85ca-40f4-ba7f-9637f5fe95d2"}, {"disk_path":"[datastore1] dir/disk_2.vmdk", "type_id": "9969dd48-23dc-4010-a852-716f173fd59b"}]' --tenant admin
- 使用預設磁碟區類型匯入虛擬機器。
- 對於類型模板部分,記錄現有類型模板類型的識別碼。
- 根據類型模板類型將虛擬機器匯入 VIO。
com vmware vio vm unmanaged importvm --vm vm-moid --nic -net-id network-uuid --nic -port-id port-uuid --flavor flavor-uuid --tenant project-name
例如:com vmware vio vm unmanaged importvm --vm vm-109 --nic -net-id e10b0037-6705-46d8-a8c5-20fbfdc1598d --nic -port-id be9bb062-d7b3-47f7-8566-f7b1f1c6ce2d --flavor 256ac8d6-6fb1-4434-a007-bb6db6837e5a --tenant admin