Xen-to-KVM虚拟机迁移指南(1)
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