我有一个需要挂载 NFS 的服务,但是失败了。
我使用 systemd escape 创建了一个挂载文件。挂载文件本身可以工作,启动后挂载点可用。它看起来像这样:
[Unit]
After=network.target
[Mount]
Type=nfs
What=10.1.1.10:/opt/company/product-category/product-name/mnt
Where=/opt/company/product-category/product-name/mnt
Options=rw,user,exec
[Install]
WantedBy=multi-user.target
我补充道RequiresMountFor=/opt/company/product-category/product-name/mnt
。
据我所知,这应该足以让我的服务等待 NFS 共享。我的程序需要 NFS 可用,它会尝试读取那里的文件,如果不可用,则会失败。所以我不确定这里出了什么问题。我猜是因为 NFS 太慢了,而 systemd 认为 NFS 可用。
如果我添加ExecStartPre=/usr/bin/sleep 3
到我的服务中它就会起作用。
您发现任何错误了吗?