CIFS fs 不等待网络,尽管 _netdev?

CIFS fs 不等待网络,尽管 _netdev?

我正在使用 systemd 运行 Debian12。服务器的网络通过(固定租用)dhcp 配置。

我正在尝试在启动时挂载 CIFS 远程文件系统。所以我在 /etc/fstab 中添加了以下条目:

//qnap/scan_in /srv/incoming cifs domain=mydom,credentials=/root/secret.txt,_netdev,uid=paperless,gid=paperless 0 0 

它不会在启动期间安装(在控制台上显示一些错误)。但是当我启动mount -a后它运行良好。

我检查了journalctl -b0(启动消息)并看到了以下条目:

Apr 27 11:27:38 paperless systemd[1]: Mounting srv-incoming.mount - /srv/incoming...
Apr 27 11:27:38 paperless dhclient[603]: DHCPREQUEST for 192.168.9.3 on ens3 to 255.255.255.255 port 67
[...]
Apr 27 11:27:38 paperless mount[626]: mount error: could not resolve address for qnap: Unknown error
Apr 27 11:27:38 paperless systemd[1]: srv-incoming.mount: Mount process exited, code=exited, status=1/FAILURE
Apr 27 11:27:38 paperless dhclient[603]: DHCPACK of 192.168.9.3 from 192.168.9.254
Apr 27 11:27:38 paperless sh[603]: DHCPACK of 192.168.9.3 from 192.168.9.254
Apr 27 11:27:38 paperless systemd[1]: srv-incoming.mount: Failed with result 'exit-code'.
Apr 27 11:27:38 paperless systemd[1]: Failed to mount srv-incoming.mount - /srv/incoming.
Apr 27 11:27:38 paperless cron[629]: (CRON) INFO (Running @reboot jobs)
Apr 27 11:27:38 paperless systemd[1]: Dependency failed for remote-fs.target - Remote File Systems.
Apr 27 11:27:38 paperless systemd[1]: remote-fs.target: Job remote-fs.target/start failed with result 'dependency'.

因此,看起来 _netdev 参数没有被正确考虑,因为它尝试在 DHCPACK 发送之前挂载。

当然,只要网络未启动并运行,它就无法连接到服务器。

但为什么它明显忽略“_netdev”并在发送 DHCPREQUEST 之前开始安装?

感谢您的所有想法和意见!

/简历

答案1

添加以下选项以fstab在安装之前等待网络上线:

x-systemd.after=network-online.target

因此该fstab行应该是:

//qnap/scan_in /srv/incoming cifs domain=mydom,credentials=/root/secret.txt,_netdev,uid=paperless,gid=paperless,x-systemd.after=network-online.target 0 0

Debian 参考:
https://manpages.debian.org/testing/systemd/systemd.mount.5.en.html#FSTAB

答案2

我终于解决了这个问题,尽管我不知道为什么这是一个解决方案......好吧,更多的是与解决方法相关。但是,它正在用 IP 地址替换主机名:

//192.168.0.14/scan_in /srv/incoming cifs domain=mydom,credentials=/root/secret.txt,_netdev,x-systemd.after=network-online.target,uid=paperless,gid=paperless 0 0 

如果使用主机nmae(短或长),我会遇到上述问题。

相关内容