在 Centos 7 中通过 systemd 挂载 NFS

在 Centos 7 中通过 systemd 挂载 NFS

我正在尝试使用 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

只有这样,自动挂载才会变得活跃且可用。

相关内容