6.10. 导出导入虚拟机和模板

以 OVF (Open Virtual Machine Format,开放虚拟化格式)保存的虚拟机和模板可以被导出,并导入到同一个或不同 Red Hat Enterprise Virtualization 环境中的数据中心中。
在导出或导入虚拟机和模板时,一个活跃的导出域必须被附加到包括了要被导出或导入的虚拟机或模板所在的数据中心中。导出域起到了一个临时存储的功能,它为每个虚拟机和模板都准备了两个目录。一个目录包括了虚拟机或模板的 OVF 文件;另一个目录包括了虚拟机或模板的磁盘镜像文件。
导入和导出虚拟机和模板有三个阶段:
  1. 把虚拟机或模板导出到一个导出域中。
  2. 把导出域从一个数据中心中取消,并移到另一个数据中心上。您可以把导出域附加到同一个 Red Hat Enterprise Virtualization 环境中的数据中心上,也可以把它附加到由另外一个 Red Hat Enterprise Virtualization Manager 所管理的 Red Hat Enterprise Virtualization 环境的数据中心。

    注意

    一个导出域只能同时被一个数据中心中使用。这意味着它不能被同时附加到源数据中心和目标数据中心上。
  3. 把虚拟机或模板导入到导出域所在的数据中心。
在导入和导出虚拟机或模板时,包括虚拟机或模板基本信息(如名称和描述、资源分配、高可用性设置)的属性会被保留,而特定的用户角色和权限在导出过程中不会被保留。因此,如果访问虚拟机或模板需要特定的用户角色和权限,则需要在虚拟机或模板被导入后重新设置。
您也可以使用 V2V 的功能从其它虚拟产品供应商(如 Xen 或 VMware)中导入虚拟机,或导入 Windows 虚拟机。V2V 会对导入的虚拟机进行转换,从而使它们可以在 Red Hat Enterprise Virtualization 中运行。从一个 VMware 供应商中导入虚拟机包括两个阶段:
  1. 添加供应商窗口中添加一个或多个 VMware vCenter 供应商。如需了解更多相关信息,请参阅 Adding a VMware Instance as a Virtual Machine Provider
  2. 在目标数据中心的 Red Hat Enterprise Linux 7.2 主机上安装 virt-v2v。这个软件包包括在基本的 rhel-7-server-rpms 软件仓库中。
  3. 通过导入虚拟机窗口从 VMware 供应商中导入虚拟机。如需相关的详细信息,请参阅 第 6.10.4 节 “从 VMware 供应商中导入一个虚拟机”
如需了解更多与安装和使用 V2V 相关的信息,请参阅 Converting Virtual Machines from Other Hypervisors to KVM with virt-v2v

6.10.1. 导出和导入虚拟机和模板

以下提供了一组图来介绍从一个数据中心导出一个虚拟机或模板,并把它导入到另一个数据中心的过程。

过程 6.17. 导出并导入虚拟机和模板

  1. 为源数据中心添加一个导出域。
    添加导出域

    图 6.6. 添加导出域

  2. 把虚拟机或模板导出到导出域。
    导出虚拟资源

    图 6.7. 导出虚拟资源

  3. 从源数据中心上断开导出域。
    断开导出域

    图 6.8. 断开导出域

  4. 把导出域添加到目标数据中心上。
    添加导出域

    图 6.9. 添加导出域

  5. 把虚拟机或模板导入到目标数据中心。
    导入虚拟资源

    图 6.10. 导入虚拟资源

6.10.2. 把一个虚拟机导出到导出域

为了把虚拟机导入到另一个数据中心,这个虚拟机需要先被导出到导出域中。在您把虚拟机导出到导出域前,请确认导出域已经被添加到虚拟机所在的数据中心中;虚拟机已经被关闭。

过程 6.18. 把一个虚拟机导出到导出域

  1. 虚拟机标签页并选择一个虚拟机。
  2. 导出
  3. 另外,还可以选择下面的选择框:
    • 强制覆盖:覆盖已经存在于这个导出域中的虚拟机镜像。
    • Collapse 快照:为每个磁盘创建一个单独的导出卷。使用这个选项将会删除所有的快照恢复点;在导出域中包括虚拟机所基于的模板;并删除虚拟机和模板的依赖关系。对于依赖于一个模板的虚拟机,可以选择这个选项,并把模板和虚拟机一起导出;或确保模板已经存在于目标数据中心中。

      注意

      当您通过模板创建虚拟机时,新建虚拟机资源分配存储分配中包括两个分配选项。
      • 如果选克隆选项,虚拟机将不会依赖模板,模板也不必须包括在目标数据中心中。
      • 如果选 Thin 选项,虚拟机需要依赖模板,模板必须存在于目标数据中心中;或和虚拟机一起被导出。另外,您也可以选择 Collapse 快照,这会把模板磁盘和虚拟机磁盘合并为一个单一的磁盘。
      选择一个虚拟机,在它的详情框的常规标签页中可以查看选择了哪个选项。
  4. 确定
导出虚拟机的过程开始。在导出的过程中,虚拟机会在虚拟机结果列表中被显示,它的状态为 Image Locked。这个过程所需要的时间会取决于您的虚拟机硬盘镜像的大小,以及您所使用的存储硬件的情况(它有可能会需要长达一个小时的时间)。您可以使用事件页来查看它的进程。当这个过程完成后,虚拟机被导出到导出域中,并在导出域的详情框中的虚拟机导入标签页中显示。

6.10.3. 把虚拟机导入到目标数据中心

您已经把虚拟机导出到导出域。在这个虚拟机可以被导入到新的数据中心前,导出域必须被添加到目标数据中心上。

