远程集群上的过时 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 文件句柄问题的主要内容,如果未能解决你的问题,请参考以下文章

sh 卸载过时的文件句柄

两个相同的 NFS 共享,但只有一个会给出 Stale 文件句柄错误

C 库中的文件句柄泄漏(可能)会给 NFS 带来麻烦(+python,但这是偶然的)

当我运行下面的代码时,我正在获取句柄无效,它需要一个字符串并将其传递给远程批处理文件

将标准输出写入文件时,Windows 上的 Python “句柄无效”

如何加固linux NFS 服务安全的方法