我创建了一个systemd链接文件来强制对网络引导主机的堆栈进行持久的网络接口命名。由于机器之间的MAC不同,所以我必须使用PCI路径来匹配接口:
[Match]
Path=pci-0000:02:00.0-0
[Link]
Name=eth0这可以在VM或物理盒上使用。但是,在netboot主机中,它会失败,并发出消息:
Failed at step NAMESPACE spawning /usr/lib/systemd/system/systemd-networkd: Invalid Argument我尝试删除链接文件并重新启动,但结果是相同的。所以这和我的链接文件无关。
netboot主机是由Centos 7.2制作的。
以前,在CentOS 6中,我们在/etc/udev.rules中使用了一个持久的网络规则,但是在CentOS 7下失败了。
发布于 2016-07-27 21:02:35
Systemd可以在服务的单元文件中设置许多选项,用于保护文件系统中的特定目录。这是使用文件系统名称空间完成的。
PXE引导的主机似乎不支持此功能,因此需要它的服务将无法启动。
在systemd的情况下,可以通过禁用所有需要名称空间的选项来解决这个问题。
首先,创建服务文件的副本。/etc/systemd中的文件将覆盖/usr/lib/systemd中的默认值:
cp /usr/lib/systemd/system/networkd-systemd.service /etc/systemd/systemd/现在编辑/etc/systemd/system/systemd-networkd.service,删除名称空间保护:
ProtectSystem=no
ProtectHome=no最后,重新启动守护进程:
systemctl restart networkd-systemd警告:这可能暴露安全风险。
https://unix.stackexchange.com/questions/291270
复制相似问题