安装在另一个 NFS 挂载内的 NFS 挂载随机消失

安装在另一个 NFS 挂载内的 NFS 挂载随机消失

我遇到了一个很奇怪的问题,我的嵌套 NFS 挂载有时会随机消失。

fstab 条目看起来有点像这样:

nfs:/home /home nfs rw,hard,intr,rsize=32768,noatime,nocto,proto=tcp 0 0
nfs:/bigdir /home/bigdir nfs rw,hard,intr,rsize=32768,noatime,nocto,proto=tcp,bg 0 0

问题是,有时“/home/bigdir”文件夹会是空的,即使 mtab 认为共享仍处于安装状态。nfsstat 等也认为共享仍处于安装状态。

唯一有效的方法是卸载,然后重新安装 bigdir 共享。

服务器端是 NetApp。客户端是 RHEL5.5,2.6.18-194 内核(是的,我知道 5.8 已经出来了,但据我所知,这个特定问题没有勘误表)。

我可以使用各种黑客技术,例如自动挂载,或者将其挂载到另一条路径,然后使用--mount bind,但我想修复潜在的问题。

答案1

您提到尝试自动挂载。您是否/home/bigdir从 autofs 中删除了条目?我想知道您是否意外地将其留在了那里,而自动挂载正在超时。我不确定条目在两个都fstab 和 autofs 将会发挥作用(尽管我猜测 fstab 会获胜并且它将被视为静态挂载)。

另外,是否也df -h显示/home/bigdir为已安装?

答案2

看来你不必安装大目录来自 NFS 共享。因为你已经在安装大目录嵌套在其中。那么你只需要

mount /home/bigdir /bigdir

或者甚至可能只是建立一个软链接?

答案3

我认为“根本问题”无法纠正。当您的 /home 重新挂载时(例如由于连接问题),您的嵌套挂载将被隐藏,因为它挂载到的目录不存在 ()。我认为最好的解决方案是将嵌套共享挂载到另一个点,并使用符号链接。我一直都是这样做的。顺便说一句,crossmnt 和 nohide 最适合包含在服务器的导出中并挂载一个共享。

相关内容