一、P2V
由于目前只有VMware平台可以比较好地虚拟UEFI固件,vmware workstation9及以上,esxi5.1及以上都可以完美支持使用GPT磁盘安装系统。故对于已经使用GPT磁盘安装系统的物理机,可以使用vmware-converter作为P2V的转换工具。windows7,windows8/8.1,windows server2008R2/2012,rhel6.X均支持直接安装在gpt磁盘上。
kvm,xen目前无法虚拟UEFI固件,故无法启动GPT磁盘上的系统。
1、 物理机为华为服务器,操作系统为windows2012,使用UEFI安装,安装完成后,系统所在磁盘为gpt分区。引导分区为一个100M的EFI分区,其文件系统为FAT32。
2、 安装vmwareconverter5.1(converter5.1以上版本均可以对GPT磁盘做p2v),选择转换本机
3、 选择转换成vmwareworkstation9.0.x产品,生成的虚拟磁盘名称,并选择本地存放路径,注意不能存放在系统盘
4、 编辑转换选项
a)去掉除系统分区外的其他所有分区,节约p2v时间,并提高虚拟机性能
b)磁盘控制器选择IDE,防止虚拟机启动蓝屏
c)删除所有网卡,防止虚拟机在KVM上第一次启动时IP冲突以及避免其他兼容性问题。在KVM上系统启动后,可以手动根据需要再添加网卡
d)可以将一些暂时不会用到的服务设置成手动启动,如数据库服务,应用软件的服务等,以方便待会调整虚拟机时加快系统启动速度
e)安装vmwaretools的勾绝对不能选择,否则虚拟机启动会蓝屏
5、 转换完成后,会生成vmdk的虚拟磁盘文件
6、 将此虚拟磁盘文件传到KVM的/Array目录下,使用qemu-img命令可以看到磁盘文件逻辑大小为55G,物理大小为8.1G
7、 KVM上使用一块临时磁盘新建一台虚拟机,可以看到如果直接挂载那个vmdk文件,KVM无法识别
8、 需要先使用如下命令转换虚拟机磁盘文件,从vmdk转换成qcow2:
qemu-img convert –O qcow2 –opreallocation=metadata AAA.vmdk BBB.qcow2
9、 将转换后的虚拟磁盘文件挂载在虚拟机上,此时可以正确识别到逻辑大小和物理空间
二、 将GPT的虚拟磁盘转成MBR格式
1、 找到一个带diskgenius高级版和windows引导修复工具的winPE(目前大部分最新的winPE都有)上传到KVM中,并连接上此虚拟机。
2、 可以从磁盘管理中看到磁盘分区为GPT的,手动将系统所在分区调整成C盘
3、 运行DiskGenius高级版,选择此虚拟磁盘,右键选择转换分区表类型为MBR。
4、 选择系统所在的C盘,右键选择激活当前分区。注意保存更改前将除C盘外的其他盘符全部删除,例如下图中转换成MBR后出现的E盘
6、 打开windows引导修复工具。选择自动修复,如果之前盘符正确,并且没有其他分区影响,修复成功,出现如下显示:
7、 关闭虚拟机,移动那块临时虚拟磁盘,只保留这块系统盘。断开连接的PE工具。
8、启动系统,第一次在虚拟机上启动耗时会略长一些
9、启动后可以看到磁盘已经转化为MBR分区。将GPT分区磁盘上残留的两个分区,共计约400M,全部删除,此空间已经无用,防止以后若因某些原因分配了盘符后影响系统启动及运行。
三、 接下来需要做的事情
1、 修改主机名,添加网卡并载virtIO驱动
2、 添加磁盘的virtIO驱动
3、 根据需要添加其他磁盘,并将物理机其他磁盘上需要容灾的文件直接复制过来
4、 调整之前手动关闭了的服务,如数据库,应用软件等