我遇到了一个很奇怪的问题,我的嵌套 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 最适合包含在服务器的导出中并挂载一个共享。