您可以将虚拟机从 vSphere 导入 VMware Integrated OpenStack 部署,并像管理 OpenStack 实例一样进行管理。
此过程适用于使用 NSX-T Data Center 网络的部署。对于 VDS 或 NSX Data Center for vSphere 部署,请参见使用 NSX Data Center for vSphere 将虚拟机导入 VMware Integrated OpenStack。
以下条件适用于导入的虚拟机:
- 如果虚拟机有多个磁盘,这些磁盘将作为 Cinder 卷导入。
- 导入具有特定网络支持的虚拟机后,将无法向不同项目导入相同的网络。如果要将某个网络用于多个项目,请将其配置为共享网络。
在 Integrated OpenStack Manager 工具箱中使用 Data Center Command-Line Interface (DCLI) 导入虚拟机。
前提条件
确认要导入的虚拟机位于同一 vCenter Server 实例中。
过程
- 在 VMware Integrated OpenStack 部署中,将包含所需虚拟机的群集添加为计算群集。
- 将虚拟机连接到 Neutron 网络。
在此过程中,可以使用提供商网络或租户网络。
- 在 vSphere Client 中,打开主机和群集视图。
- 右键单击要导入的每个虚拟机,然后选择编辑设置...。
- 从网络适配器旁边的下拉列表中,选择要使用的 Neutron 网络。
- 展开网络适配器设置,并记录其 MAC 地址。
- 为虚拟机创建一个临时的含糊网络。
- 对于 NSX-T 2.5,创建一个逻辑交换机。请参见创建逻辑交换机以添加交换机,然后执行以下步骤以获取逻辑交换机 ID。
- 在逻辑交换机列中,单击要创建的交换机的名称。
- 记录概览列中显示的交换机 ID。
- 对于 NSX-T 3.0,创建一个分段。请参见添加分段并记录添加的分段的名称。
- 以
root
用户身份登录到 Integrated OpenStack Manager。
- 编辑 Nova 计算配置。
viocli update nova-compute
- 在 vmware 部分中,添加 import_net_id 参数,并将其值设置为交换机的 ID 或您在 步骤 3 中添加的分段的名称。
- 如果要防止导入的虚拟机重新放置或重命名,请添加 import_vm_relocate 参数并将其值设置为
false
。
- 打开工具箱并设置
admin
帐户的密码。
toolbox
export OS_PASSWORD=admin-account-password
- 创建一个使用虚拟机网络适配器的 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 地址,则可以忽略该参数。 |
- 连接到 VMware Integrated OpenStack vAPI 端点。
该端点位于部署的专用 OpenStack 端点。
dcli +server http://internal-vip:9449/api +i
- 将虚拟机导入 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 实例进行管理。