本文最后更新于 584 天前,其中的信息可能已经有所发展或是发生改变。
在工作中接到反馈,用户的新建账户newaccount从登录节点向指定的分区提交任务失败,相应目录下也没有日志生成。登录到用户的节点尝试提交任务:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[newaccount@login_node3 ~]$ cat test.sh #!/bin/bash #SBATCH -o job.%j.out #SBATCH --partition=customerpartition #SBATCH -J test_job #SBATCH --nodes=1 #SBATCH --ntask-per-node=1 hostname [newaccount@login_node3 ~]$ sbatch test.sh Submitted batch job 11451419 [newaccount@login_node3 ~]$ squeue --job 11451419 JOBID PARTITION NAME USER ST TIME NODES NODELUST(REASON) [newaccount@login_node3 ~]$ sacct | grep 11451419 11451419 test_job customerparition test 24 FAILED 1:0 [newaccount@login_node3 ~]$ scontronl show job JobId=11451419 JobName=test_job UserId=newaccount(1141) GroupId=test(5141) MCS_label=N/A Priority=1 Nice=0 Account=newaccount QOS=standby WCKey=*test Priority=FAILED REASON=NonZeroExitCode Dependency=(null) …… |
观察该任务确实提交失败,且执行 ls 命令确定目录下没有相关日志生成。首先考虑账户配置错误被分区拒绝提交任务。
1 2 3 4 |
[newaccount@login_node3 ~]$ yhcontrol show partitions ParitionName=customerpartitions AllowGroup=All AllowAccount=All AllowQus=All …… |
确认该用户授权正常,理论上可以提交。下一步考虑是否为任务路径问题
1 2 3 4 5 |
[newaccount@login_node3 ~]$ pwd /home/newaccount [root@manager_node ~]$ yhuserlist | grep newaccount newaccount:x:1145:1419:newaccount:/home/newaccount:/bin/bash |
盘阵的目录在 /net_stroage/ 下,此时明显观察到出现了问题。尝试将测试文件迁移目录并执行任务
1 2 3 4 5 6 7 8 |
[newaccount@login_node3 ~]$ mv test.sh /net_storage;cd /net_storage;sbatch test.sh Submitted batch job 41919810 [newaccount@login_node3 net_storage]$ scontrol show job|grep 41919810 JobId=41919810 JobName=test_job StdErr=/net_storage/job.41919810.out StdOut=/net_storage/job.41919810.out [newaccount@login_node3 net_storage]$ cat job.41919810.out cn500 |
任务执行成功,此时可以确定该问题是由于用户的任务执行路径配置错误导致,所以在管理节点修改一下用户的home目录位置即可。
1 2 3 4 5 6 7 8 |
[root@manager_node ~]$ mkdir /net_storage/home/newaccount [root@manager_node ~]$ chown newaccount /net_storage/home/newaccount [root@manager_node ~]$ chmod 755 /net_storage/home/newaccount [root@manager_node ~]$ yhusermod -d /net_storage/home/newaccount newaccount [root@login_node3 ~]$ nscd -i passwd [root@login_node3 ~]$ nscd -i group [root@login_node3 ~]$ nscd -i hosts |
修改后通知用户再次提交任务,提交成功,问题解决。