VMware ESXI5.5虚拟机更改MAC地址

  上周在盘点和整理服务器信息时,发现一台去年上线的临时服务器(POS查货系统)还运行在PC机上。看样子公司是不打算换新服务器了,为防止出意外打算迁移到VMware虚拟机上。现有vSphere环境可利用资源不多,遂打算把前年更换的A8服务器(已更换OA系统,但原数据要保留3年以上供查询。硬件资源使用率不到一半)重装成vSphere环境,再迁移POS系统到A8服务器上。实施步骤:
一、P2V迁移A8系统到vCenter6.5(ESXI主机为5.5,IBMx3650M2兼容性问题不建议升级),迁移过程比较顺利,由于需修改配置而使用文件级数据迁移,在文件较多的情况下,速度较慢;
二、停止原A8系统,把加密狗插到ESXI主机上,编辑虚拟机设置,新增Host USB Device设备,并选择识别到的加密狗。启动迁移后的虚拟机,安装vmware tools。
三、重启后A8服务无法启动,检查后发现加密狗绑定了网卡的MAC地址,在迁移时没有修改MAC地址,导致MAC地址变更后加载加密狗时报错。
修改虚拟机MAC地址为原物理机MAC地址,解决办法:
1、关闭vm虚拟机,并从清单中移除虚拟机;
2、开启ESXI主机的SSH服务,使用Putty登录到ESXI主机,并进入到虚拟机目录,如下:

# cd /vmfs/volumes/DatastoreName/VMFolderName

ScreenShot3898.jpg
3、备份原vmname.vmx文件,并修改.vmx文件

# cp vmname.vmx vmname.vmx.old
# vi vmname.vmx 修改或添加以下内容:
ethernetN.checkMACAddress = "false"
ethernetN.addressType = "static"
ethernetN.Address = "XX:XX:XX:XX:XX:XX"

ScreenShot3899.jpg
其中 XX:XX:XX:XX:XX:XX 是虚拟机的新 MAC 地址。将 ethernetN 中的 N 改为网络适配器值。例如:
网络适配器 1 -> ethernet0
网络适配器 2 -> ethernet1
注意:
修改MAC地址时,也可以在编辑虚拟机设置里,修改网络连接,并指定MAC地址为手动,输入新的MAC地址保存即可。如下图:
ScreenShot3902.jpg
但修改完成后,启动虚拟机时会报错:Invalid Ethernet address
ScreenShot3896.jpg
此时需要检查ethernetN.checkMACAddress = "false"是否设置,虚拟网卡类型(Adapter Type)是否为"vmxnet3"。如果为E1000类型,可以删除后重新添加网卡并选择网卡类型为"VMXNET 3"。否则即使修改了.vmx文件,一样会报以上错误。
一开始没有注意到网卡类型的问题,测试修改几次都无法开机。
4、在存储中找到虚拟机vmx文件,并注册虚拟机
ScreenShot3900.jpg
5、启动虚拟机即可。
参考:迁移到 VMware vCenter Server 5.x 后打开虚拟机电源失败并显示错误:指定的 MAC 地址无效 (2102096)
四、重装原A8服务器为ESXI6.0(Dell R710兼容性最高支持6.0),并加入vCenter6.5。在线迁移A8系统回到原服务器上。
五、P2V迁移POS系统到原A8服务器上,淘汰PC机。

发表新评论