迁移VMWare虚拟机到KVM


迁移VMWare虚拟机到KVM

一、手动迁移 VMwareWorkstation/Player 上的虚拟机到 KVM

    从物理机的文件系统看,VMware虚拟机是由一组文件组成。这些文件可能集中存储在存储服务器上,如 VMware ESX/ESXi,也可能存储在本地,如 VMware Workstation/Player。关闭虚拟机的情况下,这些文件内容不会改变。所以我们可以用手动迁移的方法,拷贝这些文件到 KVM 主机并且转换这些文件的格式或内容,使 libvirt 能够管理和识别。这样就完成了 VMware 虚拟机的手动迁移。

1.1、迁移步骤

   在 VMware 虚拟机众多的文件中,最重要的是虚拟机镜像文件 .vmdk 和系统配置文件 .vmx。所以手动迁移就是要分别处理这两种文件。需要将VMware虚拟机镜像文件 .vmdk 和系统配置文件 .vmx转化为KVM虚拟机镜像文件 .img和系统配置文件 .xml。

  • 合并分散的 vmdk 镜像文件。在 VMware Workstation 上创建虚拟机的时候,可以选择存储虚拟磁盘为一个文件或多个文件。但是 libvirt 不能管理多个文件组成的磁盘镜像,所以需要在迁移前合并这些文件为一个单独的文件。VMware Workstation 自带了离线的磁盘管理工具 vmware-vdiskmanager.exe 来合并 vmdk 文件
  • qemu-img 转换 vmdk 的文件格式。KVM 主机上安装 qemu-img 包,可以察看并转换 vmdk 文件到 raw/qcow2 文件格式。
  • 创建 xml 文件。VMware 的系统配置文件是 vmx,必须转换成 libvirt 能够识别的 xml 格式。一种方法是根据 VMware 虚拟机的硬件信息,手动创建一个新的 xml 文件;另一种方法是利用工具辅助转换 vmx 文件。比如 virt-goodies/vmware2libvirt 工具,可以从下面 link 下载安装 virt-goodies:https://launchpad.net/ubuntu/+source/virt-goodies/0.4

1.2、详细的迁移步骤

1. 登录宿主机 Windows XP 系统,在 VMware Workstation 上检查 SLES11SP1 虚拟机,如果安装了 VMware Tools,以 root 用户运行vmware-uninstall-tools.pl 卸载它。

         迁移VMWare虚拟机到KVM_第1张图片

2. 关闭该虚拟机。

3. 检查虚拟机的镜像文件。本例中,虚拟机的镜像存储在多个 vmdk 文件中,所以需要在迁移前合并他们。用 vmware-vdiskmanager.exe 合并多个 vmdk 文件。

   DOS命令终端执行可执行文件E:\Program Files\VMwareWorkstation>vmware-vdiskmanager.exe,其中E:\ProgramFiles\VMware Workstation为VM的安装路径。

        迁移VMWare虚拟机到KVM_第2张图片

vmware-vdiskmanager.exe -r “D:\VM\OVS2\Ubuntu H 64位.vmdk” -t 0 “D:\VM\OVS2\ubuntu-single.vmdk”

4、生成KVM虚拟机镜像

sudo qemu-img convert -f vmdk -O qcow2 ubuntu-single.vmdk ubuntu-single.img
       迁移VMWare虚拟机到KVM_第3张图片
5、生成KVM虚拟机xml文件

   需要使用virt-goodies/vmware2libvirt工具可以从下面 link下载安装 virt-goodieshttps://launchpad.net/ubuntu/+source/virt-goodies/0.4

./vmware2libvirt -f /home/minelab/www1234/Ubuntu.vmx > /home/minelab/www1234/Ubuntu.xml

  转换 vmx 文件。virt-goodies/vmware2libvirt脚本是用来做 vmx 到 xml 转换的简单工具。但是由于它很长时间没有升级,而且不同的 Linux 发行版对 KVM/libvirt 安装方式不同,vmware2libvirt 工具转换后的 xml 文件需要手动更改或添加某些配置。

  注意不同 Linux 发行版 qemu-kvm 的路径不同,RHEL6.1 下是 /usr/libexec/qemu-kvm。

  把虚拟机的镜像文件路径及名字改成 /home/images/migration/Ubuntu.img。

  vmware2libvirt 只转换第一块网卡,如果有多块网卡需要手动添加。

  vmware2libvirt 不转换 CDROM、Floppy、USB 和显示设备,需要手动为 KVM 虚拟机添加。

  磁盘和网卡采用默认的驱动程序,因为 Windows 系统没有预装 virtio 驱动

6、打开KVM管理器,修改配置

sudo virsh define Ubuntu.xml
    迁移VMWare虚拟机到KVM_第4张图片

Storage format需要改为qcow2

7、打开虚拟机

       迁移VMWare虚拟机到KVM_第5张图片

参考文献:http://www.net130.com/cms/pub/special/special_virtual/special_virtual_fa/2011_11_14_30322_4.htm

你可能感兴趣的:(Linux)