【发布时间】:2015-06-16 10:29:14
【问题描述】:
我有一些磁盘密集型集群作业,我想在每个计算节点的 /tmp 空间中处理这些作业。作业被提交到网格引擎,然后分发到任意数量的节点,每个节点都有一个大的本地 /tmp 目录。节点都是 CentOS,共享一个通用的 NFS 挂载。
对于每个作业,我希望能够将所有数据从其 NFS 位置复制到 /tmp 目录,进行处理,然后将其复制回其原始 NFS 位置。但是,处理流是通用的,这意味着任何命令行程序都可以作为作业的一部分启动。我们运行的一些程序,例如 MATLAB,喜欢将软链接扩展至实际路径,并将完整路径存储在处理后的数据中。
我只想到了一种方法,但我想看看是否有更好的方法。
1) 创建从 NFS 目录到“/tmp/blah/thelocaljobstempdir”的链接,以便所有对该目录的引用都指向 /tmp。然后在处理完成后,将 /tmp 目录移动到其最终位置并删除链接。这可能适用于某些工作,但不适用于扩展路径和/或在数据中存储完整路径的工作。
基本上,我怎样才能让程序认为它在一个路径中工作,而实际上它在不同的路径中工作,而不使用硬链接,因为目录位于不同的文件系统上?
【问题讨论】:
标签: linux matlab directory tmp