重新加载后 autofs 共享未更新

重新加载后 autofs 共享未更新

让 autofs 知道其映射文件的任何更改(例如auto.home下面的更改)而不需要在 RHEL 6.7 上停止服务的最佳方法是什么?

根据autofs 手册页

如果地图被修改,则更改将立即生效。如果修改了 auto.master 映射,则必须重新运行 autofs 脚本才能激活更改。

但是,如果我更改我的auto.home更改,autofs 不会自动看到这些更改。另外,如果我随后运行,service autofs reload更改仍然看不到。这些更改只有在我运行后才会生效service autofs restart。但是,这将要求所有用户停止处理任何 NFS 共享文件夹,直到服务重新启动完成。

更改是否应该自动生效或至少在我运行后生效service autofs reload?我在这里做错了什么?

我使用的配置见下文:


我在两台 RedHat Linux 6.7 机器上进行了以下简单配置,一台充当 NFS 服务器,另一台充当客户端。

NFS 服务器:

$ cat /etc/exports
/home/user1/NFS-test *(rw,sync)
/home/user2/NFS-test *(rw,sync)

NFS 客户端:

$ cat /etc/auto.master
/misc   /etc/auto.misc
/net    -hosts
/-       /etc/auto.home --temeout=300
+auto.master

$ cat /etc/auto.home
/home/user1/NFS-test     -ro,soft,intr    server:/home/user1/NFS-test
/home/user2/NFS-test     -ro,soft,intr    server:/home/user2/NFS-test

这工作正常,两个用户(user1user2)都可以NFS-test在客户端计算机上的主文件夹下看到自己的目录。

现在第二行被删除auto.home

$ cat /etc/auto.home
/home/user1/NFS-test     -ro,soft,intr    server:/home/user1/NFS-test

然后我运行service autofs reload以更新共享。然而,变化auto.home是看不到的,并且/home/user2/NFS-test可以继续从客户端计算机访问。

另一方面,如果我运行,service autofs restart则映射已正确更新,/home/user2/NFS-test在客户端上不可见。

我希望能够刷新 NFS 共享以响应更改,auto.home而无需先停止 autofs,以避免要求所有用户先注销。这可能吗reload?还有其他方法可以做到这一点吗?


更新

由于我的设置相对较小(1 个服务器和 3 个客户端),并且仅导出两个文件夹(一个只读和一个读写),因此我决定放弃使用autofsNFS,而是通过在每个客户端上进行编辑来直接使用 NFS /etc/fstab。对于如此小的设置,我希望与autofs.如果有人不这么认为,请告诉我。

如果有人感兴趣,这是我的设置:

服务器导出以下文件夹:

  • /export:所有软件所在的位置(只读)
  • /home/shared_homes:这里每个用户都有一个文件夹,该文件夹会导出到所有客户端,并自动链接到其主目录。例如,用户bob101将有一个/home/shared_homes/bob101链接到的文件夹/home/bob101/mySharedWorkspace

答案1

您正在使用直接地图。对于直接映射,需要重新启动automount。我建议您使用间接映射来完成您想做的事情。

相关内容