您可以將虛擬機器從 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 3.0,您可以建立區段。請參閱〈新增區段〉並記錄已新增的區段名稱。
- 以
root
使用者身分登入 Integrated OpenStack Manager。
- 編輯 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 network --name port --tenant-id <project id of import-proj2> --mac-address vm-mac --fixed-ip ip_address=vm-ip
neutron port-create network --name port --tenant-id project id --mac-address vm-mac --fixed-ip ip_address=vm-ip
選項 |
說明 |
network |
輸入虛擬機器所連線的 Neutron 網路的名稱。 |
--name |
輸入連接埠名稱。 |
--tenant-id |
指定要為其建立連接埠的專案的 UUID。 |
--mac-address |
輸入虛擬機器網路介面卡的 MAC 位址。 |
--fixed-ip |
輸入虛擬機器的 IP 位址。 如果虛擬機器沒有 IP 位址,或者您不想保留現有的 IP 位址,則可以忽略此參數。 |
- 連線到 VMware Integrated OpenStack vAPI 端點。
端點位於部署的私人 OpenStack 端點處。
dcli +server http://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 執行個體進行管理。