我有少量旧的 ubuntu 桌面,它们通过交换机连接起来,充当一个小型测试集群。工作器通过 SLURM 队列管理器从主节点接收命令。它们共享一个数据挂载和一个包含可执行文件的挂载,以通过 NFS 在单独的文件服务器框上对数据进行操作。所有机器都有大约 5 年的历史。主节点的作业被拆分为任务,然后主节点将任务输入到 SLURM 中。拆分会生成工作目录,其中存放了相应数据文件的符号链接:
../job_workdir/task_1/datafile.dat -> ../datadir/dataset/task_1/datafile.dat
当任务运行时,拆分框架已完成其工作,但有时符号链接的扩展名(.dat 或类似)不被可执行文件接受,因为它需要 .txt 文件。因此,作业运行包装器,将符号链接符号链接到可接受的名称,之后包装器几乎立即调用可执行文件。
../job_workdir/task_1/datafile.dat -> ../datadir/dataset1234/task_1/datafile.dat
../job_workdir/task_1/datafile.txt -> ../job_workdir/task_1/datafile.dat
有时,可执行文件会莫名其妙地退出,并显示“文件不存在”,以供符号链接处理。我无法针对特定任务重现此情况,它通常有效,但并非总是有效。
所以我的问题是,NFS 上的符号链接创建时间是否存在问题?NFS 服务器是一台旧的 i3 机器,有两个 HD 充当逻辑卷,交换机是 3com 千兆 8 交换机(“用于小型办公室”)。
答案1
没有答案,所以我将描述我所做的事情。不确定这是否是根本问题,但我发现不同计算机之间存在时钟差异。工作节点和文件服务器未连接到互联网,因此我在主节点上安装了 ntp 服务器,并在工作节点和文件服务器上安装了客户端。然后客户端与主节点同步。从那以后就再也没有看到过问题。