Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tentativo di aggiornare un cluster
La sezione seguente fornisce le possibili soluzioni per la risoluzione dei problemi che potrebbero verificarsi durante il tentativo di aggiornare un cluster.
Il comando pcluster update-cluster non viene eseguito localmente
Controlla ~/.parallelcluster/pcluster-cli.log nel tuo file system locale i dettagli dell'errore.
L'aggiornamento del cluster è scaduto
Potrebbe trattarsi di un problema legato alla cfn-hup mancata esecuzione. Se il cfn-hup demone viene eliminato per una causa esterna, non viene riavviato automaticamente. Se cfn-hup non è in esecuzione, durante un aggiornamento del cluster, CloudFormation lo stack avvia il processo di aggiornamento come previsto, ma la procedura di aggiornamento non viene attivata sul nodo principale e la distribuzione dello stack alla fine scade. Per ulteriori informazioni, consulta Risoluzione dei problemi relativi al timeout dell'aggiornamento del cluster quando cfn-hup non è in esecuzione la sezione per risolvere il problema e risolverlo.
ClusterStatus è UPDATE_FAILED
Causa principale
Per identificare la causa principale dell'errore, il punto di partenza è esaminare gli eventi dello stack del cluster e /var/log/chef-client.log il nodo principale.
Una possibile causa è che almeno un nodo del cluster non ha applicato l'aggiornamento. È possibile recuperare l'elenco dei nodi che non sono stati aggiornati /var/log/chef-client.log nel nodo principale cercando Check cluster readiness nel log.
Verifica se il tuo problema è menzionato in Problemi GitHub noti
Prevenzione
Un aggiornamento del cluster può fallire se almeno un nodo del cluster non ha applicato correttamente l'aggiornamento. Per ridurre il rischio di errori nell'aggiornamento del cluster, consigliamo di chiudere i nodi danneggiati prima di iniziare l'aggiornamento. Un esempio di nodi che potrebbero essere danneggiati sono i nodi di calcolo bloccati nello COMPLETING stato per un periodo superiore alla durata prevista dell'epilogo. Per rilevare tali nodi, puoi eseguire il comando seguente, adattando il threshold valore alle tue esigenze (il valore deve essere maggiore della durata massima prevista per i tuoi epiloghi).
$scontrol show nodes --json | jq -r --argjson threshold 60 ' .nodes[] | select(.state | index("COMPLETING")) | select((now - .last_busy.number) > $threshold) | .name '
Recupero
Se l'aggiornamento non riesce, il rollback è il meccanismo previsto per ripristinare lo stato del cluster.
Se il rollback non è riuscito, lo stato del cluster non è deterministico. In questo caso, è possibile che sia clustermgtd stato interrotto per impedire l'amplificazione dei guasti. Si consiglia di avviarlo eseguendo il seguente comando sul nodo principale. Adatta la versione di Python a quella fornita con la tua AWS ParallelCluster versione:
$/opt/parallelcluster/pyenv/versions/3.12.11/envs/cookbook_virtualenv/bin/supervisorctl start clustermgtd
ClusterStatus è UPDATE_FAILED e il cloud è UPDATE_ROLLBACK_FAILED FormationStackStatus
Quando pcluster describe-cluster segnala che lo è e lo clusterStatus è, sia l'aggiornamento del cluster che il successivo UPDATE_FAILED rollback cloudFormationStackStatus non sono riuscitiUPDATE_ROLLBACK_FAILED. In questo stato, lo stack del cluster non può accettare ulteriori aggiornamenti e richiede un intervento manuale per essere sbloccato.
Per sbloccare lo stack del cluster, completa i seguenti passaggi:
-
Correggi la causa principale dell'errore.
-
Forza la continuazione del rollback.
$aws cloudformation continue-update-rollback --regionREGION--stack-nameCLUSTER_STACK_NAME -
Attendi che lo stack raggiunga lo stato.
UPDATE_ROLLBACK_COMPLETE -
Riprova l'aggiornamento originale con il
pcluster update-clustercomando.
Lo stack del cluster appare bloccato in UPDATE_IN_PROGRESS o UPDATE_ROLLBACK_IN_PROGRESS
Lo stack del cluster potrebbe rimanere bloccato UPDATE_IN_PROGRESS o durare al massimo 1 ora, se UPDATE_ROLLBACK_IN_PROGRESS l'Auto Scaling Group dei nodi di accesso non riesce a stabilizzarsi a causa di errori di bootstrap nei nodi di accesso.
Per verificare se ti trovi in questa situazione a causa dei nodi di accesso Auto Scaling Group, devi effettuare i seguenti controlli: Nello stack principale, l'unica risorsa presente è lo stack annidato dei nodi di accesso. UPDATE_IN_PROGRESS Nello stack annidato dei nodi di accesso, l'unica risorsa bloccata sono i nodi di UPDATE_IN_PROGRESS accesso Auto Scaling Group.
Se ti trovi in questo scenario, puoi annullare l'aggiornamento in modo da non dover attendere 1 ora per il completamento dell'aggiornamento.
$aws cloudformation cancel-update-stack --regionREGION--stack-nameCLUSTER_STACK_NAME
L'annullamento dell'aggiornamento attiva il rollback. Non è possibile ridurre il timeout di 1 ora del rollback, quindi nel peggiore dei casi è necessario attendere che il rollback raggiunga lo stato finale.
Se il rollback ha esito positivo, puoi riprovare immediatamente l'aggiornamento originale del cluster dopo aver corretto la causa principale dell'errore. In caso contrario, consulta ClusterStatus è UPDATE_FAILED e il cloud è UPDATE_ROLLBACK_FAILED FormationStackStatus .