我们应该如何在 /home/$USER 自动挂载存储在不同 NFS 路径上的主目录?

我们应该如何在 /home/$USER 自动挂载存储在不同 NFS 路径上的主目录?

我们目前正在过渡到将组织的所有用户信息存储在 Red Hat IDM (FreeIPA) 中。我们有几千名用户,并通过 NetApp 文件管理器通过 NFS 挂载用户主目录。在文件管理器上,主目录存储在 50 多个子目录中,分布在十几个卷中,具体取决于他们的帐户类型和组织角色。

我们想更改在 NFS 客户端上安装用户主目录的位置。将此作为迁移到 IDM 的一部分似乎很有意义,因为我们无论如何都会重新安装客户端或更改其配置。

在我们的传统配置中,NFS 客户端将主目录挂载到距离 一个或两个子目录的下方/home/,路径与 NFS 服务器上存储主目录的位置相匹配。

我们希望客户端将所有用户主目录挂载在/home/$USERNAME

这里有一些虚构的例子,说明用户主目录可能位于 NFS 服务器上的位置以及它们将在 NFS 客户端上的安装位置(在我们当前的配置中):

  • nfs:/vol/home_d/81/jim->/home/d/81/jim
  • nfs:/vol/home_d/red93/isabelle->/home/d/red93/isabelle
  • nfs:/vol/home_z/samantha->/home/z/samantha
  • nfs:/vol/home_z/blue/robert->/home/z/blue/robert

将来,我们希望将robert的主目录挂载在/home/robertisabelle将 的挂载在,等等。我们尚未在 FreeIPA 中设置自动挂载映射,但我们在 RHEL 客户端上/home/isabelle尝试了以下平面文件操作:/etc/

auto.master

/home /etc/auto.home --timeout 60

auto.home

*       -tcp,vers=3,nosuid,nodev,sync,rsize=32768,wsize=32768,intr,noatime,acl nfs:/vol/home_d/81
*       -tcp,vers=3,nosuid,nodev,sync,rsize=32768,wsize=32768,intr,noatime,acl nfs:/vol/home_d/red93
*       -tcp,vers=3,nosuid,nodev,sync,rsize=32768,wsize=32768,intr,noatime,acl nfs:/vol/home_z
*       -tcp,vers=3,nosuid,nodev,sync,rsize=32768,wsize=32768,intr,noatime,acl nfs:/vol/home_z/blue

nfs:/vol/home_d/81不幸的是,它并没有像预期的那样工作。我们原本希望 automount 能够继续迭代键,直到找到匹配项,但实际上只搜索了第一个条目(在本例中是到 的映射)。

考虑到我们的 NFS 服务器的布局,按需自动挂载用户主目录最合理、最高效的方式是什么/home?理想情况下,我们希望将自动挂载信息存储在 IDM/FreeIPA 中。

  • 我们应该使用cn=automount,dc=example,dc=comFreeIPA 中已有的树吗?如果是这样,我们是否可以只为保存用户主目录文件夹的约 50 个目录设置条目,还是需要为每个用户设置一个条目?(我们准备采用后者。以编程方式创建它们很容易,但我们不确定性能和长期管理影响。)
  • 我们应该创建并使用nisMap对象吗?
  • 我们是否应该向用户记录添加自定义属性并使用它?
  • 是否存在我们没有想到的更好的东西?

我们的 NFS 客户端包括 RHEL、Ubuntu 和少量 macOS。(保留 macOS 支持/兼容性会很好,但不是必需的。我们准备将其从支持平台列表中删除。)

如果有必要,我们可以稍微重新组织一下 NFS 服务器上的布局,但是我们仍然希望将主目录保存在几个不同的卷中(理想情况下是几个不同的子目录)。

相关内容