

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

# 为服务管理的车队提供永久存储
<a name="volumes"></a>

AWS Deadline Cloud（Deadline Cloud）永久存储为服务托管队列 (SMF) 工作人员提供与根启动卷分开的专用亚马逊弹性区块存储 (Amazon EBS) 卷。这些卷可以跨工作线程生命周期事件保留数据。使用永久存储，在例行维护或扩展操作期间更换工作人员时，conda 软件包安装、应用程序缓存和资产文件仍然可用。

## 永久存储的工作原理
<a name="volumes-how-it-works"></a>

当您在服务托管队列上启用永久存储时，Deadline Cloud 会自动为您的员工管理 Amazon EBS 卷的生命周期：

1. 当工作程序启动时，Deadline Cloud 会在同一可用区中创建或重复使用可用的 Amazon EBS 卷，并将该卷附加到该工作程序。

1. Deadline Cloud 格式化卷（如果是新的），并将其安装到您在队列配置中指定的路径上。

1. 当工作人员终止或被替换时，Deadline Cloud 会分离该卷，并使其可供同一队列和可用区中的未来工作人员重复使用。

由于卷可在同一个队列和可用区内重复使用，因此后续工作人员将受益于先前写入该卷的数据。该卷提供专用的带宽和 IOPS，不会在工作人员之间发生争用。

**注意**  
永久存储仅适用于服务管理的舰队。对于客户管理的机队，您可以管理自己的存储基础架构。

## 永久存储的好处
<a name="volumes-benefits"></a>

持久存储为服务管理的队列工作负载提供了以下好处：
+ **更快地启动作业** — Conda 软件包安装、编译的着色器和处理过的资产在工作器更换后会持续存在，从而消除了重复的下载和安装。
+ **专用性能** — 每个工作人员都会收到自己的 Amazon EBS 卷，该卷具有专用 IOPS 和吞吐量，从而避免了共享网络存储的争用。
+ **自动管理** — Deadline Cloud 无需人工干预即可处理卷的创建、附件、格式化、装载和清理。
+ **运行时集成** — 支持的运行时使用者（例如 conda 队列环境和虚拟文件系统 (VFS) 不可变缓存）在可用时自动使用永久存储，无需更改作业配置。
+ **成本控制** — 配置存活时间 (TTL)，以自动清理未使用的卷并降低闲置期间的存储成本。

## 何时使用永久存储
<a name="volumes-use-cases"></a>

在以下情况下，可以考虑为服务托管队列启用永久存储：
+ 您的作业使用需要大量下载和安装时间的 conda 软件包。
+ 您的渲染工作负载会编译着色器或处理资源，这些资源可以在后续渲染中重复使用。
+ 您可以使用 Perforce 或其他版本控制系统，在这种系统中，工作区同步状态会减少后续更新中的数据传输。
+ 您的作业使用虚拟文件系统 (VFS)，并且将受益于永久不可变资产缓存。
+ 您需要专用的存储性能，而无需管理共享网络文件系统的运营开销。
+ 您可以通过主机配置脚本在 Worker 上安装自定义渲染器或其他软件，并希望将这些安装缓存到永久卷中。

## 为队列配置永久存储
<a name="volumes-configure"></a>

在创建新的服务托管队列或更新现有队列时，您可以配置永久存储。

### 配置永久存储（控制台）
<a name="volumes-configure-console"></a>

在开始之前，您必须拥有一个包含至少一个服务托管队列的现有服务器场，或者准备好创建新的队列。

**为队列配置永久存储**

