Isilon : Tâche redémarrant des tâches finales de longue durée
Summary: Les tâches n’affichent pas de progression en raison de tâches finales de longue durée.
Symptoms
Ce problème se produit sur toutes les tâches, le plus souvent marquant jobs(Collect, IntegrityScan) et restriping jobs(SmartPools, AB/ABL, FP/FPL).
Les tâches système peuvent ne pas afficher de progression lors de l’exécution des dernières tâches de chaque phase.
Les résultats de la tâche de suppression sont fréquents lors de la vérification isi_job_d.log au fur et à mesure que les tâches sont redémarrées.
Cela peut conduire à ce que la tâche ne soit jamais terminée, car une ou plusieurs tâches finales ne peuvent pas être effectuées avant d’être désactivées.
Cela se produit pour plusieurs raisons, par exemple lorsqu’une tâche de priorité plus élevée dans le même ensemble d’exclusions commence à s’exécuter.
Cela peut également être dû au fait que la limite des tâches en cours d’exécution est atteinte et qu’une nouvelle tâche de priorité plus élevée commence à s’exécuter.
D’autres problèmes peuvent être liés au moteur de tâches lui-même ou à des problèmes de cluster tels que le conflit d’accès au verrouillage, les divisions de nœuds, les redémarrages/erreurs graves des nœuds, les performances système et d’autres causes possibles.
Cause
Recherchez si la tâche est en attente ou en cours d’exécution et entraîne des changements d’état dans la tâche et le redémarrage des tâches.
Si vous constatez un nombre élevé de modifications d’état en attente ou en cours, examinez la tâche pour confirmer la priorité.
Si d’autres tâches démarrant ont une priorité plus élevée (1 étant la priorité la plus élevée), la tâche peut passer à l’attente.
Pour vérifier en direct :
isi job events list --job-id=<JobID>
isi_for_array -sQ 'grep -hi "<JobName>.*Run\|<JobName>.*Wait" /var/log/messages' |sort -u |tail
Pour archiver les journaux :
zgrep -h '<JobName>.*Run\|<JobName>.*Wait' */varlog.tar/log/messages* |grep <JobID>|sort -u |tail
Parfois, le même ID de tâche redémarre fréquemment et ne parvient pas à s’exécuter correctement.
Il peut y avoir plusieurs ID de tâche qui redémarrent fréquemment.
Dans les deux cas, assurez-vous que la tâche n’est pas mise en attente ou suspendue, à l’origine des tâches ignorées avec les étapes précédentes.
Recherchez les tâches désactivées ou ignorées qui pourraient être dues à la régulation du moteur de tâches.
Pour vérifier en direct :
isi_for_array -sQ 'grep -hi "deactivat\|discard" /var/log/isi_job_d.log' |grep <JobName> | sort -u | tail
Pour archiver les journaux :
grep -hi "deactivat\|discard" *-*/varlog.tar/log/isi_job_d.log* |grep <JobName> |sort -u|tail
Dans cet exemple, le même ID de tâche est ignoré pour le FlexProtectLin L’emploi examine "tid=28-1" Dans la sortie :
[martid32@elvis 2024-10-29_20-31]$ zgrep -hi "deactivat\|discard" *-*/varlog.tar/log/isi_job_d.log* |grep 'FlexProtectLin jid=6894' |sort -u |tail
2024-10-10T06:01:53.217905-05:00 <3.6> CLUSTER-22(id22) isi_job_d[92144]: Worker 12 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=57916 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-11T11:50:02.236664-05:00 <3.6> CLUSTER-5(id5) isi_job_d[79762]: Worker 77 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=60525 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-11T16:24:26.930667-05:00 <3.6> CLUSTER-7(id7) isi_job_d[68876]: Worker 21 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=58508 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-11T19:14:46.876445-05:00 <3.6> CLUSTER-11(id11) isi_job_d[28510]: Worker 39 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=60665 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-11T20:30:49.232915-05:00 <3.6> CLUSTER-8(id8) isi_job_d[58489]: Worker 20 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=74387 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T00:09:39.969852-05:00 <3.6> CLUSTER-26(id26) isi_job_d[12284]: Worker 13 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=58255 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T00:39:46.999158-05:00 <3.6> CLUSTER-2(id2) isi_job_d[78458]: Worker 485 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=58365 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T01:18:53.867843-05:00 <3.6> CLUSTER-11(id11) isi_job_d[28510]: Worker 53 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=60666 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T02:21:01.143101-05:00 <3.6> CLUSTER-28(id28) isi_job_d[11777]: Worker 18 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=58221 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T03:19:07.198836-05:00 <3.6> CLUSTER-1(id1) isi_job_d[87488]: Worker 561 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=60128 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
Les commandes ci-dessous peuvent être utilisées pour confirmer le nombre actuel de tâches et la nature sur laquelle elles fonctionnent :
for i in $(isi job list|grep '^[0-9].*Running'|awk '{print $1}'); do isi job view $i; isi job statistics view -v --job-id=$i|grep -o 'Workers: [0-9]*'|sort |uniq -c; echo $(find /ifs/.ifsvar/modules/jobengine/cp/$i/tasks -type f | wc -l) tasks remaining; done;
Remplacer JOBID avec l' JobID numéro de l’emploi en question :
isi_for_array -XQ 'for n in $(sysctl efs.bam.busy_vnodes | grep "pid $(pgrep -f JOBID)" | egrep -o "[[:alnum:]]{1,4}:[[:alnum:]]{1,4}:[[:alnum:]]{1,4}"|sort|uniq); do isi get -L "$n" 2>&1; done' | grep -v 'job_d\|modules/jobengine' | sort | uniq -c
Resolution
S’il vous est confirmé que la tâche est en attente ou s’exécute fréquemment en raison du démarrage d’autres tâches, définissez temporairement la priorité sur une priorité plus élevée.
La priorité 2 peut être utilisée pour empêcher les tâches d’interrompre la tâche concernée et peut être rétablie sur les valeurs par défaut une fois la tâche terminée.
Contactez le support pour obtenir de l’aide et reportez-vous à cet article de la base de connaissances si la tâche semble limiter les travailleurs, ce qui entraîne le rejet de la tâche à plusieurs reprises.