使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)zhuan:https://segmentfault.com/a/1190000002697929本文完整记录了如何从物理服务器,保持所有环境配置信息,纹丝不动的迁移到虚拟机上,俗称P2V。采用

大家好,又见面了,我是你们的朋友全栈君。

zhuan:https://segmentfault.com/a/1190000002697929

 

本文完整记录了如何从物理服务器,保持所有环境配置信息,纹丝不动的迁移到虚拟机上,俗称 P2V 。采用的工具是VMware公司的 VMware vcenter vconverter standalone,它支持将windows和linux操作系统用作源,可以执行若干转换任务:

  • 将正在运行的远程物理机和虚拟机作为虚拟机导入到vCenter Server管理的独立ESX/ESXi或ESX/ESXi主机
  • 将由VMware Workstation或Microsoft Hyper-V Server托管的虚拟机导入到vCenter Server管理的ESX/ESXi主机
  • 将第三方备份或磁盘映像导入到vCenterServer管理的ESX/ESXi主机中
  • 将旧版服务器迁移到新硬件,而不重新安装操作系统或应用程序软件等
  • 完整功能见《Converter Standalone 用户指南》

Converter Standalone的组件,只能安装在Windows操作系统上:

  • Converter Standalone Server —— 启用并执行虚拟机的导入和导出
  • Converter Standalone agent —— Converter Standalone Server会在Windows物理机上安装代理,从而将这些物理机作为虚拟机导入,完成后可以选择自动删除
  • Converter Standalone client —— 与Converter服务端配合使用,包括看到的用户界面、创建和管理转换任务等
  • Vmware vCenter Converter引导CD:是单独的组件,可用于在物理机上执行冷克隆

冷克隆可以创建一致的源计算机的精确副本,而我们更多的是进行热克隆,也就是源服务器在迁移过程中会继续工作,这就可能会出现某些文件不一致,但Converter Standalone会在热克隆后将目标虚拟机与与主机同步,同步执行过程是将在初始克隆期间更改的块从源复制到目标。

本文记录的过程是,源主机是 SUSE 11.x 物理机,运行华为的智能呼叫中心应用,因此安装有Oracle数据库,对于数据文件和控制文件的一致性和安全性较高,所以建议先把oracle数据库关闭再操作;目标虚拟服务器是 ESXi 5.1,但我使用的Converter是 5.5-en,操作过程类似。下面正式开始

源主机:172.30.31.0/24
ESXi: 172.29.88.0/24,与源主机IP段无法通信
Helper VM: 172.29.41.0/24,与上面两个IP段都通

1. 设置源和目的主机地址

<span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

  • Source System
    选择你要转换的源系统,物理机为 Powered-on machine,填写其他登陆信息:
    <span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

  • Destination System
    填写要在哪个主机上创建虚拟机,也就是ESXi服务器地址:
    <span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

这两个过程有个简短的拉去主机信息的过程。

2. 选择目标虚拟机和存放位置

  • Destination Virtual Machine
    目标虚拟机名字默认是源hostname,不用选择folder:
    <span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

  • Destination Location
    选择新虚拟机要放在ESXi的哪个Datastore上,请确保有足够的磁盘空间,不能小于源系统实际使用的大小:
    <span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

3. 为转换任务设置其它选项

这一步尤为关键,直接关乎后面转换的成败。

  • Data to copy
    设置目标虚拟机的磁盘和分区,我们可以看到自动获取的源分区信息,我这里因为硬盘资源有限,没有遵循默认的 Maintain size,但比Minmun size(在源SUSE下 df -h 看到的used大小)大。
    <span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)
    CPU个数和内存大小默认也是与源主机保持一致。

  • Network
    网络设置这一块比较纠结。按理说源主机不需要与目的主机的网卡通信,只需要与Helper VM能互通即可,但我一直卡在这走不过去。源主机有2块网卡在使用,最后在这一步只设置了一块能ping同源主机的网卡,迁移完成后再手动添加剂一块网卡。如下是vmware官方知识库的Note:

In the Conversion wizard, ensure to select the virtual machine portgroup when configuring the network card. This virtual machine portgroup must be connected to the physical network that is routable via port 22 (SSH) in both directions from the source Linux server’s configured network IP address.
The IP address entered must be routable to the IP address of the physical Linux source machine. Helper virtual machine IP address should able to ping the physical machine.

<span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

图中看到VM Local是事先在vSphere Server上新建的端口组(portgroup),而且这个虚拟交换机vSwitch没有关联任何物理网卡:

<span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

  • Helper VM network
    Helper VM是做转换时的一个临时操作系统,运行在目的主机上,从源主机拷贝数据。如果转化的时windows,则没有这个vm,取而代之的时再源主机上运行一个agent,所以转换windows要求ESXi与源主机能互通,而转换Linux则只需要设定的Helper VM network能与源主机22端口互通即可。
    <span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

