4.3.4. v2v 操作的自动化脚本
v2v 整个操作过程可以通过脚本被自动化,这会大大提高对大量虚拟机进行转换的效率。这个过程可以被分为两步,每一步都需要在一个单独的主机上运行.
过程 4.8. v2v 操作的自动化脚本
- 使用
virt-v2v
转换虚拟机,并把它们复制到导出存储域中。这一步需要在一个 Linux 主机上运行。第 4.3.2 节 “转换一个虚拟机” 介绍了这一步的详细信息。 - 在转换完成后,使用 Red Hat Enterprise Virtualization 管理门户从导出存储域中导入虚拟机。这一步需要在 Red Hat Enterprise Virtualization Manager 服务器上运行。如需了解更多关于使用 Red Hat Enterprise Virtualization 管理门户导入虚拟机的信息,请参阅 Red Hat Enterprise Virtualization 管理指南。
图 4.4. 使用 Red Hat Enterprise Virtualization 管理门户导入虚拟机
另外,还可以使用 Python SDK 或命令行来从导出存储域中导入虚拟机:使用 SDK 导入虚拟机:例 4.3. 使用 SDK 从导出存储域中导入虚拟机
api = API(url="http(s)://...:.../api", username="...", password="...", filter=False, debug=True) sd = api.storagedomains.get(id="from-sd-id") import_candidate = sd.vms.get(id="vm-to-import") import_candidate.import_vm(action=params.Action( cluster=api.clusters.get(id="to-cluster-id"), storage_domain=api.storagedomains.get(id="to-sd-id")))
注意
在使用 SDK 方法时,可以使用name=
来获取或传递项。要通过命令行导入虚拟机,请连接到 Red Hat Enterprise Virtualization Manager 的 shell,并使用以下命令:例 4.4. 使用命令行从导出存储域中导入虚拟机
action vm "vm-to-import" import_vm --storagedomain-identifier "from-sd-id" --cluster-id "to-cluster-id" --storage_domain-id "to-sd-id"
注意
在使用命令行方法时,可以使用name=
来获取或传递项。