Skip to main content

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 loadmodule load加载了某些软件包,同样也要在sbatch提交的脚本中写上加载软件包的命令。

Q: 为什么我的程序遇到mpiio就会卡死?

A: 请尝试把可执行文件、数据文件全部放在$HOME/data/下再执行。

软件使用

Q: 我可以使用自己安装的软件吗?

A: 可以,任何安装在$HOME/$HOME/data/下的软件都可以在所有计算节点上使用。如果想通过spack loadmodule 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报错,该软件/版本配置有问题,请联系管理员解决。