您可以将虚拟机从 vSphere 导入 VMware Integrated OpenStack 部署并像管理 OpenStack 实例一样进行管理。
您可以使用数据中心命令行界面 (DCLI) 导入虚拟机,该界面随 VMware Integrated OpenStack 管理服务器打包在一起,且由 VMware Integrated OpenStack vAPI 提供程序提供支持。
尽管导入的虚拟机将成为 OpenStack 实例,但在很多方面仍然不同:
过程
- 将包含要导入的虚拟机的群集添加到 VMware Integrated OpenStack 部署中。
- 在 vSphere Web Client 中,确定包含要导入的虚拟机的群集。
- 将该群集作为 Nova 计算群集添加到 VMware Integrated OpenStack 部署。
- 如有必要,对多个群集重复上述操作。
将该群集添加为 Nova 计算群集后,可以导入虚拟机。
- 使用 SSH 登录到 VMware Integrated OpenStack Manager。
- 连接到 VMware Integrated OpenStack vAPI 端点。
该端点在本地运行。
dcli +server http://localhost:9449/api +i
此命令将打开一个交互式 shell (
dcli)。
- 列出 VMware Integrated OpenStack vAPI 提供程序中的所有命名空间。
dcli> com vmware vio
The vio namespace provides namespaces to manage components related to OpenStack and vSphere
Available Namespaces:
vm
- (可选) 列出与导入非受管虚拟机相关的命令。
非受管虚拟机是
VMware Integrated OpenStack 中不作为 OpenStack 实例进行管理的虚拟机。在此示例中,非受管虚拟机包括群集中已添加到计算节点的虚拟机。
dcli> com vmware vio vm unmanaged
The Unmanaged namespace provides commands to manage virtual machine not under OpenStack
Available Commands:
importall Imports all unmanaged virtual machines into OpenStack
importvm Imports given virtual machine into OpenStack
list Enumerates the list of unmanaged virtual machines
- (可选) 列出特定目标群集中已添加到 Nova 计算节点的非受管虚拟机。
com vmware vio vm unmanaged list --cluster <vcenter cluster mor-id>
- 将虚拟机导入 VMware Integrated OpenStack。
可以导入所有虚拟机或某个特定虚拟机。
- 导入所有虚拟机:
com vmware vio vm unmanaged importall [-h] --cluster CLUSTER [--tenant-mapping {FOLDER,RESOURCE_POOL}] [--root-folder ROOT_FOLDER]
[--root-resource-pool ROOT_RESOURCE_POOL]
选项 |
说明 |
--cluster CLUSTER |
指定虚拟机所在的 Nova 计算群集。 |
--tenant-mapping {FOLDER,RESOURCE_POOL} |
指定是否根据 vSphere 虚拟机在文件夹或资源池中的位置将其映射到 OpenStack 项目。 此参数为可选。如果未指定租户映射,则导入的虚拟机将变为 OpenStack import_service 项目中的实例。 |
--root-folder ROOT_FOLDER |
(可选)如果为 tenant-mapping 参数指定 FOLDER,则可指定包含要导入的虚拟机的 root 文件夹的名称。
- 指定 root 文件夹中的所有虚拟机均会导入,其中包括子文件夹中所含的虚拟机。
- 这些虚拟机将作为实例导入与指定 root 文件夹同名的 OpenStack 项目。
- 如果 root 文件夹包含子文件夹中的虚拟机,这些虚拟机将导入与子文件夹同名的 OpenStack 项目。
注: 如果未指定 root 文件夹,则默认情况下将使用群集中的顶级文件夹的名称。
|
--root-resource-pool ROOT_RESOURCE_POOL |
(可选)如果为 tenant-mapping 参数指定 RESOURCE_POOL,则可指定包含要导入的虚拟机的根资源池的名称。
- 指定根资源池中的所有虚拟机均会导入,其中包括子资源池中所含的虚拟机。
- 这些虚拟机将作为实例导入与指定根资源池同名的 OpenStack 项目。
- 如果根资源池包含子资源池中的虚拟机,这些虚拟机将导入与子资源池同名的 OpenStack 项目。
|
- 导入某一特定虚拟机:
com vmware vio vm unmanaged importvm [-h] \
--vm VM [--tenant TENANT] [--nic-mac-address NIC_MAC_ADDRESS] \
[--nic-ipv4-address NIC_IPV4_ADDRESS]
选项 |
说明 |
--vm VM |
指定要导入的特定虚拟机的 vm-<id>。 您可以通过运行 com vmware vio vm unmanaged list 命令查看要导入的所有虚拟机的 ID 值。 |
--tenant TENANT |
将导入的虚拟机所在的 OpenStack 项目指定为 OpenStack 实例。 此参数为可选。如果未指定,导入的虚拟机将变为 OpenStack import_service 项目中的实例。 |
--nic-mac-address NIC_MAC_ADDRESS |
(可选)为虚拟机的网卡提供 MAC 地址。 如果导入过程无法发现此值,导入将会失败。此参数允许您手动输入网卡 MAC 地址。
注: 如果指定,则还必须提供
nic-ipv4-address 参数。
|
--nic-ipv4-address NIC_IPV4_ADDRESS |
(可选)为虚拟机的网卡提供 IP 地址。 如果导入过程无法发现此值,导入将会失败。此参数允许您手动输入网卡 IP 地址。
注: 如果指定,则还必须提供
nic-mac-address 参数。
|
- (可选) 您可以修改 custom.yml 文件,对导入的虚拟机启用或禁用重定位和重命名。
默认情况下,将启用该选项。
- 如果您尚未执行此操作,请执行 custom.yml 文件。
sudo mkdir -p /opt/vmware/vio/custom
sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
- 要对导入的虚拟机禁用重定位和重命名,请在 custom.yml 文件中取消对以下参数的注释。
nova_import_vm_relocate: false
- 保存 custom.yml 文件。