|
本帖最后由 wuyvzhang 于 2016-8-2 17:27 编辑
一、实施说明
公司很多服务都泡在微软的HpyerV虚拟机上,现要逐步将其迁移到KVM上,国内网站很多都是针对vmware进行的迁移,很难发现针对HyperV做迁移的,其实步骤也差不多比较简单,下面说一下操作步骤。
注意事项:如果有快照的话注意要将原来的虚拟机快照进行合并成一个vhd文件,也许有更好的方法保留快照,但我还没有研究透。
二、实施步骤
为了更好的说明,跑hyperV的源机器叫H,跑kvm的目标机器叫做K
1.在H上将要迁移的的hyperV虚拟机的静态IP改成自动获取,然后关机,将vhd硬盘通过scp或者其他方式拷贝到目标机器K上。【如果有快照,需要对快照进行合并整理,左后只有一个vhd硬盘文件。】
2.获取virtio的windows驱动【该驱动主要用于windows的网卡和硬盘】
?
1
2
3
| cd /var/lib/libvirt/image
|
3.在目标机器K上进行映像格式转换,并建立一个新的磁盘文件【该磁盘文件主要用于windows通过识别新硬盘来安装新的virtio驱动,否则内置只有普通IDE驱动无法进行新的驱动安装】
?
1
2
3
| qemu-img convert -O qcow2 /root/hyperv.vhd /mnt/storage/kvm.qcow2 #将vhd格式转换成qcow2格式
qemu-img create /mnt/storage/disk.img 1G #建立一个新的磁盘
|
4.使用virt-manager或virt-install进行镜像导入,并将驱动镜像放入cdrom建议使用virt-install
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| virt-install \
--name server \
--ram 512 \
--os-type=windows \
--vcpus 1 \
--disk path=/mnt/storage/kvm.qcow2,device=disk,bus=ide,format=qcow2 \
--disk path=/mnt/storage/disk.img,format=qcow2,bus=virtio \
--disk path=/var/lib/libvirt/image/virt-win-0.1-81.iso,device=cdrom \
--network bridge=br0,model=virtio \
--graphics vnc \
--noautoconsole \
--import \
--noreboot \
--debug
|
5.启动虚拟机进入windows,通过cdrom里的镜像安装网卡和硬盘驱动【安装过windows驱动的人应该都会的】,装好后关闭虚拟机。
6.通过virt-manager或者修改kvm虚拟机的/etc/libvirt/qemu/server.xml文件,将新建的磁盘删除,将原有的硬盘bus模式改成virtio,xml方式修改如下:
?
【其实通过virt-manager会更方便一些】
7.启动虚拟机进行ip的配置,验证IP连通性,完成迁移。
SO娱乐城:真_人.足球.彩票齐全| 开户送10元.首存送58元.手机可投卍注任何游戏顶级信用卍提现即时到账SO.CC |
|