本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
嘗試更新叢集
下節針對您嘗試更新叢集時可能發生的問題,提供可能的疑難排解解決方案。
pcluster update-cluster 命令無法在本機執行
如需失敗詳細資訊,~/.parallelcluster/pcluster-cli.log請參閱本機檔案系統中的 。
使用 clusterStatus UPDATE_FAILEDpcluster describe-cluster命令查看
根本原因
為了識別失敗的根本原因,起點是查看叢集堆疊事件和前端節點/var/log/chef-client.log中的 。
可能的原因是至少有一個叢集節點未套用更新。您可以在 日誌/var/log/chef-client.log中尋找 ,以擷取無法在前端節點Check cluster readiness中更新之節點的清單。
檢查 GitHub 上的 GitHub 已知問題
防止
如果叢集中至少有一個節點未成功套用更新,則叢集更新可能會失敗。為了降低叢集更新失敗的風險,建議您在啟動更新之前終止中斷的節點。可能中斷的節點範例是運算節點處於 COMPLETING 狀態的時間超過預期的 epilog 持續時間。若要偵測這些節點,您可以執行下列命令,根據您的需求調整 threshold值 (該值必須大於對 epilogs 預期的最長持續時間)。
$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 未執行時對叢集更新逾時進行故障診斷以疑難排解並從問題中復原。