远程集群上的过时 NFS 文件句柄问题
Posted
技术标签:
【中文标题】远程集群上的过时 NFS 文件句柄问题【英文标题】:Stale NFS file handle issue on a remote cluster 【发布时间】:2013-03-25 11:37:23 【问题描述】:我需要使用名为 ngspice 的工具运行大量模拟,并且由于我想运行一百万个模拟,我将它们分布在一组机器上(主机+从机开始,它们有 12 个内核每个)。
这是命令:
ngspice deck_1.sp
; ngspice deck_2.sp
等,
第 1 步:使用 python 脚本生成这些 sp 文件。
第 2 步:Python 调用 GNU parallel 在主/从之间分发 sp 文件并使用 ngspice 运行模拟
第 3 步:我对结果进行后处理(python 脚本)。
我一次只生成和处理 1000 个文件以节省磁盘空间。所以上面的步骤1到3循环重复,直到模拟一百万个文件。
现在,我的问题是:
当我第一次执行循环时,我没有问题。这些文件分布在主/从之间,直到 1000 次模拟完成。当循环第二次开始时,我清除了现有的 sp 文件并重新生成它们(步骤 1)。现在,当我出于某种奇怪的原因执行步骤 2 时,没有检测到某些文件。经过一些调试,对于步骤 1 中创建的某些 sp 文件,我得到的错误是“过时的 NFS 文件句柄”和“没有这样的文件或目录 deck_21.sp”等。
我暂停了我的 python 脚本并在目录中执行了一个“ls
”,我看到文件确实存在,但就像错误指出的那样,这是因为过时的 NFS 文件句柄。 This link 建议我重新挂载客户端等,但我登录到没有管理员权限挂载的机器。
有没有办法解决这个问题?
谢谢!
【问题讨论】:
【参考方案1】:没有。您需要管理员权限才能解决此问题。
【讨论】:
以上是关于远程集群上的过时 NFS 文件句柄问题的主要内容,如果未能解决你的问题,请参考以下文章
两个相同的 NFS 共享,但只有一个会给出 Stale 文件句柄错误
C 库中的文件句柄泄漏(可能)会给 NFS 带来麻烦(+python,但这是偶然的)
当我运行下面的代码时,我正在获取句柄无效,它需要一个字符串并将其传递给远程批处理文件