Migrating VM from XenServer to Hyper-V Server

xenserver export vm

  1. SSH到XenServer上,使用命令行将vm导出至nfs/cifs网络共享,格式为xva [1]

  # mount nfs shared path
  mount -t nfs $NFS_HOST_IP:/data/xenbackup /mnt/xenbackup/

  # mount smb shared path(可选)
  mount -t cifs -o username=$USERNAME //$PATH/to/CIFS /mnt/xenbackup

  # export vm
  xe vm-export vm=$VM_NAME filename=/mnt/xenbackup/$VM_NAME.xva
  1. xva格式转换成ovf格式 在Windows的机器上安装xenconvert 2.3.1,会生成vhd格式的磁盘文件 [2] 官网已经不再提供下载,这里提供了下载地址 [3]

hyper-v import vm

  1. 新建vm

    • 复制vhd文件到hyper-v主机

    • 建个空vm不带磁盘

    • 挂载vhd

    • 通过=编辑=功能将vhd转换为vhdx格式(可选)

  2. 启动vm

  3. 过程参考 [4]

troubleshooting

  1. 启动问题 dracut-initqueue timeout - starting timeout scripts

  2. 排错步骤

  3. 使用CentOS ISO启动,进入Troubleshooting-> Rescue模式

  4. 执行命令 mount -o rbind /proc /mnt/sysimage/proc chroot /mnt/sysimage dracut -f \ /boot/initramfs-3.10.0-514.26.2.e17.x86_64.img \ 3.10.0-514.26.2.e17.x86_64 exit reboot

  5. 参考 [5][6][7]