Azure Batch 中的文件和目录

在 Azure Batch 中,每个任务都有一个工作目录,可在其中创建文件和目录。 此工作目录可用于存储由任务运行的程序、处理的数据以及其执行的处理输出。 任务的所有文件和目录都由任务用户所有。

Batch 服务将节点上的文件系统的一部分公开为 根目录。 此根目录位于 VM 的临时存储驱动器上,而不是直接位于 OS 驱动器上。

任务可以通过引用 AZ_BATCH_NODE_ROOT_DIR 环境变量来访问根目录。 有关使用环境变量的详细信息,请参阅 任务的环境设置

根目录结构

根目录包含以下目录结构:

计算节点目录结构的屏幕截图。

  • 应用程序:包含有关在计算节点上安装的应用程序包的详细信息。 任务可以通过引用 AZ_BATCH_APP_PACKAGE 环境变量来访问此目录。

  • fsmounts:目录包含安装在计算节点上的任何文件系统。 任务可以通过引用 AZ_BATCH_NODE_MOUNTS_DIR 环境变量来访问此目录。 有关详细信息,请参阅 在 Batch 池上装载虚拟文件系统

  • 共享:此目录提供对节点上运行 的所有 任务的读/写访问权限。 节点上运行的任何任务都可以在此目录中创建、读取、更新和删除文件。 任务可以通过引用 AZ_BATCH_NODE_SHARED_DIR 环境变量来访问此目录。

  • 启动:此目录由启动任务用作其工作目录。 启动任务下载到节点的所有文件都存储在此处。 启动任务可以在此目录下创建、读取、更新和删除文件。 任务可以通过引用 AZ_BATCH_NODE_STARTUP_DIR 环境变量来访问此目录。

  • volatile:此目录用于内部目的。 不能保证此目录中的任何文件或目录本身将存在于将来。

  • workitems:此目录包含计算节点上的作业及其任务的目录。

    工作项 目录中,将为节点上运行的每个任务创建 一个 Tasks 目录。 可以通过引用 AZ_BATCH_TASK_DIR 环境变量来访问此目录。

    在每个 Tasks 目录中,Batch 服务将创建一个工作目录(wd),其唯一路径由 AZ_BATCH_TASK_WORKING_DIR 环境变量指定。 此目录提供对任务的读/写访问权限。 该任务可以在此目录下创建、读取、更新和删除文件。 此目录根据为任务指定的 RetentionTime 约束保留。

    在执行任务期间,这些文件stdout.txtstderr.txt将写入“任务”文件夹。

重要

从池中删除节点时,将删除存储在该节点上的所有文件。

批处理根目录位置

计算节点环境变量的值 AZ_BATCH_NODE_ROOT_DIR 将由 VM 大小和本地临时磁盘的存在决定。

存在本地临时磁盘 操作系统类型 AZ_BATCH_NODE_ROOT_DIR
Linux /opt/batch/data
是的 Linux /mnt/batch/mnt/resource/batch
Windows操作系统 C:\batch\data
是的 Windows操作系统 D:\batch

这些环境变量值是实现详细信息,不应被视为不可变。 由于这些值随时可能会更改,因此建议使用环境变量,而不是硬编码该值。

后续步骤