虚拟机迁移或者克隆后没有网卡的问题

在使用VMware或Parallels进行虚拟机克隆或迁移后,经常遇到无法联网的问题,原因是虚拟网卡配置不一致。解决方法是修改/etc/udev/rules.d/70-persistent-net.rules文件,将文件中的网卡名称与接口配置文件匹配,例如将eth1改为eth0。执行此操作后,虚拟机将能够正常联网。

之前采用vmware的时候,克隆了几个虚拟机,可以启动, 就是没有网卡,不能上网。

当时在网上查找了一个解决办法给搞定了。

现在采用parallels的时候,pvm从一台mac 迁移到另一台上,还是能开机,不能联网。

又上网找了一下, 解决方法和之前是一样的。

解决办法:

主要是修改 /etc/udev/rules.d/70-persistent-net.rules即可

一般,系统会自动在70-persistent-net.rules添加新的虚拟网卡,但是和interfaces(ubuntu)或者 ifcfg-eth0(centos)对不上。

所以修改这两处的任一一处即可。

比如修改 70-persistent-net.rules

$cp  /etc/udev/rules.d/70-persistent-net.rules  /etc/udev/rules.d/70-persistent-net.rules.backup

编辑文件:

把原先的eth0注释,把下面的eth1改为eth0,(其他网卡同理)。

# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x10ec:0x8029 (ne2k-pci)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1c:42:cc:ee:c0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:0x8029 (prl_eth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1c:42:d2:8e:8e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


英文连接:

http://kb.parallels.com/cn/8102

### VMware ESXi 中虚拟机克隆迁移操作指南 #### 虚拟机克隆操作 在 VMware ESXi 平台上,克隆是一种创建现有虚拟机副本的方法。此过程允许用户保留原始虚拟机的同生成一个新的实例,适用于测试环境或其他用途。 为了执行克隆操作,在升级系统版本之前通常建议做好虚拟机的备份或迁移工作[^3]。需要注意的是,vSphere Client 客户端本身并不支持直接克隆功能;要实现这一点,则需通过 vCenter Server 来管理 ESXi 主机并启用该特性[^4]。 以下是关于如何利用 vCenter 实现虚拟机克隆的一些要点: - 登录至 vCenter Server。 - 找到目标虚拟机右键菜单选择 “Clone” 或者类似的选项来发起克隆流程。 - 配置新虚拟机名称及其放置位置等相关参数完成整个过程。 #### 虚拟机迁移操作 相比之下,迁移指的是将现有的虚拟机从一台物理服务器移动到另一台服务器上的行为。这不仅涉及数据文件转移还包括运行状态同步等工作负载切换等内容。 对于希望实施跨主机之间无缝转换的情况来说尤为重要——即所谓的热迁移 (vMotion),它能够在不中断服务的情况下动态调整 IT 基础设施布局[^2]。 当考虑执行此类任务,请注意以下事项: - 确保源和目的站点都已配置好网络连接以及共享存储访问权限以便顺利过渡; - 使用 vCenter 提供的强大工具集简化复杂度高的多步手动干预环节; - 如果计划长期维持一致性的 MAC 地址分配策略的话,记得按照先前描述过的方式设定固定的值给相关网卡设备使用[^1]。 ```python # 示例 Python 代码片段展示可能用于自动化部分上述工作的脚本逻辑结构 from pyVim.connect import SmartConnect, Disconnect def clone_vm(si, vm_name, template_vm, datastore): content = si.RetrieveContent() # 获取模板 VM 对象和其他必要组件... dest_folder = ... resource_pool = ... relospec = vim.vm.RelocateSpec(datastore=datastore) clonespec = vim.vm.CloneSpec(location=relospec) task = template_vm.Clone(folder=dest_folder, name=vm_name, spec=clonespec) return task.info.state == 'success' def migrate_vm(si, vm_obj, host_dest=None, datastore_dest=None): migration_spec = vim.VirtualMachine.MovePriority.defaultPriority if host_dest and datastore_dest: vmotion_spec = vim.VmwareDistributedVirtualSwitchManager.MigrateVmToHostSpec(host=host_dest) relocate_spec = vim.vm.RelocateSpec(datastore=datastore_dest, pool=resource_pool, vmotion=vmotion_spec) result = vm_obj.Relocate(relocate_spec, priority=migration_spec) return result == 'success' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值