6.13.7. 从 RHEL 5 Xen 主机导入虚拟机

将虚拟机从 Red Hat Enterprise Linux 5 上的 Xen 导入到您的 Red Hat Virtualization 环境。Red Hat Virtualization 使用 V2V 导入 QCOW2 或原始虚拟机磁盘格式。

virt-v2v 软件包必须至少安装在一个主机上(在此流程中称为代理主机)。默认情况下,virt-v2v 软件包在 Red Hat Virtualization 主机(RHVH)上可用,并在 Red Hat Enterprise Linux 主机上作为 VDSM 的依赖性安装在 Red Hat Virtualization 环境中。Red Hat Enterprise Linux 主机必须是 Red Hat Enterprise Linux 7.2 或更高版本。

警告

如果您从 RHEL 5 Xen 主机导入 Windows 虚拟机,并且您正在使用 VirtIO 设备,请在导入虚拟机前安装 VirtIO 驱动程序。如果没有安装驱动程序,则虚拟机在导入后可能无法启动。

VirtIO 驱动程序可以从 virtio-win.isoRHV-toolsSetup_version.iso 进行安装。详情请查看 第 3.3.2 节 “在 Windows 上安装客户机代理、工具和驱动程序”

如果您不使用 VirtIO 驱动程序,请在首次启动前检查该虚拟机的配置,以确保未使用 VirtIO 设备。

注意

virt-v2v 软件包在 ppc64le 架构中不可用,且这些主机不能用作代理主机。

重要

导入操作只能包含共享相同架构的虚拟机。如果要导入的任何虚拟机都具有不同的架构,系统会显示警告,并提示您更改您的选择,使其只包含具有相同架构的虚拟机。

注意

如果导入失败,请参考 /var/log/vdsm/import/ 中的相关日志文件,详情请参阅代理主机上的 /var/log/vdsm/vdsm.log

从 RHEL 5 Xen 导入虚拟机

  1. 关闭虚拟机。在导入过程中通过 Xen 启动虚拟机可能会导致数据崩溃。
  2. 启用代理主机和 RHEL 5 Xen 主机之间的公钥身份验证:

    1. 登录代理主机,并为 vdsm 用户生成 SSH 密钥。

      # sudo -u vdsm ssh-keygen
    2. vdsm 用户的公钥复制到 RHEL 5 Xen 主机。

      # sudo -u vdsm ssh-copy-id root@xenhost.example.com
    3. 登录 RHEL 5 Xen 主机,以验证登录是否正常工作。

      # sudo -u vdsm ssh root@xenhost.example.com
  3. 登录管理门户。
  4. 单击 ComputeVirtual Machines
  5. More Actions ( moreactions ),然后点 Import 以打开 Import Virtual Machine(s) 窗口。
  6. 选择包含代理主机的数据中心
  7. Source 下拉菜单中选择 XEN (via RHEL)
  8. (可选)从下拉菜单中选择 RHEL 5 Xen External Provider。URI 将预先填充正确的 URI。如需更多信息,请参阅 管理指南中的将 RHEL 5 Xen 主机作为虚拟机提供程序添加
  9. 输入 RHEL 5 Xen 主机的 URI。预填充了所需格式;您必须将 <hostname> 替换为 RHEL 5 Xen 主机的主机名。
  10. Proxy Host 下拉列表中选择代理主机。
  11. 单击 Load 以列出可导入的 RHEL 5 Xen 主机上的虚拟机。
  12. Source 上的 Virtual Machines 列表中选择一个或多个虚拟机,并使用箭头将它们移到 Virtual Machines to Import 列表中。

    注意

    由于当前限制,含有块设备的 Xen 虚拟机不会显示在 Source 列表中的虚拟机中。它们必须手动导入。请参阅 从 RHEL 5 Xen 主机导入基于块的虚拟机

  13. Next
  14. 选择要驻留虚拟机的集群
  15. 为虚拟机选择一个 CPU 配置文件
  16. 使用 分配策略存储域列表选择虚拟机所使用的磁盘是精简配置还是预分配,然后选择要在其上存储该磁盘的存储域。

    注意

    目标存储域必须是基于文件的域。由于当前限制,指定基于块的域会导致 V2V 操作失败。

  17. 如果虚拟机显示在其名称旁边带有警告符号,或者在 System 列中有 VM 号,请选择 Clone 复选框以克隆虚拟机。

    注意

    克隆虚拟机会更改其名称和 MAC 地址,并克隆其所有磁盘,同时删除所有快照。

  18. 单击 OK 以导入虚拟机。

虚拟机的 CPU 类型必须与导入它的集群的 CPU 类型相同。在管理门户中查看集群的 CPU 类型

  1. 单击 ComputeClusters
  2. 选择一个集群。
  3. Edit
  4. 点击常规标签。

如果虚拟机的 CPU 类型不同,请配置导入的虚拟机的 CPU 类型:

  1. 单击 ComputeVirtual Machines
  2. 选择虚拟机。
  3. Edit
  4. 系统选项卡。
  5. 单击 Advanced Parameters 箭头。
  6. 指定 Custom CPU Type 并点击 OK

从 RHEL 5 Xen 主机导入基于块的虚拟机

  1. 启用代理主机和 RHEL 5 Xen 主机之间的公钥身份验证:

    1. 登录代理主机,并为 vdsm 用户生成 SSH 密钥。

      # sudo -u vdsm ssh-keygen
    2. vdsm 用户的公钥复制到 RHEL 5 Xen 主机。

      # sudo -u vdsm ssh-copy-id root@xenhost.example.com
    3. 登录 RHEL 5 Xen 主机,以验证登录是否正常工作。

      # sudo -u vdsm ssh root@xenhost.example.com
  2. 连接导出域。详情请参阅管理指南中的将现有导出域连接到数据中心
  3. 在代理主机上,从 RHEL 5 Xen 主机上复制虚拟机:

    # virt-v2v-copy-to-local -ic xen+ssh://root@xenhost.example.com vmname
  4. 将虚拟机转换为 libvirt XML,并将文件移动到您的导出域中:

    # virt-v2v -i libvirtxml vmname.xml -o rhev -of raw -os storage.example.com:/exportdomain
  5. 在管理门户中,单击 StorageDomains,单击导出域的名称,再单击详细信息视图中的 VM Import 选项卡,以验证虚拟机是否在导出域中。
  6. 将虚拟机导入到目标数据域。详情请查看 第 6.13.3 节 “从导出域导入虚拟机”