您可以將虛擬機器從 vSphere 匯入 VMware Integrated OpenStack 部署中的非預設網域,並像管理 OpenStack 執行個體一樣管理它們。
此程序適用於具有非預設網域的部署。對於 NSX-T Data Center 部署,請參閱〈具有 NSX-T Data Center 的 VMware Integrated OpenStack〉。
- 如果虛擬機器具有多個磁碟,這些磁碟會匯入做為 Cinder 磁碟區。
- 匯入具有特定網路支援的虛擬機器後,無法使用同一網路匯入不同的專案。如果您要將某個網路用於多個專案,請將提供者 VLAN (虛擬 LAN) 網路設定為共用網路。
在 Integrated OpenStack Manager 工具箱中使用 Data Center Command-Line Interface (DCLI) 匯入虛擬機器。
必要條件
確認您要匯入的虛擬機器位於同一個 vCenter Server 執行個體。
程序
- 新增包含所需虛擬機器的叢集做為 VMware Integrated OpenStack 部署中的運算叢集。
如需相關指示,請參閱 將運算叢集新增至部署。
- 將虛擬機器連線到 Neutron 網路。
- 在 vSphere Client 中,開啟主機和叢集視圖。
- 在您想要匯入的每個虛擬機器上按一下滑鼠右鍵,然後選取編輯設定...。
- 從網路介面卡旁邊的下拉式清單中,選取要使用的 Neutron 網路。
- 展開網路介面卡設定,並記錄其 MAC 位址。
- 為虛擬機器建立一個暫存的不透明網路。
- 對於 NSX-T 2.5,您可以建立邏輯交換器。請參閱《NSX-T Data Center 管理指南》中的〈建立邏輯交換器〉,然後執行下列步驟以取得邏輯交換器識別碼。
- 在邏輯交換器資料行中,按一下已建立的交換器的名稱。
- 記錄概觀資料行中顯示的交換器的識別碼。
- 對於 NSX-T 3.0,您可以建立區段。依照《NSX-T Data Center 管理指南》之〈新增區段〉中的指示進行操作,並記錄已新增的區段名稱。
- 對於 NSX-T 2.5,您可以建立邏輯交換器。請參閱《NSX-T Data Center 管理指南》中的〈建立邏輯交換器〉,然後執行下列步驟以取得邏輯交換器識別碼。
- 以
root
使用者身分登入 Integrated OpenStack Manager。ssh root@mgmt-server-ip
- 編輯 Nova 運算組態。
viocli update nova-compute
- 在 vmware 區段中,新增 import_net_id 參數,然後將其值設定為已記錄的交換器識別碼或區段名稱。
- 如果您想要防止匯入的虛擬機器重新放置或重新命名,請新增 import_vm_relocate 參數並將其值設定為
false
。 - 若要將虛擬機器匯入非預設網域,您必須在此網域中建立使用者和專案,然後在 default_tenant_domain_name 網繭中設定 vioshim 參數。
domain name: import-domain admin user in import-domain: import-domain a new project in import-domain: import-proj2
viocli update vioshim conf: vioshim: DEFAULT: default_tenant_domain_name: import-domain
若要進行驗證,您可以登入下列網繭。osctl exec -it vioadmin1-vioshim-6855dd94b4-s5vzk -c vioshim bash
若要檢查/etc/viocli/viocli.conf
的內容,可以使用下列代碼行:default_tenant_domain_name = import-domain
- 設定
admin
帳戶的密碼。export OS_PASSWORD=admin-account-password
- 匯出工具箱中的變數。
下列代碼中提供的密碼僅供參考。若要匯出工具箱中的變數,則必須指定密碼。
[root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_PROJECT_NAME=import-proj2 [root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_PROJECT_DOMAIN_NAME=import-domain [root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_USER_DOMAIN_NAME=import-domain [root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_PASSWORD=***** [root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_USERNAME=import-admin
此外,還可以使用預設專案
import-service
匯入虛擬機器,然後匯出工具箱中的變數。[root@vioadmin1-vioshim-56f9ddc779-wc4lc /]# [root@vioadmin1-vioshim-56f9ddc779-wc4lc /]# export OS_PASSWORD=***** [root@vioadmin1-vioshim-56f9ddc779-wc4lc /]# env | grep -i project OS_PROJECT_NAME=import-service OS_PROJECT_DOMAIN_NAME=default [root@vioadmin1-vioshim-56f9ddc779-wc4lc /]# export OS_PROJECT_NAME=admin
- 在指定的專案中建立 Neutron 連接埠。
您可以在指定的專案中建立 Neutron 連接埠。專案
import-proj2
將使用共用提供者網路,您必須為連接埠指定 --tenant-id 以避免 PortNotUsable 問題。neutron port-create Neutron network name --name port name --tenant-id <project id of import-proj2> --mac-address vm-mac --fixed-ip ip_address=vm-ip
neutron port-create Neutron network name --name port name --tenant-id project id --mac-address vm-mac --fixed-ip ip_address=vm-ip
選項 說明 Neutron 網路名稱
輸入虛擬機器所連線的 Neutron 網路的名稱。
--name
輸入連接埠名稱。
--tenant-id
指定要為其建立連接埠的專案的 UUID。
--mac-address
輸入虛擬機器網路介面卡的 MAC 位址。
--fixed-ip
輸入虛擬機器的 IP 位址。
如果虛擬機器沒有 IP 位址,或者您不想保留現有的 IP 位址,則可以忽略此參數。
- 連線到 VMware Integrated OpenStack vAPI 端點。
端點位於部署的私人 OpenStack 端點處。
dcli +server https://internal-vip:9449/api +i
- 匯入虛擬機器,指定承租人名稱。
若要匯入虛擬機器,您必須指定 --tenant 名稱。但是,如果未指定 --tenant 名稱,VMware Integrated OpenStack 將會使用預設的 --tenant 名稱
import-service
。com vmware vio vm unmanaged importvm --vm vm-moid --nic-net-id network-uuid --nic-port-id port-uuid --tenant import-proj2
com vmware vio vm unmanaged importvm --vm vm-moid --nic-net-id network-uuid --nic-port-id port-uuid --tenant import-service
選項 說明 --vm
輸入您要匯入的虛擬機器的受管理物件識別碼 (MOID)。
您可以透過執行 com vmware vio vm unmanaged list 命令,檢視所有未受管理的虛擬機器的 MOID。
--nic-net-id
輸入虛擬機器所連線的 Neutron 網路的 UUID。
--nic-port-id
輸入您為虛擬機器建立的連接埠的 UUID。
--tenant
指定您要匯入虛擬機器的 OpenStack 專案。
--root-disk
對於具有多個磁碟的虛擬機器,以下列格式指定根磁碟資料存放區路徑:--root-disk ‘[datastore1] dir/disk_1.vmdk’
備註: 當您執行命令時,DCLI 會提示您輸入 vCenter Server 執行個體的管理員認證。您可以儲存這些認證,以避免每次都輸入使用者名稱和密碼。
結果
指定的虛擬機器已匯入至 OpenStack 部署中,並且可做為 OpenStack 執行個體進行管理。