迁移 VMware 虚拟机到 KVM.doc

上传人:枫** 文档编号:542107491 上传时间:2024-01-15 格式:DOC 页数:23 大小:492.53KB
返回 下载 相关 举报
迁移 VMware 虚拟机到 KVM.doc_第1页
第1页 / 共23页
迁移 VMware 虚拟机到 KVM.doc_第2页
第2页 / 共23页
迁移 VMware 虚拟机到 KVM.doc_第3页
第3页 / 共23页
迁移 VMware 虚拟机到 KVM.doc_第4页
第4页 / 共23页
迁移 VMware 虚拟机到 KVM.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《迁移 VMware 虚拟机到 KVM.doc》由会员分享,可在线阅读,更多相关《迁移 VMware 虚拟机到 KVM.doc(23页珍藏版)》请在金锄头文库上搜索。

1、简介:目前 x86 平台上最流行的虚拟化软件是 VMware 公司的系列产品,而基于开源技术的 KVM 虚拟化软件也得到了广泛的应用。本文是虚拟化迁移技术系列文章的第三部分,详细介绍了如何使用 virt-v2v 开源工具或者手动方法迁移创建在 VMware 软件上的 Window 及 Linux 虚拟机到基于 KVM 的虚拟机,并且从功能上比较了虚拟机系统迁移前后的变化,最后总结了 VMware 虚拟机到 KVM 迁移的不足和注意事项。前言随着虚拟化技术的不断发展,虚拟机的应用也越来越广泛。日常应用中可能出现资源不足,系统管理调整或者系统备份等原因,希望将某一虚拟机从原 来物理主机迁移到另一个

2、物理主机上,即 V2V(Virtual-to-Virtual)迁移。虚拟机的迁移需要物理主机上 VMM(Virtual Machine Monitor)的支持。相同类型 VMM 之间,使用相同的 API 接口,通常具有强大的迁移能力。例如本系列第二篇文章介绍的 KVM 虚拟机之间的迁移,它支持三种迁移方式:离线迁移、在线共享存储迁移和在线块迁移。而不同的 VMM 之间,由于虚拟化实现技术的不同、开发厂商的不同、API 接口的不同,使虚拟机迁移困难重重。本文分别介绍如何静态迁移 VMware ESX/ESXi、VMware Workstation 及 VMware Player 上的虚拟机到 K

3、VM 主机。VMware 虚拟机迁移到 KVM 的方式虚拟机 V2V(Virtual-to-Virtual)迁移是在虚拟机之间移动操作系统和数据, 照顾主机级别的差异和处理不同的虚拟硬件。V2V 的迁移方法有两种,静态迁移和在线迁移。静态迁移(offline migration)也叫做常规迁移、离线迁移。在迁移之前将虚拟机暂停,同时拷贝虚拟机镜像和状态到目的主机。相比较于在线迁移(online migration),其缺点是静态迁移方式的过程需要显式的停止虚拟机的运行,而在线迁移的过程仅有非常短暂的停机时间,保证迁移过程中虚拟机服务的持 续可用;优点是兼容性强,不需要 VMM 的有统一的 AP

4、I 接口,可以借助第三方工具辅助迁移。由于目前 VMM 的开发没有统一的标准,不同的虚拟化厂商,尤其是闭源的商业厂商开发的 VMM 各成一套,静态迁移是解决不同类型虚拟机之间迁移的有效办法。本文采用 V2V 静态迁移的方法实现 VMware 虚拟机到 KVM 的迁移,同时介绍开源迁移工具 virt-v2v 的使用。VMware 虚拟化产品及虚拟机文件VMware 产品简介VMware 是全球虚拟化解决方案的领导厂商,提供了一套虚拟机解决方案,按产品特点可分为如下四类。VMware ESX/ESXi:这个产品不需要安装任何操作系统,它本身就是一个用来管理硬件资源的特殊的操作系统,所有的虚拟机都安

5、装在它的上面。ESX Server 带有远程 web 管理和客户端管理功能。VMware Server、Workstation 和 Fusion:与 ESX 相比,这三个产品都是要安装在操作系统上的。Server 和 Workstation 运行在 Windows 和 Linux 上,Fusion 运行在苹果的 Mac OS 上。VMware VMotion:是 VMware 开发出的一项独特技术,它将服务器、存储和网络设备完全虚拟化,使得正在运行的整个虚拟机能够在瞬间从一台服务器移到另一台服务器上。Virtual Center、Importer、Convertor、P2V、Player:这些

6、是为了配合 VMware 虚拟引擎,主要是为了配合 ESX 开发的管理软件和工具,这些工具中很多是免费的。本文主要迁移创建在 VMware ESX/ESXi、VMware Workstation 和 VMware Player 上的虚拟机到 KVM 主机上,迁移后的虚拟机可以被开源的 libvirt 软件管理。VMware 虚拟机文件介绍成功迁移虚拟机的一个重要的验证标准就是文件的正确性和完整性。下图中列出与 VMware 虚拟机相关的文件,但是迁移 VMware 虚拟机到 KVM 并不需要用到所有的文件。图 1. VMware 虚拟机文件 VMware 虚拟机的文件主要包括 .nvram 文

