我正在尝试使用 systemd 在 CentOS 7 机器上安装 NFS 共享。这是我的/etc/fstab入口:
10.0.0.104:/export /mnt nfs users,noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,noatime 0 0
启动时或输入挂载-a没有效果,分区没有挂载。从我所看到的来看,似乎没有任何记录。
如果我使用相同的选项从 CLI 挂载它,但它会起作用:
mount -t nfs -o users,noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,noatime 10.0.0.104:/export /mnt
知道为什么不使用挂载 CLI 调用它时可能会失败吗?
答案1
从man mount
:
mount -a [-t 类型] [-O optlist]
(通常在引导脚本中给出)导致 fstab 中提到的所有文件系统(具有正确的类型和/或具有或不具有正确的选项)按照指示安装,除了那些行包含不自动关键词。
从systemd.mount
文档:
noauto, auto
使用 时
noauto
,此安装将不会作为 的依赖项添加local-fs.target
。这意味着它不会在引导期间自动安装,除非它被其他一些单元拉入。 Optionauto
具有相反的含义并且是默认值。
正如您所看到的,使用该命令时,任何/etc/fstab
带有 的行都noauto
不会自动挂载mount -a
。
你noauto
在你的/etc/fstab
.如果你要删除它,那么它应该可以工作。
答案2
还应该注意的是,添加x-systemd.automount
到一行后fstab
,您需要运行:
sudo systemctl daemon-reload
然后是以下一项或两项:
sudo systemctl restart remote-fs.target
sudo systemctl restart local-fs.target
只有这样,自动挂载才会变得活跃且可用。