udev 可以在不重启的情况下‘重新启动’吗?

udev 可以在不重启的情况下‘重新启动’吗?

对于一般情况,我们假设 eth0 的虚拟适配器已被移除并被另一个替换。要么是由于克隆,要么是最近发生了一系列 MAC 地址冲突。[是的,皮疹其中。

通常我只是简单地rm /etc/udev/rules.d/70-persistent-net-rules检查 /etc/sysconfig/network* 中是否包含对 MAC 地址的引用,重启,但这是 Linux,必须有一种方法可以避免重新启动。

是否有一个命令可以运行来获取新的 NIC?

编辑

除了下面@dawud 的回答之外,我在测试虚拟机上遇到了一个问题,它已经在新设备就位的情况下启动,并且已命名,eth1在这种情况下udevadm似乎没有“释放”该设备。在这种情况下,我做了以下事情:

  1. 从 VSphere 获取设备的 MAC 地址。
  2. 使用替换 MAC 地址的/etc/iftab行来创建/编辑。当此文件不存在/包含目标接口的名称时似乎不喜欢它。eth0 mac ##:##:##:##:##:##ifrename
  3. ifrename -i eth1 -n eth0
  4. service network restart并且 eth0 正常启动。
  5. [可选]rm /etc/iftab这样 MAC 的可用空间就少了一个。

答案1

您可以使用udevadm trigger

您仍然需要删除持久规则并重新启动网络服务。

答案2

对我来说,下面的命令序列已按预期工作。

我已经进行了一些修改,以/etc/udev/rules.d/70-persistent-net.rules更改eth号码并重新加载它们而无需重新启动。

/etc/init.d/networking stop

/etc/init.d/udev stop

udevadm control --reload-rules

/etc/init.d/udev start

/etc/init.d/networking start

此后,它无需重新启动机器即可成功加载。

欢迎对此提出任何建议或推荐,我通过阅读 MAN 页面自己发现了上述内容。

相关内容