我已经安装了一个文件服务器,它包含两个大型文件系统,每个文件系统由一个卷组中的单个LVM逻辑卷(10TB和16TB)组成。 组成LV的物理卷是通过iSCSI /多path连接的SAN LUN。
现在,我想通过NFS将这些服务提供给计算集群中的节点。
到目前为止,我有以下configuration。
在服务器上两个LV在:
/mnt/LV1 /mnt/LV2
NFS / etc / exports类似于
/mnt/LV1 *(rw...) /mnt/LV2 *(rw...)
在我的客户端,我分别安装每一个。
我的问题是,我可以把它放在/ etc / exports中吗?
/mnt *(rw)
并作为包含这两个逻辑卷的单点安装在客户端中?
天真地说,这看起来很奇怪,因为它们是分开的逻辑卷,但这也可能是正确的做法!
默认情况下,导出的文件系统不包含从不同文件系统安装的目录的内容。 也就是说,NFS导出不会跨越文件系统边界。 所以,在你的例子中,如果挂载/mnt ,你只会看到两个空目录( LV1和LV2 )。
原因是NFS客户端会在单个文件系统中看到多个具有相同inode编号的文件,这可能会导致某些NFS客户端的混淆。 或者为了避免这个问题,NFS服务器将不得不维护一个非标识的inode号码映射。
根据exports(5)手册页 ,您可以使用nohide选项closures此function,然后您可能希望在单个文件系统内多个文件碰巧具有相同的inode编号时,客户端上的任何软件都不会感到困惑。
常规选项
exportfs理解以下导出选项:nohide
此选项基于IRIX NFS中提供的相同名称的选项。 通常情况下,如果服务器导出两个文件系统,其中一个安装在另一个文件系统上,那么客户端将不得不显式挂载两个文件系统才能访问它们。 如果它只是挂载父节点,它将在其他文件系统挂载的地方看到一个空目录。 该文件系统是“隐藏”的。 在文件系统上设置
nohide选项会使其不被隐藏,并且经过适当授权的客户端将能够从父文件系统移动到该文件系统,而不会注意到该更改。但是,一些NFS客户端不能很好地处理这种情况,例如,一个表观文件系统中的两个文件就有可能具有相同的inode编号。
nohide选项目前仅对单个主机导出有效。 它不能与networking组,子网或通配符导出一起使用。这个选项在某些情况下可能非常有用,但是应该谨慎使用,并且只有在确认客户端系统能够有效应对这种情况之后才能使用。
该选项可以隐藏显式禁用。