1. 登录 AWS 管理控制台并打开 De [adline Cloud 控制台](https://console.aws.amazon.com/deadlinecloud/home)。

1. 在导航窗格中，选择**农场**，然后选择您的农场。

1. **选择 “**舰**队” 选项卡，然后选择 “**创建舰队**”，或者选择现有的服务管理队列并选择 “编辑”。**

1. 在**存储功能**下，对于**存储模式**，选择**永久存储**。

1. 为启动卷配置**根存储**设置（大小、IOPS 和吞吐量）。

1. 在 “**永久存储**” 下，配置以下设置：
   + **大小**-永久卷的大小。有效范围为 1—65,536 GiB。验证默认大小是否适合您的渲染工作负载，并考虑为使用较大资源或缓存的工作流程增加体积大小。
   + **装载路径**-将卷装载到工作器上的绝对路径（`/mnt/persistent`例如，对于Linux）。对于Windows工作人员，请指定驱动器号，例如`D:`。
   + **吞吐量**-卷的预配置吞吐量。有效范围为 125 MiB/s —2,000。
   + **最大空闲时间**-可用卷在删除之前可以闲置多长时间。从下拉列表中选择一个值（例如，12 小时）。
   + **IOPS** — 该卷的预配置 IOPS。有效范围为 3,000—80,000 IOPS。IOPS 必须至少为 4 倍的吞吐量。

1. 完成剩余的队列配置步骤，然后选择**创建队列**或**保存更改**。

### 配置永久存储 (AWS CLI)
<a name="volumes-configure-cli"></a>

要使用 AWS Command Line Interface (AWS CLI) 配置永久存储，请在创建或更新队列时将`persistentVolumeConfiguration`参数包含在队列配置中。

以下示例创建了一个启用了永久存储的队列：

```
{
  "configuration": {
    "serviceManagedEc2FleetConfiguration": {
      "instanceCapabilities": {
        "vCpuCount": {"min": 4, "max": 8},
        "memoryMiB": {"min": 16384, "max": 32768},
        "osFamily": "LINUX"
      },
      "instanceMarketOptions": {
        "type": "spot"
      },
      "persistentVolumeConfiguration": {
        "sizeGiB": 2048,
        "iops": 16000,
        "throughputMiB": 500,
        "mountPath": "/mnt/persistent",
        "lastUsedTtlHours": 168
      }
    }
  }
}
```

## 运行时集成
<a name="volumes-runtime"></a>

在工作器上成功安装永久存储后，Deadline Cloud 会将`DEADLINE_PERSISTENT_MOUNT`环境变量设置为配置的挂载路径。当环境变量存在时，以下运行时使用者会自动使用永久存储：
+ **Conda 队列环境** — Package 安装存储在永久卷上，因此后续工作程序会重复使用以前安装的软件包，而不必重新下载和安装它们。
+ **虚拟文件系统 (VFS) 不可变缓存 — VFS 将其不可变资产缓存**存储在永久卷上，因此之前下载的资产无需从亚马逊简单存储服务 (Amazon S3) Simple Service 重新下载即可使用。

您还可以在自己的作业模板和脚本中使用`DEADLINE_PERSISTENT_MOUNT`环境变量来存储应在工作线程生命周期事件中持续存在的数据。

## 管理永久卷
<a name="volumes-manage"></a>

您可以使用 Deadline Cloud 控制台或 API 查看和管理队列的永久卷。 AWS CLI以下操作可用：
+ **列出卷**-查看与队列关联的所有永久性卷，包括其状态、大小和可用区。
+ **获取卷详细信息**-检索有关特定卷的详细信息，包括其当前状态、连接状态和配置。
+ **删除卷**-永久删除不再需要的未连接的永久性卷。您无法删除当前连接到工作器的卷。

## 更新永久存储配置
<a name="volumes-update"></a>

您可以更新现有队列上的永久存储配置。支持以下更改：
+ **IOPS 和吞吐量** — Deadline Cloud 下次将卷附加到工作程序时会应用更改。
+ **卷大小（仅限增加）**— Deadline Cloud 会在下一个附件之前放大音量。您无法减小卷大小。
+ **禁用永久存储** — Deadline Cloud 会在现有卷不再连接到工作人员时自动清理这些卷。

**重要**  
配置更改不会影响现有工作人员。更改仅适用于更新后启动的新工作人员。

## 加密
<a name="volumes-encryption"></a>

永久卷使用在服务器场级别配置的加密设置。如果您为服务器场配置了客户托管 AWS Key Management Service (AWS KMS) 密钥，则永久卷将使用该密钥进行加密。否则，永久卷将使用服务拥有的密钥进行加密。

## 注意事项
<a name="volumes-considerations"></a>

使用永久存储时，请记住以下注意事项：
+ 永久卷是一种缓存优化，而不是耐用的主存储。仅将永久卷用于可以重新创建的数据，例如软件包安装、编译后的着色器和资产缓存。Deadline Cloud 可以随时替换卷，而且您无法直接访问永久卷。
+ Deadline Cloud 将工作人员的主目录配置为使用永久卷。将数据存储在主目录中的软件（例如 conda 包和应用程序缓存）会自动受益于持久性。如果您的软件写入主目录之外的路径，则必须将其重新配置为使用永久挂载路径，否则这些文件不会在工作线程生命周期事件中持续存在。
+ 永久卷不会同时连接到多个工作程序。每个卷一次只能为一个工作人员提供服务，但在生命周期事件中由不同的工作人员重复使用。
+ 卷的范围仅限于特定的队列和可用区。在一个可用区中创建的卷不能由另一个可用区中的工作人员重复使用。
+ 不能保证特定工作人员收到的音量与之前使用的音量相同。可以分配同一队列和可用区中的任何可用卷。
+ 如果无法配置永久存储（例如，由于配额限制），则任务将失败。如果没有持久存储，工作人员就不会重新开始运行。
+ 您需要根据活动卷的数量及其配置对永久存储进行计费。要控制闲置期间的成本，请配置 TTL 或从队列中移除永久存储配置。