我试图通过tftp内核+ nfs rootfs引导一个使用systemd管理的linux,我的引导程序:
root=/dev/nfs rw nfsroot=192.168.0.10:/nfsroot/rootfs,nolock ip=192.168.0.60:192.168.0.10:192.168.0.10:255.255.255.0内核和rootfs都成功地加载并且系统正在运行,直到systemd-networkd启动。在那之后,我不能平机器和NFS挂载挂起(显然)。
我试图为systemd-networkd添加网络配置以初始化网络,但它不起作用。
串行控制台日志:
Starting Network Service...
...
[ OK ] Started Network Service.
[ OK ] Reached target Network.
...
[ * 39.330000] nfs: server 192.168.0.10 not responding, still trying网络配置:
[Match]
Name=eth0
[Network]
Address=192.168.0.60/24
Gateway=192.168.0.10
[Route]
Gateway=192.168.0.10
Destination=192.168.0.0我想知道,当系统通过nfs启动时,systemd-networkd.service为什么会破坏网络?
我猜当networkd启动时,它会提取ip地址,然后尝试读取配置文件。此时nfs挂载已经中断,它没有机会读取配置文件。
如果我的猜测是正确的,如何“解决”或“解决”这个问题?
发布于 2017-12-26 09:28:03
事实证明,systemd-networkd提供了一个不释放IP的选项。
在配置中添加以下内容
[DHCP]
CriticalConnection=true然后IP不会被释放,NFS也不会挂起。
发布于 2019-06-18 08:24:50
虽然这是两年前的一个问题,但我仍然在这里搜索。我终于从使用系统的NFS根那里得到了一个更好的解决方案
[Match]
Name=eth*
KernelCommandLine=!nfsroothttps://unix.stackexchange.com/questions/412449
复制相似问题