本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1954934
背景介绍
某企业拓扑如下图所示,172.18.2.0/24网段可以访问外网,使用3台Esx4.1组成虚拟化资源池,vCenter5.5位于DMZ区的192.168.255.0/24网段管理3台Esx主机,计划将172.18.2.0/24网段中DNS服务器以P2V的方式迁移到虚拟化平台中。
P2V操作过程
尝试一:
由于该企业防护措施严格,DMZ区域和公网区域在防火墙上做了隔离,实施开始前将Convert软件需要使用到的端口已向网络组申请从防火墙上申请开通,并检查系统防火墙相应端口已开放。按照以往操作习惯,将Convert6.0软件完全安装到DNS服务器上后,进行P2V操作时提示SSL证书失败,经查询得知,由于P2V的目标地址指向的是vCenter,Server2003无法直接连接vCenter5.5,连接需要安装WindowsServer2003-KB948963-x86补丁,并安装.netframework3.5,安装补丁需要重启服务器所以放弃该方法。
尝试二:
在外网虚拟化平台上创建了一台Windows2008R2的虚拟机完全安装Conver6.0软件用于P2V操作,DNS服务器卸载Convert6.0软件仅保留Convert-Agent,此时结构如下图所示:
再次执行P2V操作,将目标地址指向vCenter时提示网络无法访问,经排查发现防火墙端口并没有开放,由于小编所在的系统运维组与网络组不是同一个领导,沟通成本大,放弃该方法。
尝试三:
使用Conver软件在进行P2V操作的时候,目的地址除了虚拟化架构外,还可以选择workstation,它是将P2V抓到本地文件系统上,此时需要本地文件系统提供一个everyone可读写的共享目录用于存放P2V过来的物理机
再次执行P2V操作,提示Unalbe to connect to the network share....,经检查发现比特币勒索病毒爆发后,他们将服务器的445端口从策略上封堵,所以出现上面的报错信息,取消该策略指派,P2V操作正常
P2V后操作
P2V完成后,将本地文件系统抓取到的虚拟机文件上传到共享存储,并找到虚拟机.vmx配置文件添加到清单,此时发现添加到清单的虚拟机为灰色,且显示失效,考虑到.vmdk磁盘文件存在,于是想到新建一个虚拟机挂载现有的.vmdk磁盘文件,创建完成后打开虚拟机电源又出现报错,且确认scsi控制器类型没有选错
经查询,workstation下的.vmdk文件因为兼容性原因不能直接用于Esxi上,需要进行转换,于是打开该虚拟机所在Esxi物理主机的ssh连接并登陆,进入对应目录,使用vmkfstools -i old.vmdk new.vmdk -d thin 命令进行转换,等待转换完成后会生成一个新的new.vmdk磁盘文件,让虚拟机挂载该磁盘文件再次启动,虚拟机顺利启动。
进入操作系统操作
虚拟机启动后登录操作系统,由于原先IP地址被物理网卡使用,无法直接设置
在命令行模式下输入set devmgr_show_nonpresent_devices=1,然后在输入start devmgmt.msc
通过上述打开设备管理器,在查看选项中选择显示隐藏设备,找到并卸载原有网卡后,IP地址设置正常,至此全部P2V操作完成
补充说明
1.Convert-Agent
用于P2V的Convert软件是一个C/S结构的方式在工作,S端需要使用443、80、9089端口,所以Convert软件不能安装在vCenter上,因为vCenter本身已需要用到443端口。C端只需要安装Agent软件,由于在运行是S端会先去检测C端是否有代理,并进行安装,所以C端的ADMIN$文件夹必须共享,否则因为无法向C端安装Agent而报错,可以使用Net share ADMIN$命令开放该文件共享
既然需要该共享文件只是为了安装Agent,可以在S端Convert软件安装目录下找到Agent并手动安装到C端,在运行该软件时就不会要求C端的ADMIN$文件夹必须共享。
2.Convert所需端口
转换已打开电源的 Windows 操作系统 (P2V)
源 |
目标 |
TCP 端口 |
UDP端口 |
注释 |
Converter服务器 |
源计算机 |
445、139、9089 或 9090 |
137、138 |
如果源计算机使用 NetBIOS,则不需要端口 445。如果不使用 NetBIOS,则不需要端口 137、138 和 139。如果不确定,应确保所有端口均未被阻止。 端口 9089 用于 Converter Standalone 版本,端口 9090 用于 Converter 插件。
|
Converter服务器 |
VirtualCenter |
443 |
仅当转换目标为 VirtualCenter 时需要。 |
|
Converter客户端 |
Converter服务器 |
443 |
仅当执行自定义安装并且 Converter 服务器和客户端这两部分位于不同的计算机时才需要。 |
|
源计算机 |
ESX/ESXi |
443、902 |
如果转换目标是 vCenter Server,则从源向 ESX/ESXi 主机转换时仅需要使用端口 902。 |
转换已打开电源的 Linux 操作系统 (P2V)
注意:上述端口均属于默认端口。如果在安装 vCenter Server 时使用自定义端口,将需要更改这些端口以符合您的环境。
源 |
目标 |
TCP 端口 |
注释 |
Converter服务器 |
源计算机 |
22 |
Converter 服务器必须能够与源计算机建立 SSH 连接。 |
Converter客户端 |
Converter服务器 |
443 |
仅当执行自定义安装并且 Converter 服务器和客户端这两部分位于不同的计算机时才需要。 |
Converter服务器 |
VirtualCenter |
443 |
仅当转换目标为 VirtualCenter 时需要。 |
Converter服务器 |
ESX/ESXi |
443、902、903 |
如果转换目标是 vCenter Server,则从源向 ESX/ESXi 主机转换时仅需要使用端口 902。 |
Converter服务器 |
助手虚拟机 |
443 |
|
助手虚拟机 |
源计算机 |
22 |
助手虚拟机必须能够与源计算机建立 SSH 连接。默认情况下,助手虚拟机获取 DHCP 为其分配的 IP 地址。如果为目标虚拟机选择的网络上没有可用的 DHCP 服务器,则必须手动为其分配 IP 地址。 |
转换现有虚拟机 (V2V)
注意:上述端口均属于默认端口。如果在安装 vCenter Server 时使用自定义端口,将需要更改这些端口以符合您的环境。
源 |
目标 |
TCP 端口 |
UDP 端口 |
注释 |
Converter 服务器 |
文件共享路径 |
445、139 |
137、138 |
仅独立虚拟机源或目标需要。 如果托管源或目标路径的计算机使用 NetBIOS,则不需要使用端口 445。如果不使用 NetBIOS,则不需要端口 137、138 和 139。如果不确定,应确保所有端口均未被阻止。 |
Converter 客户端 |
Converter 服务器 |
443 |
仅当执行自定义安装并且 Converter 服务器和客户端这两部分位于不同的计算机时才需要。 |
|
Converter 服务器 |
VirtualCenter |
443 |
仅当目标为 VirtualCenter 时需要。 |
|
Converter 服务器 |
ESX/ESXi |
443、902 |
如果转换目标是 vCenter Server,则从源向 ESX/ESXi 主机转换时仅需要使用端口 902。 |