Q&A 常见问题及解答
这里收集用户的在集群使用过程中的典型问题并进行相关解答。
用户在集群使用过程中出现任何问题,欢迎到hpcde/cluster-docs: issues页面提交issue,或者邮件向管理员反馈:汪岸或储根深。
如果你有意愿想向该文档贡献内容,请fork该项目 https://github.com/hpcde/cluster-docs ,完成后pull request。
用户账户
Q: 为什么我能登录集群却不能使用计算节点?
A: 计算资源的使用权限由SLURM管理(sacctmgr),如果权限没有正确添加,请联系管理员。
Q: 我如何修改密码?
A: 在登录节点使用命令yppasswd
。如果无法正常修改密码,或修改密码后提交作业失败、无法连接计算节点,请联系管理员。集群目前使用NIS管理Linux用户账户,使用普通的passwd
修改密码后不一定会及时更新NIS信息。
存储资源
Q: 磁盘空间不够怎么办?
A: 文件应该尽可能放在$HOME/data/
中,该目录中的数据存放在集群的存储节点上,空间较大。
Q: 为什么我的data目录不见了/无法使用?
A: $HOME/data
只是/data/$USER/
的一个软链接,如果它无法使用,可以自己建立新的软链接。
$ ln -s `/data/$USER` `$HOME/data`
Q: 可以在集群上与其他人共享文件吗?
A: 可以,拷贝到/tmp/
目录中就能让所有用户访问。该目录中的文件可能会被清理(如系统重启),因此要及时保存到自己的$HOME/data/
中。
计算资源
Q: 为什么我无法运行mpirun?
A: 登录节点不允许执行mpirun
,计算节点无法使用mpirun
时请联系管理员。
Q: 在登录节点编译程序太慢该怎么办?
A: 同时有多个用户在登录节点上编译时,会影响其他用户。为了避免占用登录节点的资源,应该使用salloc
申请一个计算节点,在计算节点上编译。
Q: 为什么我提交的作业一直在排队?
A: 可能是目前没有节点可用。使用squeue
可以查看作业排队的原因,使用sinfo
可以查看当前可用的节点。提交作业时要注意节点分区的名字,如果提交的分区没有节点可用,作业也不会运行。
Q: 为什么我没有权限ssh到计算节点?
A: 可能是因为没有申请资源。集群计算节点使用PAM,只有申请了计算资源才可以ssh到相应节点。
Q: 为什么sbatch提交的作业总是找不到需要的库?
A: 可能因为没有正确设置环境变量。在登录节点编译时,如果使用spack load
或module load
加载了某些软件包,同样也要在sbatch
提交的脚本中写上加载软件包的命令。
Q: 为什么我的程序遇到mpiio就会卡死?
A: 请尝试把可执行文件、数据文件全部放在$HOME/data/
下再执行。
软件使用
Q: 我可以使用自己安装的软件吗?
A: 可以,任何安装在$HOME/
或$HOME/data/
下的软件都可以在所有计算节点上使用。如果想通过spack load
或module load
使用自己安装的软件,请参考集群文档中Spack和Lmod的说明。
Q: 如何让其他人使用我安装的软件?
A: 共享同一个账户,或者联系管理员更新公共软件。在自己的路径下安装的软件是不能直接让其他人使用的。如果需要频繁安装、更新软件,可以让大家使用同一个账户(让管理员新开一个账户专门给小组用)。如果需要的软件不会频繁更新,可以联系管理员安装,所有的公共软件都由builder
账户在特定节点安装。
Q: 如何安装新的Python包?
A: 如果使用集群上的Lmod加载Anaconda3,可以创建自己的conda环境,使用conda命令安装Python包。如果使用集群上的pip,可以安装Python包到本地。
$ pip install --user <package name>
如果希望通过Spack加载Python包,参考集群文档中关于Spack的说明配置本地Spack,或者联系管理员更新集群的公共Spack。
note
请注意,安装 Python 包需要集群连接到互联网,安装之前请使用 netlogin 工具登录校园网。
Q: 为什么我用module不能加载某个软件?
A: 可能有以下原因:
- 如果
module spider
找不到,- 该软件/版本已经被删除,或者
- 索引未更新,请联系管理员解决;
- 如果
module spider
能找到,但module avail
找不到,- 该软件/版本有依赖,使用
module spider
查看它的依赖,或者 - 该软件/版本属于Tcl旧模块,使用前需要先执行
$ module load showlegacy
- 该软件/版本有依赖,使用
- 如果
module avail
能找到,但module load
报错,该软件/版本配置有问题,请联系管理员解决。