过程 6.19. 把虚拟机导入到目标数据中心

  1. 存储标签页,在结果列表中选择导出域。导出域的状态必须是活跃
  2. 在详情框中点虚拟机导入标签页列出所有要导入的虚拟机。
  3. 选一个或多个需要导入的虚拟机,点导入
    导入虚拟机

    图 6.11. 导入虚拟机

  4. 选择默认存储域集群
  5. 选择 Collapse 快照来删除快照的恢复点,并包括虚拟机所基于的模板。
  6. 选择要被导入的虚拟机后点磁盘子标签页。您可以通过选择这个标签页中的分配协议存储域下拉列表指定这个虚拟机要使用的磁盘类型是 thinly provisioned 或是 preallocated,以及磁盘所在的存储域。另外,一个特殊的图标被用来标识哪一个被导入的磁盘将被作为虚拟机的引导磁盘。
  7. 确定导入虚拟机。
    如果虚拟机己经在虚拟环境中存在了,导入虚拟机冲突窗口会出现。
    导入虚拟机冲突窗口

    图 6.12. 导入虚拟机冲突窗口

  8. 选择以下选项之一:
    • 不导入
    • 作为克隆导入并在新名字项中为这个虚拟机输入一个不同的值。
  9. 或者选择全部应用来导入所有重复的虚拟机,然后在克隆虚拟机后缀项中输入一个后缀(这些导入的虚拟机都会在名称中加这个相同的后缀)。
  10. 确定

重要

在进行一个导入操作时,您只能导入具有相同架构的虚拟机。如果在您选择导入的虚拟机中有和其它虚拟机架构不同的虚拟机,系统将会显示一个警告信息来要求您修改您的选择。

6.10.4. 从 VMware 供应商中导入一个虚拟机

从 VMware vCenter 供应商中为您的 Red Hat Enterprise Virtualization 环境导入虚拟机。您可以通过在导入操作过程中,在导入虚拟机窗口中输入 VMware 供应商的信息来从 VMware 供应商中导入虚拟机,也可以把 VMware 供应商添加为一个外部供应商,并在导入过程中选择这个预先配置的供应商来从中导入虚拟机。如需了解更多相关信息,请参阅 Adding a VMware Instance as a Virtual Machine Provider
Red Hat Enterprise Virtualization 会在导入虚拟机前,使用 V2V 命令把 VMware 虚拟机转换为正确的格式。在进行操作前,需要在兼容版本为 3.6 的数据中心中的最少一个 Red Hat Enterprise Linux 7.2 主机上安装 virt-v2v 软件包。这个软件包包括在 rhel-7-server-rpms 软件仓库中。

警告

在从 VMware 供应商导入虚拟机的过程中,不要通过 VMware 启动虚拟机,这会导致数据被破坏。

过程 6.20. 从 VMware 导入虚拟机

  1. 虚拟机标签页中,点导入打开导入虚拟机窗口。
    导入虚拟机窗口

    图 6.13. 导入虚拟机窗口

  2. 列表中选择 VMware
  3. 如果已把 VMware 供应商配置为一个外部供应商,从外部供应商列表中选择它。确认供应商的身份凭证是正确的。如果在配置外部供应商时没有设置目标数据中心或代理主机选项, 现在需要设置它们。
  4. 如果还没有配置 VMware 供应商,或需要从一个新的 VMware 供应商中导入虚拟机,则需要提供以下信息:
    1. 数据中心列表中选择虚拟机将在哪个数据中心中有效。
    2. vCenter 项中输入 VMware vCenter 实例的 IP 地址或完全限定域名。
    3. ESXi 项中输入一个主机的 IP 地址或完全限定域名。虚拟机将从这个主机中导入。
    4. 数据中心项中输入指定的 ESXi 主机所在的数据中心的名称。
    5. 另外,还可以选择验证身份凭证选项来验证 ESXi 主机的证书。
    6. 为 VMware vCenter 实例输入用户名密码。这个用户必须可以访问 VMware 数据中心,以及虚拟机所在的 ESXi 主机。
    7. 在数据中心中选择一个安装了 virt-v2v 的主机作为虚拟机导入操作的代理主机。这个主机需要可以连接到 VMware vCenter 外部供应商的网络。
  5. Load 在 VMware 供应商中产生一个虚拟机列表。
  6. 源中的虚拟机列表中选择一个或多个虚拟机,使用箭头按钮把它们移到要导入的虚拟机列表中。
  7. Next.
    导入虚拟机窗口

    图 6.14. 导入虚拟机窗口

  8. 选择虚拟机所要属于的集群
  9. 为虚拟机选择一个 CPU 配置集
  10. 选择 Collapse 快照来删除快照的恢复点,并包括虚拟机所基于的模板。
  11. 克隆选项改变虚拟机的名称和 MAC 地址、克隆所有磁盘并删除所有快照。如果在虚拟机的名称旁有一个警告图标,或在 VM in System 栏中有一个标记图标,则需要克隆虚拟机并修改它的名称。
  12. 选择要被导入的虚拟机后点磁盘子标签页。您可以通过选择这个标签页中的分配协议存储域下拉列表指定这个虚拟机要使用的磁盘类型是 thinly provisioned 或是 preallocated,以及磁盘所在的存储域。另外,一个特殊的图标被用来标识哪一个被导入的磁盘将被作为虚拟机的引导磁盘。

    注意

    目标存储域需要是一个基于文件的域。因为当前存在的限制,指定一个基于块的域会导致 V2V 操作失败。
  13. 如果选择了克隆选项,需要在常规子标签页中修改虚拟机的名称。
  14. 确定导入虚拟机。

重要

在进行一个导入操作时,您只能导入具有相同架构的虚拟机。如果在您选择导入的虚拟机中有和其它虚拟机架构不同的虚拟机,系统将会显示一个警告信息来要求您修改您的选择。