

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

# 使用容量块（CB）启动实例
<a name="launch-instances-capacity-blocks"></a>

AWS ParallelCluster 支持 Machine Learn [ing 的[按需容量预留 (ODCR)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) 和容量块 (CB)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-blocks.html)。与 ODCR 不同，CB 可以有未来的开始时间，并且有时间限制。有关使用 ODCR 启动的更多信息，请参阅[使用按需容量预留（ODCR）启动实例](launch-instances-odcr-v3.md)。

## 将 CB 与 AWS ParallelCluster
<a name="capacity-blocks-with-pc"></a>

要将您的新集群或现有集群配置为使用 CB，您的 AWS 账户中首先需要有一个有效的 CB。您可以按照官方文档使用 AWS 管理控制台 AWS Command Line Interface、或 SDK 查找和购买可用的 CB。获得有效的 CB 后，您可以在 AWS ParallelCluster 配置文件中设置 CB Amazon 资源名称 (ARN) 和相关参数。有关更多信息，请参阅[查找和购买容量块（CB）](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-using.html#capacity-blocks-purchase)

### 集群配置中的 CB
<a name="capacity-blocks-cluster-config"></a>

要将 CB 用于特定队列，必须使用`CapacityReservationId`参数。将此参数配置为现有的 CB ID。您可以从用于创建 CB 的 AWS 管理控制台 AWS CLI、或 SDK 中获取 CB ARN。

您必须`CapacityType = CAPACITY_BLOCK`为要使用 CB 的队列进行设置。将其设置为`InstanceType`计算资源的（与 CB 的 Amazon 弹性计算云实例类型相同）。

当您在计算资源级别指定时，`InstanceType`是可选的，因为它将自动从预留中检索。`CapacityReservationId`

使用时`CapacityType = CAPACITY_BLOCK`，`MaxCount`必须等于`MinCount`和大于 0，因为所有属于 CB 预留的实例都作为静态节点进行管理。

在创建集群时，头节点会等待所有静态节点准备就绪，然后才会发出集群创建成功的信号。但是，当您使用时`CapacityType = CAPACITY_BLOCK`，属于与之关联的计算资源一部分的节点将不会被考虑用于此检查。即使所有配置的集群都未处于活动状态，也会创建集群。

以下配置文件片段显示了在 AWS ParallelCluster 配置文件中启用所需的参数。

```
SlurmQueues:
 - Name: string
   CapacityType: CAPACITY_BLOCK
   ComputeResources:
   - Name: string
     InstanceType: String (EC2 Instance type of the CB)
     MinCount: integer (<= total capacity of the CB)
     MaxCount: integer (equal to MinCount)
     CapacityReservationTarget:
        CapacityReservationId: String (CB id)
```

### 如何 AWS ParallelCluster 使用容量块 (CB)
<a name="how-parallelcluster-use-capacity-blocks"></a>

AWS ParallelCluster 以一种特殊的方式管理与之关联的静态节点。 AWS ParallelCluster 即使 CB 尚未激活，也会创建集群，并且一旦 CB 处于活动状态，实例就会自动启动。

与计算资源相对应、与之关联但尚未处于活动状态的Slurm节点将一直处于维护状态，直到它们到达 CB 开始时间。 Slurm节点保持 reservation/maintenance 状态并与 slurm 管理员用户关联。这意味着他们可以接受工作，但这些工作将一直保留，`pending`直到保留被移除。

AWS ParallelCluster 自动更新Slurm预留并将相关的 CB 节点置于维护状态（对应于 CB 状态）。当 CB 处于活动状态时，Slurm预留将被移除，节点将启动并可用于待处理的任务或提交的新作业。

当到达 CB 结束时间时，节点将移回某个 reservation/maintenance 状态。当 CB 不再处于活动状态并且实例终止时，用户可以将任务分配到新的队列/计算资源。 resubmit/requeue 