3.2. 为转换虚拟机做准备
virt-v2v
命令对运行在其它虚拟机管理程序上的虚拟机进行转换来在由 libvirt 管理的 KVM 上运行。它会为转换的虚拟机自动创建一个 libvirt 域。
图 3.1. 转换一个虚拟机
在转换一个虚拟机前,请确认以下步骤已经完成。
过程 3.1. 为转换虚拟机做准备
- 创建一个本地存储域来处理数据存储。
virt-v2v
会在虚拟机导入的过程中把虚拟机的存储复制到一个本地定义的 libvirt 存储池中。这个存储池可以使用任何 libvirt 工具创建,并可以是任何类型。最简单的方法是使用virt-manager
创建一个新存储池。请参阅 Red Hat Enterprise Linux Virtualization 管理指南来获得更多使用virt-manager
或virsh
创建存储池的信息。 - 创建本地网络接口本地机器需要有适当的网络设备(通常是一个网桥)来为被转换的虚拟机进行网络连接。 这个网桥可以使用主机上的标准工具进行创建。从 libvirt 版本 0.8.3 开始,
virt-manager
也可以创建和管理网桥。如需了解更多相关信息,请参阅 Red Hat Enterprise Linux Virtualization Host Configuration and Guest Installation Guide 或 Red Hat Enterprise Linux Virtualization 管理指南。 - 在
virt-v2v.conf
中指定网络映射。这一步是可选的,多数情况下都不需要它。如果您的虚拟机有多个网络接口,则需要编辑/etc/virt-v2v.conf
来指定所有网络接口的映射信息。您可以使用-f
参数来指定另外一个virt-v2v.conf
文件。如果您的虚拟机只有一个网络接口,则只需要使用--network
或--bridge
参数,而不需要修改virt-v2v.conf
。 - 在
virt-v2v.conf
中为转换创建一个配置集。这一步是可选的。配置集指定了转换的方法、存储配置、输出格式和分配策略。当定义了一个配置集后,就可以使用--profile
调用配置集,而不需要再单独提供-o
、-os
、-of
和-oa
参数。请参阅 virt-v2v.conf(5) 来获得更详细的信息。
3.2.1. 为转换一个运行 Linux 的虚拟机做准备
在转换一个运行 Linux 的虚拟机前,请确认以下步骤已经完成。
过程 3.2. 为转换一个运行 Linux 的虚拟机做准备
- 获得相关的软件。作为转换过程的一般分,
virt-v2v
可能需要在虚拟机上安装一个新内核和驱动。如果被转换的虚拟机已经注册到了 Red Hat Subscription Management(RHSM),所需的软件包会被自动下载。当无法使用 Red Hat Subscription Management(RHSM)时,virt-v2v.conf
文件包括了为了完成这个操作所需的 RPM 列表。您需要手动从红帽客户门户网站中下载这些 RPM。并保存在path-root
配置项所指定的目录中(默认目录是/var/lib/virt-v2v/software/
)。如果没有转换所需的软件,virt-v2v
将会显示一个与 例 3.1 “缺少所需软件错误” 相似的错误信息。例 3.1. 缺少所需软件错误
virt-v2v: Installation failed because the following files referenced in the configuration file are required, but missing: rhel/6/kernel-2.6.32-128.el6.x86_64.rpm rhel/6/ecryptfs-utils-82-6.el6.x86_64.rpm rhel/6/ecryptfs-utils-82-6.el6.i686.rpm
- 对每个缺少的软件包重复以下操作来获得它们:
- 登录到红帽客户门户网站:https://access.redhat.com/。
- 在红帽客户门户网站中,选下载 > 产品下载 > Red Hat Enterprise Linux。
- 选择所需的 Product Variant、Version,选择 Packages 标签页。在 Filter 项中输入错误信息中显示的软件包名。以 例 3.1 “缺少所需软件错误” 为例,第一个软件包是 kernel-2.6.32-128.el6.x86_64
- 一组软件包会被显示,选择和错误信息中显示的软件包名完全相同的软件包。这会打开它的详情页,其中包括了对这个软件包的详细信息。或者点所需软件包旁的 Download Latest 来下载最新的软件包。
- 把下载的软件包保存在
/var/lib/virt-v2v/software
中的相应目录中。对于 Red Hat Enterprise Linux 6,这个目录是/var/lib/virt-v2v/software/rhel/6
。