Isilon: 장기 실행 최종 작업을 재시작하는 작업
Summary: 장기 실행 최종 작업으로 인해 작업의 진행 상황이 표시되지 않습니다.
Symptoms
이 문제는 모든 작업에서 볼 수 있으며, 가장 일반적으로 jobs(Collect, IntegrityScan) 및 restriping jobs(SmartPools, AB/ABL, FP/FPL)을 클릭합니다.
시스템 작업은 단계당 마지막 몇 가지 작업을 수행하는 동안 진행률을 표시하지 않을 수 있습니다.
검토할 때 자주 삭제되는 작업 결과가 표시됩니다. isi_job_d.log 작업이 재시작될 때.
이로 인해 하나 이상의 최종 작업이 비활성화되기 전에 완료할 수 없기 때문에 작업이 완료되지 않을 수 있습니다.
이는 동일한 제외 세트에서 우선 순위가 높은 작업이 실행되기 시작하는 경우와 같은 여러 가지 이유로 발생합니다.
실행 중인 작업의 한계에 도달하고 우선 순위가 더 높은 최신 작업이 실행되기 시작했기 때문일 수도 있습니다.
다른 가능한 문제로는 작업 엔진 자체 또는 잠금 경합, 노드 분할, 노드 재부팅/패닉, 시스템 성능과 같은 클러스터 문제, 그리고 기타 가능한 원인이 있을 수 있습니다.
Cause
작업의 상태를 변경하고 태스크를 다시 시작할 수 있는 대기 중 또는 실행 중인 작업을 확인합니다.
대기 중 또는 실행 중 상태 변경 횟수가 많은 경우 작업을 살펴보고 우선순위를 확인합니다.
시작하는 다른 작업의 우선순위가 더 높은 경우(1이 가장 높은 우선순위임) 작업이 대기 상태로 전환될 수 있습니다.
라이브를 확인하려면:
isi job events list --job-id=<JobID>
isi_for_array -sQ 'grep -hi "<JobName>.*Run\|<JobName>.*Wait" /var/log/messages' |sort -u |tail
로그를 체크인하려면 다음을 수행합니다.
zgrep -h '<JobName>.*Run\|<JobName>.*Wait' */varlog.tar/log/messages* |grep <JobID>|sort -u |tail
경우에 따라 동일한 작업 ID가 자주 다시 시작되고 성공적으로 완료할 수 없습니다.
여러 작업 ID가 자주 다시 시작될 수 있습니다.
두 경우 모두 작업이 대기 또는 일시 중지 상태로 전환되어 이전 단계에서 작업이 취소되지 않도록 해야 합니다.
작업 엔진 스로틀링으로 인해 발생할 수 있는 비활성화되거나 삭제된 작업을 확인합니다.
라이브를 확인하려면:
isi_for_array -sQ 'grep -hi "deactivat\|discard" /var/log/isi_job_d.log' |grep <JobName> | sort -u | tail
로그를 체크인하려면 다음을 수행합니다.
grep -hi "deactivat\|discard" *-*/varlog.tar/log/isi_job_d.log* |grep <JobName> |sort -u|tail
이 예에서는 FlexProtectLin 작업은 다음을 봅니다. "tid=28-1" 출력에서:
[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 }
아래 명령을 사용하여 현재 작업 수와 작업 중인 내용을 확인할 수 있습니다.
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;
갈다 JOBID 로 바꿉니다. JobID 해당 작업의 번호:--
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
다른 작업이 시작되어 작업이 대기 중이거나 자주 실행되는 것으로 확인되면 일시적으로 더 높은 우선 순위로 수정합니다.
우선 순위 2는 해당 작업이 해당 작업을 중단하지 않도록 하는 데 사용할 수 있으며 작업이 완료되면 기본값으로 반환될 수 있습니다.
지원 부서에 문의하고, 작업이 작업자를 제한하여 작업이 여러 번 삭제되는 것처럼 보이는 경우 이 KB 문서를 참조하십시오.