首页 > 代码库 > 一次痛苦的P2V经历

一次痛苦的P2V经历

背景介绍

某企业拓扑如下图所示,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服务器

源计算机

4451399089  9090

137138

如果源计算机使用 NetBIOS,则不需要端口 445如果不使用 NetBIOS,则不需要端口 137138  139如果不确定,应确保所有端口均未被阻止。

端口 9089 用于 Converter Standalone 版本,端口 9090 用于 Converter 插件。


注意:除非已在源计算机上安装了 Converter 服务器,否则用于对源计算机进行身份验证的帐户必须具有密码,源计算机必须启用了网络文件共享,并且不能使用简单文件共享。

Converter服务器

VirtualCenter

443


仅当转换目标为 VirtualCenter 时需要。

Converter客户端

Converter服务器

443


仅当执行自定义安装并且 Converter 服务器和客户端这两部分位于不同的计算机时才需要。

源计算机

ESX/ESXi

443902


如果转换目标是 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

443902903

如果转换目标是 vCenter Server,则从源向 ESX/ESXi 主机转换时仅需要使用端口 902

Converter服务器

助手虚拟机

443


助手虚拟机

源计算机

22

助手虚拟机必须能够与源计算机建立 SSH 连接。默认情况下,助手虚拟机获取 DHCP 为其分配的 IP 地址。如果为目标虚拟机选择的网络上没有可用的 DHCP 服务器,则必须手动为其分配 IP 地址。

 

转换现有虚拟机 (V2V)

注意上述端口均属于默认端口。如果在安装 vCenter Server 时使用自定义端口,将需要更改这些端口以符合您的环境。

 

目标

TCP 端口

UDP 端口

注释

Converter 服务器

文件共享路径

445139

137138

仅独立虚拟机源或目标需要。

如果托管源或目标路径的计算机使用 NetBIOS,则不需要使用端口 445如果不使用 NetBIOS,则不需要端口 137138  139如果不确定,应确保所有端口均未被阻止。

Converter 客户端

Converter 服务器

443


仅当执行自定义安装并且 Converter 服务器和客户端这两部分位于不同的计算机时才需要。

Converter 服务器

VirtualCenter

443


仅当目标为 VirtualCenter 时需要。

Converter 服务器

ESX/ESXi

443902


如果转换目标是 vCenter Server,则从源向 ESX/ESXi 主机转换时仅需要使用端口 902

 




本文出自 “兔样兔森破” 博客,请务必保留此出处http://arkling.blog.51cto.com/2844506/1954934

一次痛苦的P2V经历