Xen-to-KVM虚拟机迁移指南

云计算 虚拟化
红帽公司正在研发virt-v2v工具,用于帮助用户快速实现Xen-to-KVM的迁移。在这之前,只能手动进行。本文描述了其迁移过程及原理,请注意:这些方法不适用那些害怕使用Linux命令行的人员。

Red Hat Enterprise Linux 6不支持Xen虚拟机。如果用户升级到这个测试版操作系统,需要同时完成Xen虚拟机到KVM平台的迁移。

红帽公司正在研发virt-v2v工具,用于帮助用户快速实现Xen-to-KVM的迁移。在这之前,只能手动进行。本文描述了其迁移过程及原理,请注意:这些方法不适用那些害怕使用Linux命令行的人员。(参阅51CT0相关文章:虚拟机在线迁移有何好处?

准备Xen-to-KVM迁移的guest服务器

***步的重点是配置Xen-to-KVM虚拟机迁移的Xen guest服务器。您需要在控制台升级reference,因为Xen平台使用xvc0设备,而KVM虚拟机是ttyS0设备。如下的一些文件会跟该设备相关:

● /etc/inittab

● /etc/securetty

● /boot/grub/grub.conf
定义跟设备相关的文件,并进行对应的更改。下一步是配置虚拟机磁盘设备,包括如下两个文件:

● /etc/fstab

● /boot/grub/device.map
如果您要使用虚拟机virtio驱动程序,把设备从Xenc磁盘/dev/xvda修改为KVM磁盘/dev/vda 。反之,则修改为另外一种KVM磁盘/dev/had。(在/etc/fstab中修改磁盘的操作并非必须,只有在没有设置虚拟机使用磁盘卷标的情况下才需要。但是我们仍然建议修改/boot/grub/device.map中的设备)

接下来需要修改内核。Xen使用了特殊的Xen内核,KVM则需要修改为默认的KVM内核。首先,通过Yum安装命令安装默认的内核。然后升级包含了启动内核所需驱动在内的initrd系统。通过如下命令:

mkinitrd -v -f --with=virtio_pci --builtin=xenblk /boot/nameoftheinitrd kernel-version

在/boot中可以找到initrd系统的真实名称,通过uname –r命令获得内核的版本。

通过在文件中包含DEFAULTKERNEL=kernel行,来确保/etc/sysconfig/kernel文件已经链接到新的内核。

***,通过virtio驱动来确保KVM虚拟机平台可以获得***的性能。通过在/etc/modprobe.conf中添加如下两行命令,可以在启动虚拟机时自动加载这些驱动:

alias scsi_hostadapter virtio_blk
alias eth0 virtio_net

#p#

准备Xen-to-KVM迁移的host主机

完成Xen-to-KVM迁移guest主机的准备工作之后,接下来配置host主机。首先,安装默认内核并在/etc/sysconfig/kernel文件中引用。请注意Security-Enhanced Linux,如果使用逻辑卷作为后端存储设备,可能会导致KVM出问题。使用setenforce 0命令可以避免这种情况。

下一步是搭建网桥,使得Xen虚拟机可以访问物理网络连接。创建包含如下命令行在内的/etc/sysconfig/network-scripts/ifcfg-br0文件

DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes

通过创建包含如下内容的/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,实现把网桥连接到eth0网卡适配器:

DEVICE=eth0
HWADDR=MAC address of the hardware eth0 card
BRIDGE=br0
ONBOOT=yes

完成这些操作后我们重启host服务器后就会调用新的内核。大部分Xen-to-KVM虚拟机迁移工作宣告完成。还有***两个重要步骤:在重启后,为刚才修改过的KVM虚拟机创建新的配置文件。使用virt-manager终端来定义guest服务器如下选项:

● 你希望使用的guest服务器名称

● guest服务器使用的CPU架构

● OS类型和版本

● Xen虚拟机使用的后端存储类型

● 网络配置,以及

● 内存数量和CPU核心数量

不要在guest服务器上运行新安装程序,这会覆盖对Xen虚拟机做的所有配置工作。

创建了新的KVM虚拟机配置文件后,使用virsh编辑命令配置磁盘属性。找到如下所示用于定义活动的主磁盘设备的代码:

disk type='block' device='disk'
source dev='/dev/vol0/lv.server'/
target dev='hda' bus='ide'/
/disk

修改target相关内容实现磁盘对virtio驱动的调用:

target dev='vda' bus='virtio'/

现在我们已经获得一个完整的KVM虚拟机。
 

【编辑推荐】

  1. 虚拟机备份与恢复的难题
  2. VMware VI3 虚拟机热备份的几种方法
  3. 细数用于虚拟机迁移的转换工具
  4. Hyper-V R2中进行虚拟机配置安装指南(上)
责任编辑:王勇 来源: TechTarget中国
相关推荐

2014-02-21 11:20:34

KVMXen虚拟机

2009-09-04 11:19:02

Xen虚拟机迁移

2010-01-21 11:17:36

xen虚拟机

2020-06-18 16:39:10

KVM虚拟化虚拟机

2017-07-01 07:02:41

虚拟化迁移

2011-11-10 13:44:13

VMwareKVM迁移

2013-08-06 10:25:18

Hyper-V虚拟机迁移

2010-04-09 11:34:12

Xen虚拟机

2011-05-05 09:32:59

CentOS 5.6KVM

2009-09-27 10:20:19

挂载虚拟机磁盘Xen环境

2017-05-25 11:08:20

虚拟化云计算在线迁移

2014-11-07 10:02:03

虚拟机虚拟机补丁

2010-10-09 11:28:38

虚拟机共享存储限制

2010-08-30 10:17:00

虚拟机在线迁移

2011-12-25 15:33:13

ibmdwKVM

2019-08-21 16:27:15

KVM虚拟机网关

2009-07-21 13:09:37

虚拟机存储Xen

2012-03-16 09:26:13

LVMXen虚拟机

2009-07-27 08:46:22

2013-11-25 09:37:03

虚拟机实时迁移
点赞
收藏

51CTO技术栈公众号