关机时卸载 nfs

关机时卸载 nfs

我有一台装有 Debian 的笔记本电脑,主要用于家庭 WiFi。为了访问一些网络磁盘,我在 /etc/fstab 中有几行:

disk:/media/vol0 /home/disk0 nfs4 noauto,x-systemd.automount,x-systemd.device-timeout=10
disk:/media/vol1 /home/disk1 nfs4 noauto,x-systemd.automount,x-systemd.device-timeout=10

这在访问时效果很好,当我访问笔记本电脑上的 /home/disk1 目录时,磁盘正在被挂载。问题是当关闭时,我的 wifi 是用户连接,因此当我的用户注销时它就会关闭。然后 nfs 卸载将会挂起。过去是 90 秒的延迟,有点烦人,但可以接受,但在上次 debian 升级之后,当服务器不可用时重试卸载 nfs 磁盘似乎是无限延迟。 (到目前为止,我还没有等待很长时间,这是根据关闭期间的消息)这意味着我必须强制关闭机器,并且除了其他问题之外,我从未得到 / 的干净卸载。

这个问题的根本原因当然是我有一个用户定义的网络和一个系统定义的nfs挂载。我(认为我)知道如何将 wifi 连接定义为系统服务,但这会使其他事情变得困难,所以我想知道:

  • 是否有一个设置可以使 nfs 成为用户定义的挂载,以便在 wifi 连接断开之前将其删除?或者,
  • 如何设置 umount 的超时时间?

(当输入这个问题时,我意识到一个可能的解决方法是在 nfs 挂载上设置一个空闲超时,以便它在空闲一段时间后自动卸载,但要使其起作用,超时必须如此短它设法在从最后一个访问挂载的进程被杀死到 wifi 被删除的时间跨度内卸载,所以也许不是)

答案1

x-systemd.requires=network-online.target在论坛中建议了 value 来通知 systemd 挂载需要网络处于活动状态,第二个值是 @ipor-sircer 建议的,作为对您的问题的评论

您可能需要重新加载 systemdsudo systemctl daemon-reload并重新挂载分区才能使更改生效

我遇到了一些类似的问题,由于挂载点正在等待 NFS,我的系统无法关闭,我添加x-systemd.requires=network-online.target,_netdev到我的 fstab,我的系统现在可以毫无问题地关闭

相关内容