Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.3.4. v2v 操作的自动化脚本

v2v 整个操作过程可以通过脚本被自动化,这会大大提高对大量虚拟机进行转换的效率。这个过程可以被分为两步,每一步都需要在一个单独的主机上运行.

过程 4.8. v2v 操作的自动化脚本

  1. 使用 virt-v2v 转换虚拟机,并把它们复制到导出存储域中。这一步需要在一个 Linux 主机上运行。第 4.3.2 节 “转换一个虚拟机” 介绍了这一步的详细信息。
  2. 在转换完成后,使用 Red Hat Enterprise Virtualization 管理门户从导出存储域中导入虚拟机。这一步需要在 Red Hat Enterprise Virtualization Manager 服务器上运行。
    如需了解更多关于使用 Red Hat Enterprise Virtualization 管理门户导入虚拟机的信息,请参阅 Red Hat Enterprise Virtualization 管理指南
    The Import Virtual Machine(s) wizard.

    图 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= 来获取或传递项。