

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS ParallelCluster 故障診斷
<a name="troubleshooting"></a>

 AWS ParallelCluster 社群會維護 Wiki 頁面，在 [AWS ParallelCluster GitHub Wiki](https://github.com/aws/aws-parallelcluster/wiki/) 上提供許多疑難排解秘訣。如需已知問題的清單，請參閱[已知問題](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)

## 擷取和保留日誌
<a name="retrieving-and-preserve-logs"></a>

 日誌是疑難排解問題的實用資源。在使用日誌對 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) 文件。

## 對堆疊部署問題進行故障診斷
<a name="troubleshooting-stack-creation-failures"></a>

如果您的叢集無法建立並復原堆疊建立，您可以查看下列日誌檔案來診斷問題。您想要在這些日誌`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`。在大多數情況下，您不需要查看此日誌來疑難排解此類問題。

## 對多個佇列模式叢集的問題進行故障診斷
<a name="multiple-queue-mode"></a>

 本節與使用 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)

### 金鑰日誌
<a name="key-logs"></a>

 下表提供前端節點金鑰日誌的概觀：

`/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控制常駐程式 log. AWS ParallelCluster doesn 不會做出擴展決策。相反地，它只會嘗試啟動資源以滿足Slurm需求。它適用於擴展和配置問題、任務相關問題，以及任何排程器相關的啟動和終止問題。

以下是運算節點的重要備註：

`/var/log/cloud-init-output.log`  
這是 [cloud-init](https://cloudinit.readthedocs.io/) 日誌。它包含設定執行個體時執行的所有命令。它有助於對初始化問題進行故障診斷。

`/var/log/parallelcluster/computemgtd`  
這是 `computemgtd`日誌。它會在每個運算節點上執行，在極少數情況下監控節點，因為前端節點上的`clustermgtd`協助程式已離線。它有助於對非預期的終止問題進行故障診斷。

`/var/log/slurmd.log`  
這是Slurm運算協助程式日誌。它有助於對初始化和運算失敗相關問題進行故障診斷。

### **故障診斷節點初始化問題**
<a name="troubleshooting-node-initialization-issues"></a>

本節說明如何對節點初始化問題進行疑難排解。這包括節點無法啟動、開啟電源或加入叢集的問題。

**前端節點：**

適用的日誌：
+ `/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`失敗。如果您使用自訂 AMI 並修改`ResumeProgram`設定，請檢查 `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`日誌中顯示錯誤訊息。如果在叢集組態中指定預先安裝或安裝後指令碼，請檢查它們是否已成功執行。
  + 如果您使用自訂 AMI 修改Slurm組態，則可能會有Slurm相關的錯誤，導致運算節點無法加入叢集。如需排程器相關錯誤，請檢查`/var/log/slurmd.log`日誌。

### **對非預期的節點替換和終止進行故障診斷**
<a name="troubleshooting-unexpected-node-replacements-and-terminations"></a>

本節繼續探索如何對節點相關問題進行故障診斷，特別是當節點遭到意外取代或終止時。
+ **適用的日誌：**
  + `/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 的預期終止，特別是 Spot 終止。如果 `clustermgtd` 確定為運作狀態不佳，`computemgtd`則在運算節點上執行的 也可以採取動作來終止節點。檢查`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
      ```

### **取代、終止或關閉問題執行個體和節點的電源**
<a name="replacing-terminating-or-powering-down-problematic-instances-and-nodes"></a>
+ **適用的日誌：**
  + `/var/log/parallelcluster/clustermgtd` （前端節點）
  + `/var/log/parallelcluster/slurm_suspend.log` （前端節點）
