systemd 自动挂载单元:仅在服务器可访问时运行

systemd 自动挂载单元:仅在服务器可访问时运行

我正在使用 systemd 自动挂载单元(见下文)在我的笔记本电脑(debian bullseye)上挂载网络共享。原则上这工作得很好,但我有一个大问题:

在家里,在安装单元中将 TimeoutSec 设置为 2 秒就足够了。通常服务器可用并且共享已安装。如果服务器宕机了,我只需要等待 2 秒,直到看到它不在那里。没关系。

但是,当不在家并使用 VPN 时,挂载单元将不会在​​ TimeoutSec 设置为 2 秒的情况下挂载。我需要将其设置为至少 10 秒。然后安装就可以工作了。但是使用 10 秒意味着我总是必须为系统尝试访问但不可用的每个共享等待 10 秒。例如,在启动 libreoffice 时,这确实很烦人(它似乎在启动时检查最后使用的文档)。

我想做的是将服务器可用性测试(例如 ping -c 1 $SERVER)放入自动挂载文件中。当服务器不可用时,自动挂载不会运行。这可能吗?或者我是否需要创建一个特殊单元并放置类似的东西

Requires=nfs-server-online.target

在我的自动安装单元中? nfs-server-online 单元会是什么样子?

问候,

于尔根

/etc/systemd/system/mnt-share.automount:

[Unit]
Description=autoount share

[Automount]
Where=/mnt/share
TimeoutIdleSec=1min

[Install]
WantedBy=multi-user.target

/etc/systemd/system/mnt-share.mount:

[Unit]
Description=Mount share

[Mount]
Where=/mnt/share
What=lana:/share
Type=nfs
Options=soft,async
TimeoutSec=10

[Install]
WantedBy=multi-user.target

相关内容