您可以將虛擬機器從 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 執行個體。

程序

  1. 新增包含所需虛擬機器的叢集做為 VMware Integrated OpenStack 部署中的運算叢集。
    如需相關指示,請參閱 將運算叢集新增至部署
  2. 將虛擬機器連線到 Neutron 網路。
    1. vSphere Client 中,開啟主機和叢集視圖。
    2. 在您想要匯入的每個虛擬機器上按一下滑鼠右鍵,然後選取編輯設定...
    3. 從網路介面卡旁邊的下拉式清單中,選取要使用的 Neutron 網路。
    4. 展開網路介面卡設定,並記錄其 MAC 位址。
  3. 為虛擬機器建立一個暫存的不透明網路。
    • 對於 NSX-T 2.5,您可以建立邏輯交換器。請參閱〈建立邏輯交換器〉以新增交換器,然後執行下列步驟以取得邏輯交換器識別碼。
      1. 邏輯交換器資料行中,按一下已建立的交換器的名稱。
      2. 記錄概觀資料行中顯示的交換器的識別碼。
    • 對於 NSX-T 3.0,您可以建立區段。請參閱〈新增區段〉並記錄已新增的區段名稱。
  4. root 使用者身分登入 Integrated OpenStack Manager
    ssh root@mgmt-server-ip
  5. 編輯 Nova 運算組態。
    viocli update nova-compute
  6. vmware 區段中,新增 import_net_id 參數,然後將其值設定為已記錄的交換器識別碼或區段名稱。
  7. 如果您想要防止匯入的虛擬機器重新放置或重新命名,請新增 import_vm_relocate 參數並將其值設定為 false
  8. 若要將虛擬機器匯入非預設網域,您必須在此網域中建立使用者和專案,然後在 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
  9. 設定 admin 帳戶的密碼。
    export OS_PASSWORD=admin-account-password
  10. 匯出工具箱中的變數。

    下列代碼中提供的密碼僅供參考。若要匯出工具箱中的變數,則必須指定密碼。

    [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
    
  11. 在指定的專案中建立 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 位址,則可以忽略此參數。

  12. 連線到 VMware Integrated OpenStack vAPI 端點。

    端點位於部署的私人 OpenStack 端點處。

    dcli +server http://internal-vip:9449/api +i
  13. 匯入虛擬機器,指定承租人名稱。

    若要匯入虛擬機器,您必須指定 --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 執行個體進行管理。