7、件,.vmx 文件,vmdk 文件,.vswp 文件,.vmss 文件,.vmsd 文件,.vmsn 文件,.log 文件,.vmxf 文件。与迁移相关的最主要的是 .vmx 文件和 .vmdk 文件。.vmx 文件:包括虚拟机所有配置信息与硬件设置。不管你对虚拟机的设置做了何种编辑,所有的信息都会以文本形式保存在这个文件里。如特殊硬件配置(例如 RAM 大小,网络接口信息,硬盘驱动信息,串行与并行信息),高级能源与资源配置、VMware 工具选项及能源管理选项。迁移虚拟机时,需要更改这个文件的格式到 KVM 支持的 xml 文件,并且重新确认文件信息的有效性。.vmdk 文件:包含虚拟磁盘的

8、信息。虚拟机的文件系统就建立在 .vmdk 文件上。迁移时需要拷贝这个文件到 KVM 主机,并且转换成能够被 libvirt 识别的文件格式。以下的虚拟机文件有些只在虚拟机处于的某种状态时出现,迁移过程中不会用到。例如当虚拟机开启时出现 .vswp 文件,当虚拟机暂停时出现 .vmss 文件。.nvram 文件:包括虚拟机启动过程一部分的 Phoenix BIOS。它类似于拥有 BIOS 芯片的物理服务器,能够设置硬件配置选项。如果删除的话,在虚拟机启动时会自动地重新创建。.vswp file:这些文件的大小等于分配给虚拟机的内存大小,再减去任何内存预留(默认是 0)。这些文件通常创建在虚拟机

9、里,但是只有当 ESX 主机耗尽所有物理内存时才使用。当虚拟机关闭或暂停时,这些文件将删除。.vmss 文件:这个文件用于虚拟机暂停时,保存虚拟机的存储内容,以便在重新开始时继续运行。.vmsd 文件:这个文件与快照一起使用,用于存储元数据和其他活动在虚拟机里的每个快照的信息。这个文本文件在创建快照之前的初始大小是 0 字节,并在每次创建或删除快照时更新信息。.vmsn 文件:这个文件与快照一起使用,用于存储虚拟机在进行快照时的状态。每在虚拟机上创建一个快照就会生成一个 .vmsn 文件,在删除快照时,文件自动删除。.log 文件:这些文件创建来用于存储虚拟机的日志信息,并常常用于故障检查。在

10、虚拟机目录里,有大量的这样的文件。当前的日志文件通常命名为 vmware.log。.vmxf 文件:这是一个附加配置文件,不用于 ESX,用于与 Workstation 兼容的目的。这个文件是文本格式,Workstation 用来聚合虚拟机(VM teaming),将多个虚拟机分配成一组,作为一个单一对象开启或关闭、暂停或恢复它们。virt-v2v 迁移 VMware ESX 虚拟机从 发行版中包含了 Red Hat 公司开发的 virt-v2v 工具。它是由 perl 语言编写的脚本,可以自动化的将创建在 Xen,KVM 和 VMware ESX 上的虚拟机拷贝到 virt-v2v 的主机,

11、并且自动的更改配置,使之能够被 libvirt 进行管理。目前,virt-v2v 支持静态迁移下列虚拟机:RHEL4、RHEL5, RHEL6,Windows XP,Windows Vista, Windows 7, Windows Server 2003 和 Windows Server 2008。图 2. virt-v2v 迁移 VMware/Xen/KVM 虚拟机示意图 本节中,将分别介绍如何使用 virt-v2v 工具迁移 Vmware ESXi 上的 RHEL 虚拟机和 Windows 7 虚拟机到 KVM 主机。迁移前的环境设置本文的 KVM 主机安装最新的 RHEL6.1 操作系

12、统(发布于 2011 年 5 月 19 日)。这样,最基本的支持 KVM 虚拟机的软件 qemu-kvm、libvirt、virt-manager 和 virt-v2v 工具都在发行版中安装了。清单 1. 支持 KVM 虚拟机的软件包 rootlocalhost # rpm -qa qemu-kvm qemu-kvm-0.12.1.2-2.160.el6.x86_64 rootlocalhost # rpm -qa libvirt libvirt-0.8.7-18.el6.x86_64 rootlocalhost # rpm -qa virt-manager virt-manager-0.8.

13、6-4.el6.noarch rootlocalhost # 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 虚拟机迁移

14、的支持包 rootvictory4 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 主机存储域virt-v2v 在迁移虚拟机的过程中,需要拷贝被迁移虚拟机到 KVM 主机预先定义的存储池中。存储池可以用 libvirt 工具创建。最简单的方法就是使用 virt-manager 来创建新的存储池。本文中创建了一

15、个文件目录类型的存储池,位置在 KVM 主机系统的 /home/images/migration 目录。图 3. 使用 virt-manager 创建本地存储域 3. 创建 KVM 主机网络接口虚拟机在迁移之后将连接 KVM 主机网络, 因此主机必须有一个与之相匹配的网络接口,比如说网桥。Linux 系统上有很多工具可以创建网桥,其中 RHEL6.1 发行版上的 virt-manager 已经支持创建和管理网桥。本文创建了网桥 br0,并且绑定在 eth0 的接口上,具体配置如下图。图 4. 使用 virt-manager 创建网桥 4. 创建配置文件 virt-v2v.conf在 virt-v2v.conf 文件中设置 virt-v2v 迁移的规则,包括网络接口迁移后的映射,迁移的方式,存储的位置,输出的格式等等。这些规则也能以命令行参数的方式输入,如 - - n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号