您可以将虚拟机从 vSphere 导入 VMware Integrated OpenStack 部署,并像管理 OpenStack 实例一样进行管理。

此过程适用于使用 NSX-T Data Center 网络的部署。对于 VDSNSX Data Center for vSphere 部署,请参见具有 NSX Data Center for vSphere 的 VMware Integrated OpenStack

以下条件适用于导入的虚拟机:

  • 如果虚拟机有多个磁盘,这些磁盘将作为 Cinder 卷导入。
  • 导入具有特定网络支持的虚拟机后,将无法向不同项目导入相同的网络。如果要将某个网络用于多个项目,请将其配置为共享网络。

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,创建一个逻辑交换机。请参见创建逻辑交换机以添加交换机,然后执行以下步骤以获取逻辑交换机 ID。
      1. 逻辑交换机列中,单击要创建的交换机的名称。
      2. 记录概览列中显示的交换机 ID。
    • 对于 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 参数,并将其值设置为交换机的 ID 或您添加的分段的名称。
  7. 如果要防止导入的虚拟机重新放置或重命名,请添加 import_vm_relocate 参数并将其值设置为 false
  8. 打开工具箱并设置 admin 帐户的密码。
    toolbox
    export OS_PASSWORD=admin-account-password
  9. 创建一个使用虚拟机网络适配器的 MAC 地址的 Neutron 端口。
    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

    输入您在步骤 2d 中记录的虚拟机网络适配器的 MAC 地址。

    --fixed-ip

    输入虚拟机的 IP 地址。

    如果虚拟机没有 IP 地址,或者您不想保留现有的 IP 地址,则可以忽略该参数。

  10. 连接到 VMware Integrated OpenStack vAPI 端点。

    该端点位于部署的专用 OpenStack 端点。

    dcli +server http://internal-vip:9449/api +i
  11. 将虚拟机导入 VMware Integrated OpenStack
    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]
    选项 说明

    --vm

    输入要导入的虚拟机的受管对象标识符 (MOID)。

    可以通过运行 com vmware vio vm unmanaged list 命令查看所有非受管虚拟机的 MOID。

    --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 实例的管理员凭据。您可以保存这些凭据,避免每次都需要输入用户名和密码。

结果

指定的虚拟机将导入至 OpenStack 部署中,并可作为 OpenStack 实例进行管理。