_VMware_虚拟机到_KVM

 

VMware 虚拟机文件介绍

成功迁移虚拟机的一个重要的验证标准就是文件的正确性和完整性。下图中列出与 VMware 虚拟机相关的文件,但是迁移 VMware 虚拟机到 KVM 并不需要用到所有的文件。

1. VMware 虚拟机文件

VMware 虚拟机的文件主要包括 .nvram 文件,.vmx 文件,vmdk 文件,.vswp 文件,.vmss 文件,.vmsd 文件,.vmsn 文件,.log 文件,.vmxf 文件。与迁移相关的最主要的是 .vmx 文件和 .vmdk 文件。

  • .vmdk 文件:包含虚拟磁盘的信息。虚拟机的文件系统就建立在 .vmdk 文件上。迁移时需要拷贝这个文件到 KVM 主机,并且转换成能够被 libvirt 识别的文件格式。

以下的虚拟机文件有些只在虚拟机处于的某种状态时出现,迁移过程中不会用到。例如当虚拟机开启时出现 .vswp 文件,当虚拟机暂停时出现 .vmss 文件。

  • .nvram 文件:包括虚拟机启动过程一部分的 Phoenix BIOS。它类似于拥有 BIOS 芯片的物理服务器,能够设置硬件配置选项。如果删除的话,在虚拟机启动时会自动地重新创建。
  • .vswp file:这些文件的大小等于分配给虚拟机的内存大小,再减去任何内存预留(默认是 0)。这些文件通常创建在虚拟机里,但是只有当 ESX 主机耗尽所有物理内存时才使用。当虚拟机关闭或暂停时,这些文件将删除。
  • .vmss 文件:这个文件用于虚拟机暂停时,保存虚拟机的存储内容,以便在重新开始时继续运行。
  • .vmsn 文件:这个文件与快照一起使用,用于存储虚拟机在进行快照时的状态。每在虚拟机上创建一个快照就会生成一个 .vmsn 文件,在删除快照时,文件自动删除。
  • .log 文件:这些文件创建来用于存储虚拟机的日志信息,并常常用于故障检查。在虚拟机目录里,有大量的这样的文件。当前的日志文件通常命名为 vmware.log。
  • .vmxf 文件:这是一个附加配置文件,不用于 ESX,用于与 Workstation 兼容的目的。这个文件是文本格式,Workstation 用来聚合虚拟机(VM teaming),将多个虚拟机分配成一组,作为一个单一对象开启或关闭、暂停或恢复它们。

回页首

virt-v2v 迁移 VMware ESX 虚拟机

RHEL6Red Hat Enterprise Linux 6)开始,RHEL 发行版中包含了 Red Hat 公司开发的 virt-v2v 工具。它是由 perl 语言编写的脚本,可以自动化的将创建在 XenKVM VMware ESX 上的虚拟机拷贝到 virt-v2v 的主机,并且自动的更改配置,使之能够被 libvirt 进行管理。目前,virt-v2v 支持静态迁移下列虚拟机:RHEL4RHEL5, RHEL6Windows XPWindows Vista, Windows 7, Windows Server 2003 Windows Server 2008

2. virt-v2v 迁移 VMware/Xen/KVM 虚拟机示意图

本节中,将分别介绍如何使用 virt-v2v 工具迁移 Vmware ESXi 上的 RHEL 虚拟机和 Windows 7 虚拟机到 KVM 主机。

迁移前的环境设置

清单 1. 支持 KVM 虚拟机的软件包

                                  

 [root@localhost ~]# rpm -qa qemu-kvm

 qemu-kvm-0.12.1.2-2.160.el6.x86_64

 [root@localhost ~]# rpm -qa libvirt

 libvirt-0.8.7-18.el6.x86_64

 [root@localhost ~]# rpm -qa virt-manager

 virt-manager-0.8.6-4.el6.noarch

 [root@localhost ~]# rpm -qa virt-v2v

 virt-v2v-0.7.1-3.el6.x86_64

 

为了使 virt-v2v 工具能够自动化的迁移 VMware ESX 虚拟机,尽量减少手动干预,还需要在 KVM 主机上做一些设置。

1. 安装支持 Windows 虚拟机迁移的软件。

对于 Windows 虚拟机的迁移需要安装 libguestfs-winsupport 包来支持 NTFS 文件系统和 virtio-win 包来支持 Windows para-virtualized 存储和 络设备驱动。

清单 2. 安装 Windows 虚拟机迁移的支持包

                                  

 [root@victory4 v2v]# rpm -ivh libguestfs-winsupport-1.0-7.el6.x86_64.rpm 

 virtio-win-1.2.0-1.el6.noarch.rpm

 Preparing…                ########################################### [100%]

   1:virtio-win             ########################################### [ 50%]

   2:libguestfs-winsupport  ########################################### [100%]

 

2. 创建 KVM 主机存储域

3. 使用 virt-manager 创建本地存储域

3. 创建 KVM 主机 络接口

4. 使用 virt-manager 创建 桥

4. 创建配置文件 virt-v2v.conf

virt-v2v.conf 文件中设置 virt-v2v 迁移的规则,包括 络接口迁移后的映射,迁移的方式,存储的位置,输出的格式等等。这些规则也能以命令行参数的方式输入,如 – – network-o-os-of 等。

virt-v2v 迁移 VMware 虚拟机的步骤

KVM 主机上完成上节的准备工作后,可以正式开始迁移 VMware ESX 上的虚拟机了。下面是迁移的具体步骤:

1. 如果虚拟机上安装了 VMware Tools,必须先卸载它。因为 KVM 的虚拟机不支持 VMware Tools 里面的虚拟驱动。

2. VMware ESX 上停止等待迁移的虚拟机,因为 virt-v2v 只支持静态迁移。

3. 为自动登录 VMware ESX 服务器创建 .netrc 文件。VMware ESX 服务器的连接需要授权,virt-v2v 支持密码方式的授权连接,可以从 $HOME/.netrc 文件中读取密码并自动登录。如果主机系统没有这个文件,就手动创建它。并且 .netrc 文件需要 0600 权限,使 virt-v2v 工具可以正确读取它。

清单 3. .netrc 文件的格式

                                  

 machine esx.example.com login root password xxxxxx

清单 4. virt-v2v 迁移命令及参数

                                  

 virt-v2v -ic esx://esx.example.com/o_verify=1 -os pool –bridge brname vm-name

   

 esx.example.com – ESX 服务器主机名或 IP Address

 pool – 本地主机存储池,用来保存镜像

 brname – 本地主机 桥名字,用来连接迁移后的虚拟机 络

 vm-name – 虚拟机的名字

5. 迁移成功后,虚拟机出现在 virt-manager 管理的虚拟机列表中。通过 virt-manager 工具启动虚拟机。

6. 检查迁移后的虚拟机的设备驱动。如果需要,重新安装虚拟设备驱动。

7. 验证迁移后的虚拟机的配置和系统是否和迁移之前一致。

virt-v2v 迁移实例:Linux 虚拟机 RHEL5.5

本例将迁移创建在 VMWare ESXi 服务器上的 RHEL5.5 虚拟机到 KVM 主机上,并使迁移后的虚拟机被 libvirt 管理。本例的环境中,VMware ESXi 服务器和 KVM 主机通过 络连接,虚

拟机镜像被各自的存储管理。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月9日
下一篇 2022年5月9日

相关推荐