4. 开始转换

可以看到转换的信息汇总,finish则开始迁移转换过程。
<span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)
<span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)
<span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

测试在ESXi上可以看到会自动创建一台虚拟机并启动。等待转换完成。

5. 问题

转换几次失败都是因为网络设置不当,转换到1%时报错:
<span role="heading" aria-level="2">使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

Error:event.ObtainHelperVmIpFailedEvent.summary

解决办法就是手动设置HelperVm的IP,并确保能够与源主机通信。如果继续报错,修改目标地址网卡设置,比如去除只剩一个网卡(后续添加),也设置成HelpVm网段。参考 Convert: converter.fault.HelperVmFailedToObtainIpFault

转换Windows Server 2003时还有可能会出现

Unable tp locate the required Sysprep files. Please upload them under 
c:\documents and settings\all users\application data\vmware\vmware vcenter converter standalone\sysprep\svr2003 on the converter server machine 

解决办法是,需要下载WindowsServer2003-KB926028-v2-x86-CHS.exe,在cmd下执行WindowsServer2003-KB926028-v2-x86-CHS –x(不可以用winrar),解压缩出来2个目录加一堆文件,在SP2QFE目录下找到deploy.cab,再将deploy.cab解压缩(winrar即可),得到10个文件,拷贝到所提示的 svr2003 目录。参考 Sysprep文件位置和版本 (2040984)

6. on windows

加入迁移的是windows主机,上面的操作略有不同,主要区别在于没有HelperVm,而是在需要转换的源主机上安装agent。所以要求ESXi与源主机必须能够直接通信才可以迁移。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154480.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • datagrip2021激活码【在线破解激活】[通俗易懂]

    datagrip2021激活码【在线破解激活】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • c++如何将字符串转为数组(将字符串转换为数组)

    1.将字符串转为byte数组stringimgData=”….,…,….,….”;string[]imgArr=imgData.Split(newchar[]{‘,’});byte[]bty=Array.ConvertAll(imgArr,delegate(strings){returnbyte.Parse(s);});2.将byte数组转为字符串主要…

  • 一个普通java程序员的10年…泪奔 o(╥﹏╥)o o(╥﹏╥)o[通俗易懂]

    一个普通java程序员的10年…泪奔 o(╥﹏╥)o o(╥﹏╥)o[通俗易懂]大家好,我是曹尼玛,是一个很普通java程序员,今天看了下日期,转眼间,毕业9年,工作10年了,经历比较多,受伤比较多,收获比较多,改变也很多,对未来也有一些规划,对java新人有一些中肯的建议…过去10年的java人生回顾人生回顾,酸甜苦辣,蛋定就好…我的原生家庭和学业本D89年出生在沿海地区的一个普通农村家庭,一直供我上学,感恩父母!上的是农村小学,乡镇初中,乡镇高中,学习成绩中上,加上教育一般,以及我智商一般,即使努力,也就考了个破本科,选了个不用拼爹的专业-计算机科学与技术。.

  • python实现守护进程_linux 守护进程

    python实现守护进程_linux 守护进程什么是守护线程:在后台运行,为其他线程提供服务的线程成为守护线程。为什么要引入守护线程:thread模块不支持守护线程的概念,当主线程退出时,所有的子线程都将终止,不管它们是否仍在工作,如果你不希望发生这种行为,就要引入守护线程的概念。守护线程的调用格式:thread.setDaemon(True)如何使用守护线程:1.当只有一个子线程并且为守护线程,那么这个守护线程就会等待主线程运行完毕后挂掉2…

  • cnn lstm pytorch_pytorch怎么用

    cnn lstm pytorch_pytorch怎么用LSTM模型结构1、LSTM模型结构2、LSTM网络3、LSTM的输入结构4、Pytorch中的LSTM4.1、pytorch中定义的LSTM模型4.2、喂给LSTM的数据格式4.3、LSTM的output格式5、LSTM和其他网络组合1、LSTM模型结构BP网络和CNN网络没有时间维,和传统的机器学习算法理解起来相差无几,CNN在处理彩色图像的3通道时,也可以理解为叠加多层,图形的三维矩阵当做空间的切片即可理解,写代码的时候照着图形一层层叠加即可。如下图是一个普通的BP网络和CNN网络。图中的隐

  • JAVA – 虚函数、抽象函数、抽象类、接口

    JAVA – 虚函数、抽象函数、抽象类、接口1. Java虚函数虚函数的存在是为了多态。C++中普通成员函数加上virtual关键字就成为虚函数Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数PS: 其实C++和Java在虚函数的观点大同小异,异曲同工罢了。 2. Java抽象函数(纯虚函…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号