

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 클러스터를 업데이트하려는 경우
<a name="troubleshooting-fc-v3-update-cluster"></a>

다음 섹션에서는 클러스터를 업데이트하는 동안 발생할 수 있는 문제에 대한 가능한 문제 해결 솔루션을 제공합니다.

## `pcluster update-cluster` 명령이 로컬에서 실행되지 않습니다.
<a name="update-cluster-failure-cli-v3"></a>

로컬 파일 시스템의 `~/.parallelcluster/pcluster-cli.log`에서 오류 세부 정보를 확인하세요.

## 클러스터 업데이트 제한 시간이 초과되었습니다.
<a name="update-cluster-failure-timeout-v3"></a>

`cfn-hup`가 실행되지 않는 것과 관련된 문제일 수 있습니다. `cfn-hup` 대몬(daemon)이 외부 원인으로 종료되면 자동으로 다시 시작되지 않습니다. `cfn-hup`가 실행되고 있지 않으면 클러스터 업데이트 중에 CloudFormation 스택이 예상대로 업데이트 프로세스를 시작하지만 헤드 노드에서 업데이트 절차가 활성화되지 않아 결국 스택 배포 시간이 초과됩니다. [`cfn-hup`이 실행 중이 아닐 때의 클러스터 업데이트 제한 시간 문제 해결](troubleshooting-v3-cluster-update-timeout.md)에서 자세한 내용을 참조하여 문제를 해결하세요.

## `clusterStatus`은(는) `UPDATE_FAILED`
<a name="update-cluster-failure-v3"></a>

### 근본 원인
<a name="update-cluster-failure-v3-root-causing"></a>

장애의 근본 원인을 식별하기 위해 시작점은 헤드 노드`/var/log/chef-client.log`에서 클러스터 스택 이벤트 및를 살펴보는 것입니다.

가능한 원인은 하나 이상의 클러스터 노드가 업데이트를 적용하지 않았기 때문입니다. 로그`/var/log/chef-client.log`에서를 찾아 헤드 노드의에서 업데이트하지 못한 노드 목록을 검색할 수 `Check cluster readiness` 있습니다.

[GitHub 알려진 문제에](https://github.com/aws/aws-parallelcluster/wiki) 문제가 언급되어 있는지 확인합니다. AWS ParallelCluster GitHub

### 방지
<a name="update-cluster-failure-v3-preventing"></a>

클러스터에 있는 하나 이상의 노드가 업데이트를 성공적으로 적용하지 못하면 클러스터 업데이트가 실패할 수 있습니다. 클러스터 업데이트 실패 위험을 줄이려면 업데이트를 시작하기 전에 손상된 노드를 종료하는 것이 좋습니다. 중단될 수 있는 노드의 예로는 예상 에픽 지속 시간보다 오래 `COMPLETING` 상태로 멈춘 컴퓨팅 노드가 있습니다. 이러한 노드를 감지하려면 다음 명령을 실행하여 필요에 맞게 `threshold` 값을 조정할 수 있습니다(값은 에픽에 대해 예상되는 최대 기간보다 커야 함).

```
$ scontrol show nodes --json | jq -r --argjson threshold 60 '
  .nodes[] | select(.state | index("COMPLETING")) |
  select((now - .last_busy.number) > $threshold) |
  .name
'
```

### 복구 중
<a name="update-cluster-failure-v3-recovering"></a>

업데이트가 실패하면 롤백은 클러스터의 상태를 복구할 것으로 예상되는 메커니즘입니다.

 롤백에 실패한 경우 클러스터 상태는 결정적이지 않습니다. 이 경우 실패의 증폭을 방지하기 위해가 `clustermgtd` 중지되었을 수 있습니다. 헤드 노드에서 다음 명령을 실행하여 시작하는 것이 좋습니다. Python 버전을 버전과 함께 제공되는 AWS ParallelCluster 버전으로 조정합니다.

```
$ /opt/parallelcluster/pyenv/versions/{{3.12.11}}/envs/cookbook_virtualenv/bin/supervisorctl start clustermgtd
```

### `clusterStatus`는 `UPDATE_FAILED` 이고는 `cloudFormationStackStatus`입니다. `UPDATE_ROLLBACK_FAILED`
<a name="update-cluster-failure-rollback-failed-v3"></a>

 `clusterStatus`가 `UPDATE_FAILED` `cloudFormationStackStatus`이고이 `pcluster describe-cluster`인 경우 클러스터 업데이트와 후속 롤백이 `UPDATE_ROLLBACK_FAILED`모두 실패했습니다. 이 상태에서 클러스터 스택은 추가 업데이트를 수락할 수 없으며 수동 개입을 차단 해제해야 합니다.

클러스터 스택의 차단을 해제하려면 다음 단계를 완료합니다.

1. 실패의 근본 원인을 해결합니다.

1. 롤백을 강제로 계속합니다.

   ```
   $ aws cloudformation continue-update-rollback --region {{REGION}} --stack-name {{CLUSTER_STACK_NAME}}
   ```

1. 스택이 `UPDATE_ROLLBACK_COMPLETE` 상태에 도달할 때까지 기다립니다.

1. `pcluster update-cluster` 명령을 사용하여 원래 업데이트를 다시 시도합니다.

## 클러스터 스택이 `UPDATE_IN_PROGRESS` 또는에 멈춘 것처럼 보임 `UPDATE_ROLLBACK_IN_PROGRESS`
<a name="update-cluster-stuck-in-progress-v3"></a>

 로그인 노드의 부트스트랩 실패로 인해 로그인 노드 Auto Scaling 그룹이 안정화되지 않는 경우 클러스터 스택이 최대 1시간 `UPDATE_ROLLBACK_IN_PROGRESS` 동안 `UPDATE_IN_PROGRESS` 또는 멈출 수 있습니다.

 로그인 노드 Auto Scaling 그룹으로 인해이 상황에 있는지 확인하려면 다음 검사를 수행해야 합니다. 기본 스택에서에 있는 유일한 리소스는 로그인 노드 중첩 스택`UPDATE_IN_PROGRESS`입니다. 로그인 노드 중첩 스택에서 멈춰 있는 유일한 리소스는 로그인 노드 Auto Scaling 그룹`UPDATE_IN_PROGRESS`입니다.

 이 시나리오에서는 업데이트가 완료될 때까지 1시간을 기다릴 필요가 없도록 업데이트를 취소할 수 있습니다.

```
$ aws cloudformation cancel-update-stack --region {{REGION}} --stack-name {{CLUSTER_STACK_NAME}}
```

 업데이트를 취소하면 롤백이 트리거됩니다. 롤백의 1시간 제한 시간을 줄일 수 없으므로 최악의 경우 롤백이 최종 상태에 도달할 때까지 기다려야 합니다.

 롤백에 성공하면 실패의 근본 원인을 해결한 후 즉시 원래 클러스터 업데이트를 다시 시도할 수 있습니다. 그렇지 않으면 [`clusterStatus`는 `UPDATE_FAILED` 이고는 `cloudFormationStackStatus`입니다. `UPDATE_ROLLBACK_FAILED`](#update-cluster-failure-rollback-failed-v3) 단원을 참조하세요.