我有一个debian挤压安装的图像,并使用我创build了两个覆盖图像引导两个(几乎相同)的虚拟机。
当我单独启动它们(将它们连接到vde-switch并在qemu / kvm命令行中指定mac-adress)时,所有function都可以正常工作。
然而,当我同时运行它们奇怪的事情发生时:
第一台要引导的机器按预期工作,并创build一个“eth0”接口,但第二台机器不会创build“eth0”,而是创build“eth1”。
有人可以解释这种行为吗?
确保虚拟networking接口在所有vm中具有相同名称的最佳方法是什么?
非常感谢!
大多数Linux系统使用udev将接口名称绑定到特定的MAC地址(以便具有多个NIC的计算机具有在启动时一致命名的接口)。 但是,当MAC地址确实发生变化时(例如,在设置了不同MAC地址的VM中引导时),但不希望分配新接口名称时,会导致此问题。 要清除这些映射,请删除/etc/udev/rules.d/的相应文件(通常命名为70-persistent-net.rules )并重新启动。 在你的情况下,你想在创build主图像的时候这样做。
他们是在同一台机器上开始的吗? 他们如何与外界沟通? 你在主机上使用br0这样的桥接接口吗? 你可以粘贴你使用的qemu命令来启动这两个vms。