クラスターの更新を試行する - AWS ParallelCluster

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クラスターの更新を試行する

次のセクションでは、クラスターを更新しようとして問題が発生した場合に役立つトラブルシューティングソリューションを示します。

pcluster update-cluster コマンドのローカル実行に失敗する

失敗の詳細について、ローカルファイルシステムの ~/.parallelcluster/pcluster-cli.log を確認します。

pcluster describe-cluster コマンドで clusterStatusUPDATE_FAILED であることが表示されている

ルートの原因

失敗の根本原因を特定するには、まずヘッドノード/var/log/chef-client.logのクラスタースタックイベントと を確認します。

考えられる原因は、少なくとも 1 つのクラスターノードが更新を適用しなかったことです。ヘッドノード/var/log/chef-client.logで の更新に失敗したノードのリストを取得するには、 ログCheck cluster readinessで を探します。

問題が GitHub の にある GitHub の既知の問題 AWS ParallelCluster に記載されているかどうかを確認します。 GitHub

の防止

クラスター内の少なくとも 1 つのノードが更新を正常に適用しなかった場合、クラスターの更新が失敗する可能性があります。クラスターの更新に失敗するリスクを軽減するために、更新を開始する前に壊れたノードを終了することをお勧めします。ノードが壊れる可能性がある例として、予想されるエピックログ期間よりも長い間、コンピューティングノードが COMPLETING状態のままになることがあります。これらのノードを検出するには、次のコマンドを実行し、threshold値をニーズに合わせて調整します (値は、エピックログに予想される最大期間より大きくなければなりません)。

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

復旧

更新が失敗した場合、ロールバックはクラスターの状態を回復することが予想されるメカニズムです。

ロールバックが失敗した場合、クラスターの状態は決定的ではありません。この場合、障害の増幅を防ぐために停止clustermgtdした可能性があります。ヘッドノードで次のコマンドを実行して開始することをお勧めします。Python バージョンを、お使いのバージョンに同梱されている AWS ParallelCluster バージョンに適応させます。

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

クラスターの更新がタイムアウトになる

これは cfn-hup が実行されていないことに関連する問題の可能性があります。cfn-hup デーモンが外部の原因により終了させられる場合、自動的に再開されることはありません。cfn-hup が実行されていない場合、クラスターの更新中に CloudFormation スタックは期待どおりに更新プロセスを開始しますが、更新手順はヘッドノードでアクティブ化されず、最終的にスタックのデプロイはタイムアウトになります。詳細については、「cfn-hup が実行していない場合のクラスター更新タイムアウトのトラブルシューティング」を参照してトラブルシューティングと問題からの復旧を行ってください。