我们目前正在过渡到将组织的所有用户信息存储在 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/robert
,isabelle
将 的挂载在,等等。我们尚未在 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=com
FreeIPA 中已有的树吗?如果是这样,我们是否可以只为保存用户主目录文件夹的约 50 个目录设置条目,还是需要为每个用户设置一个条目?(我们准备采用后者。以编程方式创建它们很容易,但我们不确定性能和长期管理影响。) - 我们应该创建并使用
nisMap
对象吗? - 我们是否应该向用户记录添加自定义属性并使用它?
- 是否存在我们没有想到的更好的东西?
我们的 NFS 客户端包括 RHEL、Ubuntu 和少量 macOS。(保留 macOS 支持/兼容性会很好,但不是必需的。我们准备将其从支持平台列表中删除。)
如果有必要,我们可以稍微重新组织一下 NFS 服务器上的布局,但是我们仍然希望将主目录保存在几个不同的卷中(理想情况下是几个不同的子目录)。