2014-09-04 11 views

답변

0

AccountingStorageEnforce 매개 변수를 associationsslurm.conf으로 설정하는 것이 좋습니다.

AccountingStorageEnforce 이것은 작업 제출에 부과하는 연관 기반 적용 수준을 제어합니다. 유효한 옵션은 연관, 제한, nojobs, nosteps, qos, 안전 및 wckeys의 모든 조합이거나 모든 항목에 대해 입니다 (nojobs 및 nosteps를 예상하면 로 요청해야 함).

연결을 강제하면 시스템에 해당 연결이 없으면 새로운 작업을 실행할 수 없습니다. 제한이 적용되는 경우 사용자는 작업 크기 또는 실행 시간에 관계로 제한 될 수 있습니다. 제한이 정의됩니다.

그런 다음 sacctmgr 명령을 사용하면 기본 계정에 정의 된 파티션에 대한 액세스 권한이 없는지 확인하십시오. 효과적으로 사용자가 유효한 계정을 지정하지 않으면 제출이 거부됩니다.

또 다른 옵션은 루아에서 작성할 수있는 사용자 정의 submission plugin을 작성하는 것입니다. 해당 스크립트에서 --account 매개 변수가 설정되었는지 여부를 확인할 수 있고 그렇지 않은 경우 사용자 지정 메시지로 제출을 거부 할 수 있습니다.

1

나는 사용자가 계정을 지정하도록 강제하는 것과 동일한 요구 사항을 가지고 있으며, slurm을 사용하여이를 수행하는 여러 가지 방법을 찾은 후이 게시물을 가장 짧고/쉬운 해결책으로 되살리기로 결정했습니다.

slurm lua 제출 플러그인은 기본 계정이 적용되기 전에 작업 설명을 봅니다. 그러므로 slurm-lua 패키지를 설치하고, "JobSubmitPlugins = lua"를 slurm.conf에 추가하고, slurmctld를 다시 시작하고, job_submit.lua 스크립트를 통해 계정이 정의되었는지 여부를 직접 테스트 할 수 있습니다. slurm.conf, 일반적으로/등/slurm /) :

-- /etc/slurm/job_submit.lua to reject jobs with no account specified 

function slurm_job_submit(job_desc, part_list, submit_uid) 
    if job_desc.account == nil then 
      slurm.log_error("User %s did not specify an account.", job_desc.user_id) 
      slurm.log_user("You must specify an account!") 
      return slurm.ERROR 
    end 
    return slurm.SUCCESS 
end 

function slurm_job_modify(job_desc, job_rec, part_list, modify_uid) 
    return slurm.SUCCESS 
end 

return slurm.SUCCESS 
계정을 지정하지 인한

오류로 표시는 다음과 같습니다 이러한 오류도되도록 slurmctld 로그에 인쇄되어

# srun --pty bash 
srun: error: You must specify an account! 
srun: error: Unable to allocate resources: Unspecified error 

# sbatch submit.slurm 
sbatch: error: You must specify an account! 
sbatch: error: Batch job submission failed: Unspecified error 

특정 작업에 리소스 할당 문제가 무엇인지 알 수 있습니다.

[2017-09-12T08:32:00.697] error: job_submit.lua: User 0 did not specify an account. 
[2017-09-12T08:32:00.697] _slurm_rpc_submit_batch_job: Unspecified error 

부록으로, Slurm Submit Plugins Guide은 중간 정도의 유용성을 가지므로 Lua job_submit plugin implementation의 지침을 검토하는 것이 훨씬 나을 것입니다.