+ 在大多數情況下， 會`clustermgtd`處理所有預期的執行個體終止動作。在`clustermgtd`日誌中查看 無法取代或終止節點的原因。
+ 對於失敗的動態節點[`scaledown_idletime`](scaling-section.md#scaledown-idletime)，請檢查`SuspendProgram`日誌中的 是否`SuspendProgram`以特定節點做為引數`slurmctld`呼叫 。請注意， 實際上`SuspendProgram`不會執行任何動作。相反地，它只會在呼叫時記錄。所有執行個體終止和`NodeAddr`重設都是由 完成`clustermgtd`。 會在 之後`SuspendTimeout`自動Slurm讓節點回到 `POWER_SAVING` 狀態。

### **故障診斷其他已知節點和任務問題**
<a name="troubleshooting-other-known-node-and-job-issues"></a>

 另一種已知問題類型是 AWS ParallelCluster 可能無法配置任務或做出擴展決策。發生這類問題時， AWS ParallelCluster 只會根據Slurm指示啟動、終止或維護資源。針對這些問題，請檢查`slurmctld`日誌以疑難排解這些問題。

## 對單一佇列模式叢集中的問題進行故障診斷
<a name="troubleshooting-issues-in-single-queue-clusters"></a>

**注意**  
從 2.11.5 版開始， AWS ParallelCluster 不支援使用 SGE或 Torque排程器。

 本節適用於沒有下列兩種組態之一的多個佇列模式的叢集：
+ 使用早於 2.9.0 和 SGE、 Torque或 Slurm任務排程器的 AWS ParallelCluster 版本啟動。
+ 使用 2 AWS ParallelCluster .9.0 版或更新版本和 SGE或 Torque任務排程器啟動。

**Topics**
+ [

### 金鑰日誌
](#key-logs-1)
+ [

### **故障診斷失敗的啟動和聯結操作**
](#troubleshooting-failed-launch-and-join-operations)
+ [

### 對擴展問題進行故障診斷
](#troubleshooting-scaling-issues)
+ [

### 故障診斷其他叢集相關問題
](#troubleshooting-other-cluster-related-issues)

### 金鑰日誌
<a name="key-logs-1"></a>

下列日誌檔案是前端節點的金鑰日誌。

對於 AWS ParallelCluster 2.9.0 版或更新版本：

`/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`監控排程器佇列並更新 Auto Scaling 群組。它適用於疑難排解與擴展節點相關的問題。

`/var/log/sqswatcher`  
這是 SGE和 Torque排程器的`sqswatcher`日誌。 會在成功初始化後`sqswatcher`處理運算執行個體傳送的執行個體就緒事件。它也會將運算節點新增至排程器組態。此日誌有助於疑難排解節點或節點無法加入叢集的原因。

以下是運算節點的金鑰日誌。

AWS ParallelCluster 2.9.0 版或更新版本

`/var/log/cloud-init-output.log`  
這是 Cloud init 日誌。它包含設定執行個體時執行的所有命令。它有助於對初始化問題進行故障診斷。

AWS ParallelCluster 2.9.0 之前的版本

`/var/log/cfn-init.log`  
這是 CloudFormation init 日誌。它包含設定執行個體時執行的所有命令。它有助於對初始化問題進行故障診斷

所有版本

`/var/log/nodewatcher`  
這是使用 `nodewatcher` SGE和 Torque排程器時，在每個運算節點上執行的`nodewatcher`日誌。如果節點處於閒置狀態，則會將其縮減。此日誌適用於與縮減資源相關的任何問題。

### **故障診斷失敗的啟動和聯結操作**
<a name="troubleshooting-failed-launch-and-join-operations"></a>
+ **適用的日誌：**
  + `/var/log/cfn-init-cmd.log` （前端節點和運算節點）
  + `/var/log/sqswatcher` （前端節點）
+ 如果節點無法啟動，請檢查`/var/log/cfn-init-cmd.log`日誌以查看特定錯誤訊息。在大多數情況下，節點啟動失敗是因為設定失敗。
+  如果運算節點在設定成功後仍無法加入排程器組態，請檢查`/var/log/sqswatcher`日誌以查看是否`sqswatcher`處理事件。在大多數情況下，這些問題都是因為 `sqswatcher` 未處理事件。

### 對擴展問題進行故障診斷
<a name="troubleshooting-scaling-issues"></a>
+ **適用的日誌：**
  + `/var/log/jobwatcher` （前端節點）
  + `/var/log/nodewatcher` （運算節點）
+ **擴展問題：**對於前端節點，請檢查`/var/log/jobwatcher`日誌，以查看`jobwatcher`協助程式是否計算了適當數量的必要節點，並更新了 Auto Scaling 群組。請注意， 會`jobwatcher`監控排程器佇列並更新 Auto Scaling 群組。
+ **縮減問題：**對於運算節點，請檢查問題節點上的`/var/log/nodewatcher`日誌，以了解節點縮減的原因。請注意，`nodewatcher`精靈會在閒置時縮減運算節點。

### 故障診斷其他叢集相關問題
<a name="troubleshooting-other-cluster-related-issues"></a>

一個已知問題是大規模叢集上的隨機運算備註失敗，特別是具有 500 個或更多運算節點的叢集。此問題與單一佇列叢集的擴展架構限制有關。如果您想要使用大規模叢集、正在使用 AWS ParallelCluster v2.9.0 或更新版本、正在使用 Slurm，而且想要避免此問題，您應該升級並切換到支援多個佇列模式的叢集。您可以執行 來執行此操作[`pcluster-config convert`](pcluster-config.md#pcluster-config-convert)。

對於ultra-large-scale叢集，可能需要對系統進行額外的調校。如需詳細資訊，請聯絡 支援。

## 置放群組和執行個體啟動問題
<a name="placement-groups-and-instance-launch-issues"></a>

若要取得最低的節點間延遲，請使用*置放群組*。置放群組可確保您的執行個體位於相同的網路骨幹上。如果提出請求時沒有足夠的執行個體可用，則會傳回`InsufficientInstanceCapacity`錯誤。若要降低在使用叢集置放群組時收到此錯誤的可能性，請將 [`placement_group`](cluster-definition.md#placement-group) 參數設定為 ，`DYNAMIC`並將 [`placement`](cluster-definition.md#placement) 參數設定為 `compute`。

如果您需要高效能共用檔案系統，請考慮使用 [FSx for Lustre](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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#concepts-placement-groups) 

## 無法取代的目錄
<a name="directories-cannot-be-replaced"></a>

下列目錄會在節點之間共用，且無法取代。

`/home`  
這包括預設的使用者主資料夾 (`/home/ec2_user`在 Amazon Linux 上、`/home/centos`在 上CentOS，以及在 `/home/ubuntu`上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 中的問題進行故障診斷
<a name="nice-dcv-troubleshooting"></a>

**Topics**
+ [

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

### Amazon DCV 執行個體類型記憶體
](#nice-dcv-troubleshooting-memory)
+ [

### Ubuntu Amazon DCV 問題
](#nice-dcv-troubleshooting-modules)

### Amazon DCV 的日誌
<a name="nice-dcv-troubleshooting-logs"></a>

Amazon DCV 的日誌會寫入 `/var/log/dcv/`目錄中的檔案。檢閱這些日誌有助於對問題進行疑難排解。

### Amazon DCV 執行個體類型記憶體
<a name="nice-dcv-troubleshooting-memory"></a>

執行個體類型至少應有 1.7 GB (GiB) 的 RAM 來執行 Amazon DCV。 Nano和 micro 執行個體類型沒有足夠的記憶體來執行 Amazon DCV。

### Ubuntu Amazon DCV 問題
<a name="nice-dcv-troubleshooting-modules"></a>

透過 Ubuntu 上的 DCV 工作階段執行 Gnome 終端機時，您可能無法自動存取透過登入 shell AWS ParallelCluster 提供的使用者環境。使用者環境提供 Openmpi 或 intelmpi 等環境模組，以及其他使用者設定。

Gnome 終端機的預設設定可防止 shell 作為登入 shell 啟動。這表示 shell 設定檔不會自動取得，也不會載入 AWS ParallelCluster 使用者環境。

若要正確取得 shell 描述檔並存取 AWS ParallelCluster 使用者環境，請執行下列其中一項操作：
+ 

**變更預設終端機設定：**

  1. 在 Gnome 終端機中選擇**編輯**功能表。

  1. 選取**偏好設定**，然後選取**設定檔**。

  1. 選擇**命令**，然後選取**執行命令做為登入 shell**。

  1. 開啟新的終端機。
+ **使用命令列來取得可用的設定檔：**

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

## 使用 AWS Batch 整合對叢集中的問題進行故障診斷
<a name="clusters-with-aws-batch-integration"></a>

 本節與具有 AWS Batch 排程器整合的叢集相關。

### 前端節點問題
<a name="head-node-issues"></a>

 與前端節點相關的設定問題可以與單一佇列叢集相同的方式進行故障診斷。如需有關這些問題的詳細資訊，請參閱[對單一佇列模式叢集中的問題進行故障診斷](#troubleshooting-issues-in-single-queue-clusters)。

### AWS Batch 多節點平行任務提交問題
<a name="troubleshooting-aws-batch-mnp"></a>

如果您在使用 AWS Batch 做為任務排程器時提交多節點平行任務時遇到問題，您應該升級至 2.5.0 AWS ParallelCluster 版。如果不可行，您可以使用主題中詳述的解決方法：[自行修補用於提交多節點平行任務的叢集 AWS Batch](https://github.com/aws/aws-parallelcluster/wiki/Self-patch-a-Cluster-Used-for-Submitting-Multi-node-Parallel-Jobs-through-AWS-Batch)。

### 運算問題
<a name="compute-issues"></a>

AWS Batch 會管理服務的擴展和運算層面。如果您遇到運算相關問題，請參閱 AWS Batch [疑難排解](https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html)文件以取得協助。

### 任務失敗
<a name="job-failures"></a>

如果任務失敗，您可以執行 ``awsbout``命令來擷取任務輸出。您也可以執行 ``awsbstat` -d`命令，以取得 Amazon CloudWatch 存放之任務日誌的連結。

## 資源無法建立時的故障診斷
<a name="troubleshooting-resource-fails-to-create"></a>

本節與叢集資源無法建立時有關。

當資源無法建立時，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：//[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 政策大小問題進行故障診斷
<a name="troubleshooting-policy-size-issues"></a>

請參閱 [IAM AWS STS 和配額、名稱要求和字元限制](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html)，以驗證連接到角色的受管政策配額。如果受管政策大小超過配額，請將政策分割為兩個或多個政策。如果您超過連接到 IAM 角色的政策數量配額，請建立其他角色，並在這些角色之間分配政策以符合配額。

## 其他支援
<a name="getting-support"></a>

如需已知問題的清單，請參閱主要 [GitHub Wiki](https://github.com/aws/aws-parallelcluster/wiki) 頁面或[問題](https://github.com/aws/aws-parallelcluster/issues)頁面。如有更緊急的問題，請聯絡 支援 或開啟[新的 GitHub 問題](https://github.com/aws/aws-parallelcluster/issues)。