

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

# 我配置了按需容量预留 (ODCRs) 或区域预留实例
<a name="compute-node-initialization-odcr-v3"></a>

## ODCRs 其中包括具有多个网络接口的实例，例如 p4d、p4de 和 AWS Trainium (Trn)
<a name="compute-node-initialization-odcr-multi-ni-v3"></a>

在集群配置文件中，检查 `HeadNode` 是否位于公有子网中，以及计算节点是否位于私有子网中。

## ODCRs 是针对 ODCR
<a name="compute-node-initialization-odcr-targeted-v3"></a>

### 尽管我已经按照[使用按需容量预留（ODCR）启动实例](launch-instances-odcr-v3.md)中的说明准备好了 `/opt/slurm/etc/pcluster/run_instances_overrides.json`，但仍看到“`Unable to read file '/opt/slurm/etc/pcluster/run_instances_overrides.json'.`”
<a name="compute-node-initialization-odcr-targeted-noread-v3"></a>

如果您使用的是目标 AWS ParallelCluster 版本3.1.1至3.2.1 ODCRs，并且还使用[运行实例覆盖 JSON 文件](launch-instances-odcr-v3.md)，则可能您的 JSON 文件格式不正确。您可能会在 `clustermgtd.log` 中看到错误，例如下面的错误：

```
Unable to read file '/opt/slurm/etc/pcluster/run_instances_overrides.json'. 
Using default: {} in  /var/log/parallelcluster/clustermgtd.
```

通过运行以下命令验证 JSON 文件格式是否正确：

```
$ echo /opt/slurm/etc/pcluster/run_instances_overrides.json | jq
```

### 集群创建失败时在 `clustermgtd.log` 中看到“`Found RunInstances parameters override.`”，或运行作业失败时在 `slurm_resume.log` 中看到该错误
<a name="compute-node-initialization-odcr-targeted-override-v3"></a>

如果您使用的是[运行实例覆盖 JSON 文件](launch-instances-odcr-v3.md)，请检查是否在 `/opt/slurm/etc/pcluster/run_instances_overrides.json` 文件中正确设置了队列名称和计算资源名称。

### 运行作业失败时在 `slurm_resume.log` 中看到“`An error occurred (InsufficientInstanceCapacity)`”，或创建集群失败时在 `clustermgtd.log` 中看到该错误
<a name="compute-node-initialization-odcr-ii-capacity-v3"></a>

#### 使用 PG-ODCR（置放群组 ODCR）
<a name="compute-node-initialization-odcr-ii-pg-capacity-v3"></a>

创建具有关联置放群组的 ODCR 时，必须在配置文件中使用相同的置放群组名称。在集群配置中设置相应的[置放群组名称](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup)。

#### 使用区域预留实例
<a name="compute-node-initialization-odcr-ii-zonal-capacity-v3"></a>

如果您使用区域预留实例并在集群配置中将 `PlacementGroup`/`Enabled` 设置为 `true`，则可能会看到错误，例如下面的错误：

```
We currently do not have sufficient trn1.32xlarge capacity in the Availability Zone you requested (us-east-1d). Our system will be working on provisioning additional capacity. 
You can currently get trn1.32xlarge capacity by not specifying an Availability Zone in your request or choosing us-east-1a, us-east-1b, us-east-1c, us-east-1e, us-east-1f.
```

您可能会看到这种情况，因为区域预留实例未放置在同一 UC（或主干）中，这可能会在使用置放群组时导致容量不足错误 (ICEs)。您可以通过在集群配置中禁用 `PlacementGroup` 群组设置来检查这种情况，以确定集群是否可以分配实例。