

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

# AWS ParallelCluster 故障排除
问题排查

 AWS ParallelCluster 社区维护着一个 Wiki 页面，在 [AWS ParallelCluster GitHub Wi](https://github.com/aws/aws-parallelcluster/wiki/) ki 上提供了许多疑难解答技巧。有关已知问题的列表，请参阅[已知问题](https://github.com/aws/aws-parallelcluster/wiki#known-issues-)。

**Topics**
+ [

## 检索和保留日志
](#retrieving-and-preserve-logs)
+ [

## 排查堆栈部署问题
](#troubleshooting-stack-creation-failures)
+ [

## 排查多队列模式集群中的问题
](#multiple-queue-mode)
+ [

## 排查单队列模式集群中的问题
](#troubleshooting-issues-in-single-queue-clusters)
+ [

## 置放群组和实例启动问题
](#placement-groups-and-instance-launch-issues)
+ [

## 无法替换的目录
](#directories-cannot-be-replaced)
+ [

## 排查 Amazon DCV 中的问题
](#nice-dcv-troubleshooting)
+ [

## 通过 AWS Batch 集成对集群中的问题进行故障排除
](#clusters-with-aws-batch-integration)
+ [

## 资源创建失败时排查问题
](#troubleshooting-resource-fails-to-create)
+ [

## 排查 IAM 策略大小问题
](#troubleshooting-policy-size-issues)
+ [

## 其他支持
](#getting-support)

## 检索和保留日志


 日志是用于排查问题的有用资源。在使用日志对 AWS ParallelCluster 资源进行问题排查之前，应先创建集群日志存档。按照 [AWS ParallelCluster GitHub Wiki](https://github.com/aws/aws-parallelcluster/wiki/) 上[创建集群日志存档](https://github.com/aws/aws-parallelcluster/wiki/Creating-an-Archive-of-a-Cluster's-Logs)主题中描述的步骤开始此过程。

如果您的一个正在运行的集群遇到问题，则应在开始排查问题之前，通过运行 ``pcluster stop` <cluster_name>` 命令将该集群置于 `STOPPED` 状态。这样可以防止产生任何意外成本。

 如果 `pcluster` 停止运行，或者您想删除集群但仍保留其日志，请运行 ``pcluster delete` —keep-logs <cluster_name>` 命令。运行此命令会删除集群，但保留存储在 Amazon 中的日志组 CloudWatch。有关此命令的更多信息，请参阅 [`pcluster delete`](pcluster.delete.md) 文档。

## 排查堆栈部署问题


如果您的集群创建失败并回滚堆栈创建，则可以通过查看以下日志文件来诊断问题。您需要在这些日志中找到 `ROLLBACK_IN_PROGRESS` 的输出。失败消息的内容应与以下内容类似：

```
$ pcluster create mycluster
Creating stack named: parallelcluster-mycluster
Status: parallelcluster-mycluster - ROLLBACK_IN_PROGRESS                        
Cluster creation failed.  Failed events:
  - AWS::EC2::Instance MasterServer Received FAILURE signal with UniqueId i-07af1cb218dd6a081
```

要诊断问题，请使用 [`pcluster create`](pluster.create.md)（包括 `--norollback` 标志）重新创建该集群。然后，SSH 登录到该集群：

```
$ pcluster create mycluster --norollback
...
$ pcluster ssh mycluster
```

登录到头节点后，您应该可以找到三个主要的日志文件，可以用它们来精准确定错误。
+ `/var/log/cfn-init.log` 是 `cfn-init` 脚本的日志。首先查看此日志。在此日志中，您可能会看到类似“`Command chef failed`”的错误。查看此行前面的几行，了解与该错误消息相关的更多细节。有关更多信息，请参阅 [cfn-init](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html)。
+ `/var/log/cloud-init.log` 是 [cloud-init](https://cloudinit.readthedocs.io/) 的日志。如果您在 `cfn-init.log` 中没有看到任何内容，请接下来尝试查看此日志。
+ `/var/log/cloud-init-output.log` 是 [cloud-init](https://cloudinit.readthedocs.io/) 运行的命令的输出。这包括 `cfn-init` 的输出。在大多数情况下，排查此类问题无需查看此日志。

## 排查多队列模式集群中的问题


 本节与使用 2.9.0 及更高 AWS ParallelCluster 版本使用Slurm作业调度程序安装的集群相关。有关多队列模式的更多信息，请参阅[多队列模式](queue-mode.md)。

**Topics**
+ [

### 关键日志
](#key-logs)
+ [

### **排查节点初始化问题**
](#troubleshooting-node-initialization-issues)
+ [

### **排查意外节点替换和终止问题**
](#troubleshooting-unexpected-node-replacements-and-terminations)
+ [

### **替换、终止或关闭有问题的实例和节点**
](#replacing-terminating-or-powering-down-problematic-instances-and-nodes)
+ [

### **排查其他已知的节点和作业问题**
](#troubleshooting-other-known-node-and-job-issues)

### 关键日志


 下表概述了头节点的关键日志：

`/var/log/cfn-init.log`  
 CloudFormation 这是初始化日志。其中包含设置实例时运行的所有命令。可以用它来排查初始化问题。

`/var/log/chef-client.log`  
这是 Chef 客户端日志。其中包含通过 Chef/CINC 运行的所有命令。可以用它来排查初始化问题。

`/var/log/parallelcluster/slurm_resume.log`  
这是 `ResumeProgram` 日志。它启动动态节点的实例，可用于排查动态节点启动问题。

`/var/log/parallelcluster/slurm_suspend.log`  
这是 `SuspendProgram` 日志。在终止动态节点的实例时会调用该日志，可用于排查动态节点终止问题。查看此日志时，还应检查 `clustermgtd` 日志。

`/var/log/parallelcluster/clustermgtd`  
这是 `clustermgtd` 日志。它作为集中式进程守护程序运行，用于管理大多数集群操作。可以用它来排查任何启动、终止或集群操作问题。

`/var/log/slurmctld.log`  
这是Slurm控制守护程序日志。 AWS ParallelCluster 不会做出扩展决策。相反，它只会尝试启动资源来满足 Slurm 的要求。它可用于排查扩展和分配问题、与作业相关的问题以及与调度器相关的任何启动和终止问题。

以下是计算节点的关键说明：

`/var/log/cloud-init-output.log`  
这是 [cloud-init](https://cloudinit.readthedocs.io/) 日志。其中包含设置实例时运行的所有命令。可以用它来排查初始化问题。

`/var/log/parallelcluster/computemgtd`  
这是 `computemgtd` 日志。它在每个计算节点上运行，用于在头节点上的 `clustermgtd` 进程守护程序离线的罕见事件中监控节点。可以用它来排查意外终止问题。

`/var/log/slurmd.log`  
这是 Slurm 计算进程守护程序日志。可以用它来排查初始化和计算失败相关问题。

### **排查节点初始化问题**


本节介绍如何排查节点初始化问题。这包括节点无法启动、开机或加入集群的问题。

**头节点：**

适用日志：
+ `/var/log/cfn-init.log`
+ `/var/log/chef-client.log`
+ `/var/log/parallelcluster/clustermgtd`
+ `/var/log/parallelcluster/slurm_resume.log`
+ `/var/log/slurmctld.log`

检查 `/var/log/cfn-init.log` 和 `/var/log/chef-client.log` 日志。这些日志应包含设置头节点时运行的所有操作。设置过程中发生的大多数错误的错误消息应该都包含在 `/var/log/chef-client.log` 日志中。如果在集群的配置中指定了预安装或安装后脚本，请通过日志消息仔细检查脚本是否成功运行。

创建集群时，头节点必须等待计算节点加入集群，然后才能加入集群。因此，如果计算节点加入集群失败，则头节点也会失败。根据您使用的计算节点的类型，您可以按照其中一组过程来排查此类问题：

**动态计算节点：**
+ 搜索计算节点名称的 `ResumeProgram` 日志 (`/var/log/parallelcluster/slurm_resume.log`) 以查看是否对该节点调用过 `ResumeProgram`。（如果`ResumeProgram`从未被调用，则可以查看`slurmctld`日志 (`/var/log/slurmctld.log`) 以确定是否尝试Slurm过`ResumeProgram`与该节点调用。）
+ 请注意，`ResumeProgram` 的权限不正确可能会导致 `ResumeProgram` 静默失败。如果您使用的是修改了 `ResumeProgram` 设置的自定义 AMI，请检查该 `ResumeProgram` 是否由 `slurm` 用户拥有并具有 `744` (`rwxr--r--`) 权限。
+ 如果调用了 `ResumeProgram`，请查看是否为该节点启动了实例。如果未启动任何实例，则应该能够看到一条描述启动失败的错误消息。
+ 如果启动了实例，则在设置过程中可能出现了问题。您应该会从 `ResumeProgram` 日志中看到相应的私有 IP 地址和实例 ID。此外，您可以查看特定实例的相应设置日志。有关排查计算节点设置错误的更多信息，请参阅下一节。

 **静态计算节点：**
+ 检查 `clustermgtd` (`/var/log/parallelcluster/clustermgtd`) 日志，查看是否为该节点启动了实例。如果它们没有启动，则应该有明确的错误消息详细说明启动失败的原因。
+ 如果启动了实例，则表示设置过程中出现了问题。您应该会从 `ResumeProgram` 日志中看到相应的私有 IP 地址和实例 ID。此外，您可以查看特定实例的相应设置日志。
+ **计算节点：**
  + **适用日志：**
    + `/var/log/cloud-init-output.log`
    + `/var/log/slurmd.log`
  + 如果启动了计算节点，请先检查 `/var/log/cloud-init-output.log`，其中应包含类似于头节点 `/var/log/chef-client.log` 日志的设置日志。设置过程中发生的大多数错误的错误消息应该都包含在 `/var/log/cloud-init-output.log` 日志中。如果在集群配置中指定了预安装或安装后脚本，请检查它们是否成功运行。
  + 如果您使用的是修改了 Slurm 配置的自定义 AMI，则可能存在阻止计算节点加入集群的 Slurm 相关错误。对于与调度器相关的错误，请检查 `/var/log/slurmd.log` 日志。

### **排查意外节点替换和终止问题**


本节继续探讨如何排查节点相关问题，特别是在节点意外替换或终止时。
+ **适用日志：**
  + `/var/log/parallelcluster/clustermgtd`（头节点）
  + `/var/log/slurmctld.log`（头节点）
  + `/var/log/parallelcluster/computemgtd`（计算节点）
+  **节点意外替换或终止** 
  +  检查 `clustermgtd` 日志 (`/var/log/parallelcluster/clustermgtd`) 以查看 `clustermgtd` 是否执行了替换或终止节点的操作。请注意，`clustermgtd` 处理所有正常的节点维护操作。
  +  如果 `clustermgtd` 替换或终止了该节点，则应该会有详细说明为何对该节点执行此操作的消息。如果原因与调度器有关（例如，因为节点处于 `DOWN` 状态），请查看 `slurmctld` 日志以获取更多信息。如果原因与 Amazon EC2 有关，则应有信息性消息，详细说明需要该替换的 Amazon EC2 相关问题。
  +  如果`clustermgtd`没有终止节点，请先检查这是否是 Amazon EC2 的预期终止，更具体地说是即时终止。 `computemgtd`，在计算节点上运行，如果`clustermgtd`节点被确定为运行状况不佳，也可以采取措施终止节点。检查 `computemgtd` 日志 (`/var/log/parallelcluster/computemgtd`) 以查看 `computemgtd` 是否终止了该节点。
+  **节点失败** 
  + 检查 `slurmctld` 日志 (`/var/log/slurmctld.log`) 以查看作业或节点失败的原因。请注意，如果节点失败，作业会自动重新排队。
  + 如果 `slurm_resume` 报告该节点已启动，并且 `clustermgtd` 在几分钟后报告 Amazon EC2 中没有该节点的相应实例，则该节点可能在设置过程中失败。要从计算 (`/var/log/cloud-init-output.log`) 中检索日志，请执行以下步骤：
    + 提交一项作业以便让 Slurm 启动一个新节点。
    + 节点启动后，使用以下命令启用终止保护。

      ```
      aws ec2 modify-instance-attribute --instance-id i-xyz --disable-api-termination
      ```
    + 使用以下命令从该节点检索控制台输出。

      ```
      aws ec2 get-console-output --instance-id i-xyz --output text
      ```

### **替换、终止或关闭有问题的实例和节点**

+ **适用日志：**
  + `/var/log/parallelcluster/clustermgtd`（头节点）
  + `/var/log/parallelcluster/slurm_suspend.log`（头节点）
+ 在大多数情况下，`clustermgtd` 会处理所有预期的实例终止操作。检查 `clustermgtd` 日志以查看其无法替换或终止节点的原因。
+ 对于 [`scaledown_idletime`](scaling-section.md#scaledown-idletime) 失败的动态节点，请检查 `SuspendProgram` 日志以查看 `slurmctld` 是否以特定节点作为参数调用了 `SuspendProgram`。请注意，`SuspendProgram` 实际上并不执行任何操作，它只是记录被调用时的时间。所有实例终止和 `NodeAddr` 重置均由 `clustermgtd` 完成。经过 `SuspendTimeout` 之后，Slurm 会自动将节点置回 `POWER_SAVING` 状态。

### **排查其他已知的节点和作业问题**


 另一种已知问题是 AWS ParallelCluster 可能无法分配工作岗位或做出扩展决策。对于此类问题， AWS ParallelCluster 只能根据Slurm说明启动、终止或维护资源。对于这些问题，请查看 `slurmctld` 日志以排查问题。

## 排查单队列模式集群中的问题


**注意**  
从 2.11.5 版开始， AWS ParallelCluster 不支持使用SGE或Torque调度程序。

 本节适用于采用以下两种配置之一并且没有多队列模式的集群：
+ 使用 2.9.0 之前的 AWS ParallelCluster 版本和SGETorque、或Slurm作业调度器启动。
+ 使用 2.9.0 或更高 AWS ParallelCluster 版本和/或Torque作业调度SGE程序启动。

**Topics**
+ [

### 关键日志
](#key-logs-1)
+ [

### **排查启动和加入操作失败问题**
](#troubleshooting-failed-launch-and-join-operations)
+ [

### 排查扩展问题
](#troubleshooting-scaling-issues)
+ [

### 排查其他集群相关问题
](#troubleshooting-other-cluster-related-issues)

### 关键日志


以下日志文件是头节点的关键日志。

对于 2.9.0 或更高 AWS ParallelCluster 版本：

`/var/log/chef-client.log`  
这是 CINC (chef) 客户端日志。其中包含通过 CINC 运行的所有命令。可以用它来排查初始化问题。

对于所有 AWS ParallelCluster 版本：

`/var/log/cfn-init.log`  
这是 `cfn-init` 日志。其中包含设置实例时运行的所有命令，因此可用于排查初始化问题。有关更多信息，请参阅 [cfn-init](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html)。

`/var/log/clustermgtd.log`  
这是 Slurm 调度器的 `clustermgtd` 日志。`clustermgtd` 作为集中式进程守护程序运行，用于管理大多数集群操作。可以用它来排查任何启动、终止或集群操作问题。

`/var/log/jobwatcher`  
这是 SGE 和 Torque 调度器的 `jobwatcher` 日志。`jobwatcher` 监控调度器队列并更新自动扩缩组。可以用它来排查与纵向扩展节点相关的问题。

`/var/log/sqswatcher`  
这是 SGE 和 Torque 调度器的 `sqswatcher` 日志。`sqswatcher` 处理计算实例在成功初始化后发送的实例就绪事件。它还会向调度器配置中添加计算节点。可以使用此日志来排查一个或多个节点无法加入集群的问题。

以下是计算节点的关键日志。

AWS ParallelCluster 版本 2.9.0 或更高版本

`/var/log/cloud-init-output.log`  
这是云初始化日志。其中包含设置实例时运行的所有命令。可以用它来排查初始化问题。

AWS ParallelCluster 2.9.0 之前的版本

`/var/log/cfn-init.log`  
 CloudFormation 这是初始化日志。其中包含设置实例时运行的所有命令。可以用它来排查初始化问题

所有 版本

`/var/log/nodewatcher`  
这是 `nodewatcher` 日志。使用 SGE 和 Torque 调度器时每个计算节点上运行的 `nodewatcher` 进程守护程序。如果某个节点处于空闲状态，他们会缩减该节点。可以使用此日志来排查与缩减资源相关的任何问题。

### **排查启动和加入操作失败问题**

+ **适用日志：**
  + `/var/log/cfn-init-cmd.log`（头节点和计算节点）
  + `/var/log/sqswatcher`（头节点）
+ 如果节点启动失败，请检查 `/var/log/cfn-init-cmd.log` 日志以查看具体的错误消息。在大多数情况下，节点启动失败是由设置失败引起的。
+  如果计算节点虽然设置成功，但仍无法加入调度器配置，请检查 `/var/log/sqswatcher` 日志以查看 `sqswatcher` 是否处理了该事件。在大多数情况下，这些问题是因为 `sqswatcher` 未处理该事件。

### 排查扩展问题

+ **适用日志：**
  + `/var/log/jobwatcher`（头节点）
  + `/var/log/nodewatcher`（计算节点）
+ **纵向扩展问题：**对于头节点，检查 `/var/log/jobwatcher` 日志以查看 `jobwatcher` 进程守护程序是否计算出正确的所需节点数并更新了自动扩缩组。请注意，`jobwatcher` 会监控调度器队列并更新自动扩缩组。
+ **缩减问题：**对于计算节点，检查出问题节点上的 `/var/log/nodewatcher` 日志以查看缩减该节点的原因。请注意，`nodewatcher` 进程守护程序会缩减处于空闲状态的计算节点。

### 排查其他集群相关问题


一个已知问题是随机计算节点在大规模集群（特别是具有 500 或更多计算节点的集群）上失败。此问题与单队列集群的扩展架构限制有关。如果您要使用大型集群，正在使用 v2.9.0 或更高 AWS ParallelCluster 版本，正在使用并希望避免此问题Slurm，则应升级并切换到支持多队列模式的集群。您可以通过运行 [`pcluster-config convert`](pcluster-config.md#pcluster-config-convert) 来实现这一目的。

对于 ultra-large-scale集群，可能需要对系统进行额外调整。欲了解更多信息，请联系 支持。

## 置放群组和实例启动问题


为了获得最低的节点间延迟，请使用*置放群组*。置放群组可确保您的实例位于同一网络主干中。如果发出请求时没有足够的可用实例，则会返回 `InsufficientInstanceCapacity` 错误。要在使用集群置放群组时降低收到此错误的可能性，请将 [`placement_group`](cluster-definition.md#placement-group) 参数设置为 `DYNAMIC` 并将 [`placement`](cluster-definition.md#placement) 参数设置为 `compute`。

如果您需要高性能的共享文件系统，请考虑使用 for [Lustre FSx 。](https://aws.amazon.com/fsx/lustre/)

如果头节点必须位于置放群组中，则对头节点和所有计算节点使用相同的实例类型和子网。这样可确保 [`compute_instance_type`](cluster-definition.md#compute-instance-type) 参数与 [`master_instance_type`](cluster-definition.md#master-instance-type) 参数具有相同的值，[`placement`](cluster-definition.md#placement) 参数设置为 `cluster` 且未指定 [`compute_subnet_id`](vpc-section.md#compute-subnet-id) 参数。使用此配置时，[`master_subnet_id`](vpc-section.md#master-subnet-id) 参数的值用于计算节点。

有关更多信息，请参阅《Amazon EC2 用户指南》**中的[排查实例启动问题](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/troubleshooting-launch.html)和[置放群组角色和限制](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#concepts-placement-groups)

## 无法替换的目录


以下目录在节点之间共享，无法替换。

`/home`  
这包括默认用户主文件夹（在 Amazon Linux 上为 `/home/ec2_user`，在 CentOS 上为 `/home/centos`，在 Ubuntu 上为 `/home/ubuntu`）。

`/opt/intel`  
这包括 Intel MPI、Intel Parallel Studio 和相关文件。

`/opt/sge`  
从 2.11.5 版开始， AWS ParallelCluster 不支持使用SGE或Torque调度程序。
这包括 Son of Grid Engine 和相关文件。（有条件，仅当 [`scheduler`](cluster-definition.md#scheduler)` = sge` 时。）

`/opt/slurm`  
这包括 Slurm Workload Manager 和相关文件。（有条件，仅当 [`scheduler`](cluster-definition.md#scheduler)` = slurm` 时。）

`/opt/torque`  
从 2.11.5 版开始， AWS ParallelCluster 不支持使用SGE或Torque调度程序。
这包括 Torque Resource Manager 和相关文件。（有条件，仅当 [`scheduler`](cluster-definition.md#scheduler)` = torque` 时。）

## 排查 Amazon DCV 中的问题


**Topics**
+ [

### Amazon DCV 的日志
](#nice-dcv-troubleshooting-logs)
+ [

### Amazon DCV 实例类型内存
](#nice-dcv-troubleshooting-memory)
+ [

### Ubuntu Amazon DCV 问题
](#nice-dcv-troubleshooting-modules)

### Amazon DCV 的日志


Amazon DCV 的日志将写入 `/var/log/dcv/` 目录的文件中。查看这些日志有助于排查问题。

### Amazon DCV 实例类型内存


该实例类型应至少有 1.7 吉字节（GiB）的 RAM 才能运行 Amazon DCV。Nano 和 micro 实例类型没有足够的内存来运行 Amazon DCV。

### Ubuntu Amazon DCV 问题


在 Ubuntu 上通过 DCV 会话运行 Gnome 终端时，你可能无法自动访问通过登录外壳 AWS ParallelCluster 提供的用户环境。该用户环境提供 openmpi 或 intelmpi 等环境模块以及其他用户设置。

Gnome 终端的默认设置会阻止 Shell 作为登录 Shell 启动。这意味着 shell 配置文件不会自动获取，也不会加载 AWS ParallelCluster 用户环境。

要正确获取外壳配置文件并访问 AWS ParallelCluster 用户环境，请执行以下操作之一：
+ 

**更改默认终端设置：**

  1. 在 Gnome 终端中选择**编辑**菜单。

  1. 选择**首选项**，然后选择**配置文件**。

  1. 选择**命令**，然后选择**作为登录 Shell 运行命令**。

  1. 打开新终端。
+ **使用命令行获取可用的配置文件：**

  ```
  $ source /etc/profile && source $HOME/.bashrc
  ```

## 通过 AWS Batch 集成对集群中的问题进行故障排除


 本节与具有 AWS Batch 调度程序集成的集群相关。

### 头节点问题


 与头节点相关的设置问题可以按照与单队列集群相同的方式进行排查。有关这些问题的更多信息，请参阅[排查单队列模式集群中的问题](#troubleshooting-issues-in-single-queue-clusters)。

### AWS Batch 多节点 parallel 作业提交问题


如果在 AWS Batch 用作作业调度器时提交多节点 parallel 作业时遇到问题，则应升级到 2.5.0 AWS ParallelCluster 版。如果这不可行，则可以使用以下主题中详细介绍的解决方法：[Self patch a cluster used for submitting multi-node parallel jobs through AWS Batch](https://github.com/aws/aws-parallelcluster/wiki/Self-patch-a-Cluster-Used-for-Submitting-Multi-node-Parallel-Jobs-through-AWS-Batch)。

### 计算问题


AWS Batch 管理服务的扩展和计算方面。如果您遇到与计算相关的问题，请参阅 AWS Batch [故障排除](https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html)文档以获取帮助。

### 作业失败


如果作业失败，您可以运行 ``awsbout`` 命令来检索作业输出。您也可以运行``awsbstat` -d`命令以获取指向 Amazon 存储的任务日志的链接 CloudWatch。

## 资源创建失败时排查问题


本节内容与集群资源创建失败有关。

当资源创建失败时，会 ParallelCluster 返回如下错误消息。

```
pcluster create -c config my-cluster
Beginning cluster creation for cluster: my-cluster
WARNING: The instance type 'p4d.24xlarge' cannot take public IPs. Please make sure that the subnet with 
id 'subnet-1234567890abcdef0' has the proper routing configuration to allow private IPs reaching the 
Internet (e.g. a NAT Gateway and a valid route table).
WARNING: The instance type 'p4d.24xlarge' cannot take public IPs. Please make sure that the subnet with
id 'subnet-1234567890abcdef0' has the proper routing configuration to allow private IPs reaching the Internet 
(e.g. a NAT Gateway and a valid route table).
Info: There is a newer version 3.0.3 of AWS ParallelCluster available.
Creating stack named: parallelcluster-my-cluster
Status: parallelcluster-my-cluster - ROLLBACK_IN_PROGRESS                   
Cluster creation failed.  Failed events:
- AWS::CloudFormation::Stack MasterServerSubstack Embedded stack 
arn:aws:cloudformation:region-id:123456789012:stack/parallelcluster-my-cluster-MasterServerSubstack-ABCDEFGHIJKL/a1234567-b321-c765-d432-dcba98766789 
was not successfully created: 
The following resource(s) failed to create: [MasterServer]. 
- AWS::CloudFormation::Stack parallelcluster-my-cluster-MasterServerSubstack-ABCDEFGHIJKL The following resource(s) failed to create: [MasterServer]. 
- AWS::EC2::Instance MasterServer You have requested more vCPU capacity than your current vCPU limit of 0 allows for the instance bucket that the 
specified instance type belongs to. Please visit http://aws.amazon.com/contact-us/ec2-request to request an adjustment to this limit.  
(Service: AmazonEC2; Status Code: 400; Error Code: VcpuLimitExceeded; Request ID: a9876543-b321-c765-d432-dcba98766789; Proxy: null)
}
```

例如，如果您看到前一个命令响应中所示的状态消息，则必须使用不会超过当前 vCPU 限制或请求更多 vCPU 容量的实例类型。

您还可以使用 CloudFormation 控制台查看有关`"Cluster creation failed"`状态的信息。

从控制台查看 CloudFormation 错误消息。

1. 登录 AWS 管理控制台 并导航到 [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)。

1. 选择名为 parallelcluster-的堆栈。*cluster\$1name*

1. 选择**事件**选项卡。

1. 通过按**逻辑 ID** 滚动浏览资源事件列表，查看创建失败的资源的**状态**。如果子任务创建失败，请向后移动，找到失败的资源事件。

1.  AWS CloudFormation 错误消息示例：

   ```
   2022-02-07 11:59:14 UTC-0800	MasterServerSubstack	CREATE_FAILED	Embedded stack 
   arn:aws:cloudformation:region-id:123456789012:stack/parallelcluster-my-cluster-MasterServerSubstack-ABCDEFGHIJKL/a1234567-b321-c765-d432-dcba98766789
   was not successfully created: The following resource(s) failed to create: [MasterServer].
   ```

## 排查 IAM 策略大小问题


请参阅 [IAM 和 AWS STS 配额、名称要求和字符限制，](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html)以验证附加到角色的托管策略的配额。如果托管策略的大小超过配额，请将该策略拆分为两个或多个策略。如果附加到 IAM 角色的策略数超过配额，请创建额外角色并在这些角色之间分配策略，从而满足配额要求。

## 其他支持


有关已知问题的列表，请参阅 [GitHubWiki](https://github.com/aws/aws-parallelcluster/wiki) 主页面或[问题](https://github.com/aws/aws-parallelcluster/issues)页面。如需更紧急的问题，请联系 支持 或打开[新 GitHub问题](https://github.com/aws/aws-parallelcluster/issues)。