如果是在Linux上使用虚拟化技术的话,就会有基于Xen Hypervisor部署一个系统的机会。因为基于内核的虚拟机(KVM:Kernel-Based Virtual Machine)已经逐渐成为Linux上面虚拟化的主流,用户也有可能会希望把基于Linux的虚拟化工作环境从Xen转换到KVM。本篇文章给出了把基于Xen的虚拟机迁移到KVM上的六步方针。 到目前为止,还没有成熟的管理产品可以自动地把Xen虚拟机转换为KVM。
但是现在却有一项技术解决方案可以辅助把Xen上面安装的虚拟机转换到KVM上。下面的几个步骤将会介绍针对Linux虚拟机需要如何实施。我尽可能从不基于任何发行版的高度来……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
如果是在Linux上使用虚拟化技术的话,就会有基于Xen Hypervisor部署一个系统的机会。因为基于内核的虚拟机(KVM:Kernel-Based Virtual Machine)已经逐渐成为Linux上面虚拟化的主流,用户也有可能会希望把基于Linux的虚拟化工作环境从Xen转换到KVM。本篇文章给出了把基于Xen的虚拟机迁移到KVM上的六步方针。
到目前为止,还没有成熟的管理产品可以自动地把Xen虚拟机转换为KVM。但是现在却有一项技术解决方案可以辅助把Xen上面安装的虚拟机转换到KVM上。下面的几个步骤将会介绍针对Linux虚拟机需要如何实施。我尽可能从不基于任何发行版的高度来描述这个流程,但是需要注意的是对于特定步骤,所有的工具是和Linux发行版相关的。
1. 确保在宿主工作环境(即可以看做是Dom0工作环境)中安装了parted和kpartx实用程序。Parted可以辅助分区;kpartx完成挂载分区,这个分区在虚拟机内定义。
2. 启动要迁移的虚拟机,安装GRUB引导装载程序。默认情况下,Xen虚拟机内没有安装引导装载程序,因为该程序由Xen虚拟工作环境自身提供。因此需要在迁移之前确保该程序已经安装。
3. 关闭Xen虚拟机,把整个虚拟机复制到一个镜像文件。开始之前需要确保系统有足够的磁盘空间,这里需要很多GB的空间;同时确保使用的是正确的流程。例如,Xen后端虚拟存储可以已经是一个镜像文件,但是也可以是使用设备安装的,如一个分区或者一个逻辑卷管理器(LVM:Logic Volume Manager)卷作为一个后端存储设备。例如,如果使用“/dev/images/xenvm1” LVM逻辑卷作为Xen后端存储设备的话,可以使用下面的这个命令写入镜像文件:
dd if=/dev/images/xevvm1 of=xen.img bs=1M
注意:如果在虚拟机内有复杂的分区,就需要为每一个分区创建一个镜像文件。该流程假定虚拟机内的一切信息都位于一个大根分区中。
4. 为KVM虚拟机创建一个新镜像文件。该镜像文件应该和为要迁移的虚拟机所创建的镜像文件一样大小。在下面的例子中,我将会假定使用的是一个10GB的Xen镜像;在实际部署中注意把这个值调整为虚拟机实际占用的空间大小:
dd if=/dev/zero of=kvm.img bs=1M count=10240
5. 在上述步骤所创建的KVM镜像文件中创建分区。创建分区的唯一方法就是使用parted命令行实用程序。下面这几个步骤将会创建一个9GB的根分区和一个1GB的交换分区。需要在根特权下才可以执行这几个命令:
parted kvm.img mklabel msdos
parted kvm.img mkpart primary ext2 0 9000
parted kvm.img mkpart primary linux-swap 9000 10000
parted kvm.img set 1 boot on
6. 把Xen镜像文件拷贝到KVM镜像文件中。以根权限执行下述命令:
following commands:
modprobe dm-mod
losetup /dev/loop kvm.img
kpartx -a /dev/loop0
dd if=xen.img of=/dev/mapper/loop0p1 bs=1M
fsck.ext3 -f /dev/mapper/loop0p1
到此为止,就已经把原来镜像中的所有文件拷贝到了新镜像中。接下来需要进行测试,使用下面的这个命令:
qemu kvm.img
小结
目前,还没有工具可以很好地完成从Xen虚拟机到KVM虚拟机的转换。但是如果虚拟机使用Linux的话,可以使用命令行实用程序完成该转换。本文虽然介绍了如何实施,但是也存在一些局限性,如主要问题是该方法仅仅适用于Linux虚拟机。鉴于当前Linux工作环境中到KVM虚拟化的转换,更多适用工具的问世只是一个时间上的问题了。
翻译
相关推荐
-
VMware快照工作原理以及如何运用
当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]
-
回顾年度9大虚拟化技术
虚拟化管理员从未放弃追寻更好虚拟化技术,以使他们的工作更快、更易于管理以及更好地优化。 我们看到,虚拟化工具在 […]
-
配置ESXi Autostart,自动打补丁
顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。
-
推荐一款好的虚拟主机提供商
推荐一款好的虚拟主机提供商 推荐理由: 第一:种类多:有经济型,全能型,功能型等 […]