在 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.txt
stderr.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 |
这些环境变量值是实现详细信息,不应被视为不可变。 由于这些值随时可能会更改,因此建议使用环境变量,而不是硬编码该值。
后续步骤
- 了解 Azure Batch 中的 错误处理和检测 。