View a markdown version of this page

为服务管理的车队提供永久存储 - 截止日期云

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为服务管理的车队提供永久存储

AWS Deadline Cloud(Deadline Cloud)永久存储将专用的亚马逊弹性区块存储 (Amazon EBS) Elastic Block Store gp3 卷连接到服务管理的车队员工。这些卷可跨工作线程生命周期事件保存 conda 软件包安装、应用程序缓存和版本控制工作区等数据。有关概念性概述,请参阅 De AWS adline Cloud 用户指南中的服务管理队列的永久存储

实例集配置

要启用永久存储,请在调用CreateFleetserviceManagedEc2FleetConfiguration时将persistentVolumeConfiguration对象包含在中UpdateFleet

配置参数

persistentVolumeConfiguration对象接受以下参数。有关有效范围和默认值,请参阅 De adline Cloud API 参考CreateFleet中的。

参数 Type 必需 说明
sizeGiB 整数 永久卷的大小,以 GiB 为单位。
iops 整数 gp3 卷的预配置 IOPS。
throughputMiB 整数 gp3 卷的 MiB/s 预配置吞吐量。
mountPath 字符串 工作器上的安装位置。对于Linux,请指定绝对路径(例如,/mnt/persistent)。对于Windows,请指定驱动器号(例如,D:)。
lastUsedTtlHours 整数 在自动清理之前上次使用卷后的小时数。

创建具有永久存储空间的舰队

以下 AWS CLI 示例创建了一个启用了永久存储的服务托管队列:

aws deadline create-fleet \ --farm-id farm-0123456789abcdef0 \ --display-name "Rendering Fleet" \ --max-worker-count 20 \ --configuration '{ "serviceManagedEc2FleetConfiguration": { "instanceCapabilities": { "vCpuCount": {"min": 4, "max": 16}, "memoryMiB": {"min": 16384, "max": 65536}, "osFamily": "LINUX", "rootEbsVolume": {"sizeGiB": 250} }, "instanceMarketOptions": {"type": "spot"}, "persistentVolumeConfiguration": { "sizeGiB": 2048, "iops": 16000, "throughputMiB": 500, "mountPath": "/mnt/persistent", "lastUsedTtlHours": 168 } } }'

更新永久存储配置

以下 AWS CLI 示例向现有队列添加永久存储:

aws deadline update-fleet \ --farm-id farm-0123456789abcdef0 \ --fleet-id fleet-0123456789abcdef0 \ --configuration '{ "serviceManagedEc2FleetConfiguration": { "instanceCapabilities": { "vCpuCount": {"min": 4, "max": 16}, "memoryMiB": {"min": 16384, "max": 65536}, "osFamily": "LINUX", "rootEbsVolume": {"sizeGiB": 250} }, "instanceMarketOptions": {"type": "spot"}, "persistentVolumeConfiguration": { "sizeGiB": 2048, "iops": 16000, "throughputMiB": 500, "mountPath": "/mnt/persistent", "lastUsedTtlHours": 168 } } }'

要禁用永久存储,请在UpdateFleet调用中从队列配置中省略该persistentVolumeConfiguration对象。当现有卷不再与工作人员连接时,Deadline Cloud 会自动清理这些卷。

卷管理操作

您可以使用以下操作来管理永久卷:

GetVolume

检索有关特定永久卷的详细信息。

请求

aws deadline get-volume \ --farm-id farm-0123456789abcdef0 \ --fleet-id fleet-0123456789abcdef0 \ --volume-id volume-0123456789abcdef0

响应

{ "volumeId": "volume-0123456789abcdef0", "fleetId": "fleet-0123456789abcdef0", "farmId": "farm-0123456789abcdef0", "state": "AVAILABLE", "volumeType": "gp3", "sizeGiB": 2048, "iops": 16000, "throughputMiB": 500, "availabilityZone": "us-west-2a", "attachedWorkerId": null, "createdAt": "2024-01-15T10:30:00Z", "lastAttachedAt": "2024-11-15T14:22:00Z", "ttl": "2024-11-22T14:22:00Z" }

state字段表示当前的音量状态。可能的值有:

  • AVAILABLE— 卷已拆下,可以安装了。

  • IN_USE— 该卷当前已连接到工作人员。

  • PENDING_CREATION— 正在创建卷。

  • PENDING_ATTACHMENT— 该卷是为连接至工作人员而保留的。

  • PENDING_DELETION— 该卷已标记为删除。

环境变量

成功安装永久存储后,Deadline Cloud 会在工作器上设置以下环境变量:

DEADLINE_PERSISTENT_MOUNT=/mnt/persistent

环境变量的值是您在舰队配置中指定的挂载路径。此环境变量可供工作器上运行的所有作业进程使用,包括主机配置脚本和作业模板操作。

当环境变量存在时,以下运行时使用者会自动使用永久存储:

  • Conda 队列环境 — 将安装的软件包存储在永久卷上。

  • VFS 不可变缓存 — 将资产缓存存储在永久卷上。

您可以在 Open Job Description 作业模板中引用环境变量,将自定义数据存储在永久卷上。以下示例显示了将输出写入永久存储的步骤:

steps: - name: ProcessAssets script: actions: onRun: command: bash args: - "-c" - | CACHE_DIR="${DEADLINE_PERSISTENT_MOUNT}/my-app-cache" mkdir -p "$CACHE_DIR" # Your processing logic here

配置更改行为

下表描述了配置更改如何影响现有的永久性卷:

更改 行为
提高 IOPS 或吞吐量 Deadline Cloud 会在下一卷附加之前应用更改。
降低 IOPS 或吞吐量 Deadline Cloud 会在下一卷附加之前应用更改。
增加音量大小 Deadline Cloud 会在下一个附件之前放大音量,并在工作器启动期间自动扩展文件系统。
减小音量大小 不支持。无法缩小 Amazon EBS 卷的大小。
更改装载路径 仅适用于新员工。现有工作人员保留其当前的挂载路径。
移除永久存储 Deadline Cloud 会将现有卷标记为待删除,并在这些卷不再连接到工作线程时将其清理。