计算化学公社

 找回密码 Forget password
 注册 Register
Views: 2351|回复 Reply: 32
打印 Print 上一主题 Last thread 下一主题 Next thread

[Linux] Gaussian在集群LSF作业调度系统中的使用和权限问题

[复制链接 Copy URL]

22

帖子

0

威望

297

eV
积分
319

Level 3 能力者

前期工作:
1. 参照卢老师439博文中的步骤对Gaussian16进行了安装,对环境变量进行了配置,见图1;
2. 通过root账户对g16文件夹进行了chmod 750 -R *的权限设置,建立了新的gaussian分组并将本人使用的用户添加至此分组中,然后通过chown -R root:gaussian /root/g16对分组权限进行了设定,见图2;
3. 发现仍然不行后参照

目前情况:
参考过帖子请问各位一个关于gaussian安装的问题 - 量子化学 (Quantum Chemistry) - 计算化学公社 (keinsci.com)小型集群中给所有用户安装公用G09过程 - 量子化学 (Quantum Chemistry) - 计算化学公社 (keinsci.com)中的方法也仍然不管用
仍旧提示没有权限,见图3。

sh脚本文件如下:
#!/bin/sh
# embedded options to bsub - start with #LSF
# -- our name ---
#BSUB -J 2molecules-2-1
# -- choose queue --
#BSUB -q normal
### -- specify that we need 2GB of memory per core/slot --
#BSUB -R "rusage[mem=40GB]"
# -- parallel environment requests --
#BSUB -n 20
### -- specify that the cores MUST BE on a single host! It's a SMP job! --
#BSUB -R "span[hosts=1]"
### -- Specify the output and error file. %J is the job-id --
### -- -o and -e mean append, -oo and -eo mean overwrite --
#BSUB -o Output_%J.out
#BSUB -e Error_%J.err
# -- end of LSF options --
# -- setup of the gaussian 16 environment --
export g16root=/opt
source $g16root/g16/bsd/g16.profile
export GAUSS_SCRDIR=/opt/g16/scratch
# -- commands you want to execute --
#
EXEC_CMD="/opt/g16"
INPUTFILE=2molecules-2-1.gjf
###g16 <2molecules-2-1.gjf> 2molecules-2-1.log

后期因/opt的硬盘不够大,我又将其安装至更大的/root目录下,但仍然是permission denied。下面展示目前的操作和权限,见图4,可以找到g16所在并对其进行读和运行,但提交作业脚本仍显示没有权限。调研和调试了好久也没有解决,于是上论坛上来麻烦各位老师进行指点。




图1.png (14.59 KB, 下载次数 Times of downloads: 87)

环境变量

环境变量

图2.png (60.75 KB, 下载次数 Times of downloads: 77)

添加分组个权限

添加分组个权限

图3.png (3.54 KB, 下载次数 Times of downloads: 89)

没有权限

没有权限

图4.png (85.08 KB, 下载次数 Times of downloads: 81)

图4.png

2407

帖子

1

威望

5948

eV
积分
8375

Level 6 (一方通行)

2#
发表于 Post on 2024-7-22 20:06:52 | 只看该作者 Only view this author
难道你的系统上,普通用户可以去/root ?
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

22

帖子

0

威望

297

eV
积分
319

Level 3 能力者

3#
 楼主 Author| 发表于 Post on 2024-7-23 08:21:38 | 只看该作者 Only view this author
abin 发表于 2024-7-22 20:06
难道你的系统上,普通用户可以去/root ?

课题组的集群,我就是半吊子管理员

1102

帖子

0

威望

3947

eV
积分
5049

Level 6 (一方通行)

4#
发表于 Post on 2024-7-23 10:23:25 | 只看该作者 Only view this author
本帖最后由 乐平 于 2024-7-23 10:51 编辑

社长的安装是在他自己的工作站,不是集群。而且他自己习惯用 root 来执行任何操作,不适合集群用户。所以,你按照他的安装过程在集群上是没有参考价值的…… 至少不能无脑照抄……

在集群上要清楚哪个是“共享区”,也就是所有用户都有读权限和操作权限的区域 (drwxr-xr-x),含义可以自行 bing 搜索。如果不知道什么是“共享区”,那就看你集群上其余的软件,比如 VASP, CP2K 之类的安装在哪里,就把 Gaussian16 也安装在相同的目录下。

比如,VASP 安装在  /public/software/vasp  目录下,那么你的 Gaussian16 也就安装在  /public/software/g16
然后,你已经建立了 gaussian 用户组,那么就需要给这个用户组的用户添加权限,  chmod g+rx /path/to/g16    (我看到你的第二张截图里是 drwxr-x----,说明组内用户只有进入 g16 目录的权限,没有读取的权限)

只有在共享区安装的软件才能被所以用户使用,而你安装到 /root 目录下,普通用户是不具备读取和操作(打开进入目录)的权限的……

另外,你说 /opt 硬盘空间不够大? 你的集群里用户又不是在 /opt 里保存文件,空间大不大有什么关系……
如果你是担心 Scratch 文件太大,那么你干嘛要把scratch放在 /opt 目录下呢……  export GAUSS_SCRDIR=/opt/g16/scratch
你完全可以换个空间大且有读写权限的磁盘啊



22

帖子

0

威望

297

eV
积分
319

Level 3 能力者

5#
 楼主 Author| 发表于 Post on 2024-7-23 12:56:33 | 只看该作者 Only view this author
乐平 发表于 2024-7-23 10:23
社长的安装是在他自己的工作站,不是集群。而且他自己习惯用 root 来执行任何操作,不适合集群用户。所以, ...

感谢您的回复,这里我没有说明清楚,首先集群其他软件同样也是安装在/root目录下的,我也尝试过将整个g16文件夹权限改为drwxr-xr-x后提交任务仍然显示permission denied(重新连接后操作的,个人账户可以cd至/root路径),见图6。

第二是想问您一下scratch临时文件储存路径的问题。见图7,因为/opt和/root所在的硬盘只有500G和2T左右的大小,如果gaussian的scratch文件夹中的临时文件超过硬盘大小则会终止计算(测试中遇到过临时文件撑爆了这2T硬盘的算例),有没有办法可以将临时文件占用的空间分配给用户的硬盘中(总大小44T的那里)?

图6.png (43.97 KB, 下载次数 Times of downloads: 75)

图6.png

图7.png (60.71 KB, 下载次数 Times of downloads: 74)

图7.png

227

帖子

6

威望

1712

eV
积分
2059

Level 5 (御坂)

6#
发表于 Post on 2024-7-23 13:49:07 | 只看该作者 Only view this author
本帖最后由 wxyhgk 于 2024-7-23 13:58 编辑

我这里以我的配置为说明

1. 创建用户组

  1. sudo groupadd sharedusers
复制代码


2. 将 `/home/share_apps` 目录的所有者和组更改为 `root` 和 `sharedusers`

  1. sudo chown root:sharedusers /home/share_apps
复制代码
3. 设置目录权限,确保组成员可以读取、写入和执行该目录下的文件

  1. sudo chmod 2775 /home/share_apps
复制代码


这里的 `2775` 权限设置确保了新的文件和子目录将继承 `sharedusers` 组。**2**:设置粘滞位(SGID)。当在一个目录上设置了 SGID 位后,任何在该目录下创建的新文件或子目录会继承这个目录的组,而不是创建者的默认组。,`775` 是标准的读写执行权限。

4. 将需要访问该目录的用户批量添加到 `sharedusers` 组

  1. sudo usermod -aG sharedusers user1
  2. sudo usermod -aG sharedusers user2
  3. sudo usermod -aG sharedusers user3
复制代码


5. 刷新组权限

执行以下命令来刷新组权限


  1. newgrp sharedusers
复制代码




6. 在 slurm 脚本里面写入 Gaussian 的环境变量



  1. # === g16 环境变量 ===
  2. g16_path=$HOME/Software
  3. export g16root=${g16_path}
  4. export GAUSS_SCRDIR=${g16_path}/g16/scratch
  5. source ${g16_path}/g16/bsd/g16.profile
  6. export PGI_FASTMATH_CPU=sandybridge # AMD CPU 的设置
复制代码


然后就能用了



至于什么硬盘不够大,可以每一个用户建立一个 scratch 的临时目录,例如

对于名字为 xiaoming 的用户
  1. # === g16 环境变量 ===
  2. g16_path=$HOME/Software
  3. export g16root=${g16_path}
复制代码
这里的  export GAUSS_SCRDIR=/home/xiaoming/Data/Gaussian/xiaoming-scratch 可以自己改变

1102

帖子

0

威望

3947

eV
积分
5049

Level 6 (一方通行)

7#
发表于 Post on 2024-7-23 14:59:51 | 只看该作者 Only view this author
syarnold 发表于 2024-7-23 12:56
感谢您的回复,这里我没有说明清楚,首先集群其他软件同样也是安装在/root目录下的,我也尝试过将整个g16 ...

1)你们这集群怎么安装软件的,全在 /root 下……

2)我说的意思就是让你把 scratch 放在大硬盘目录下啊,我复制的是你自己写的 export GAUSS_SCRDIR=/opt/g16/scratch
你把路径改到你那个 44T 的硬盘就行了啊

2407

帖子

1

威望

5948

eV
积分
8375

Level 6 (一方通行)

8#
发表于 Post on 2024-7-23 15:03:55 | 只看该作者 Only view this author
真是胡闹!

登录或者管理节点,你看到的/root
可能未必是计算节点上的/root。

除非,这个集群中,
将管理或者登录机器的/root共享给所有的计算节点。


这里有一个简单明了的集群架构示意图,
可以参考
https://hpc4you.github.io/

High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

22

帖子

0

威望

297

eV
积分
319

Level 3 能力者

9#
 楼主 Author| 发表于 Post on 2024-7-24 11:32:07 | 只看该作者 Only view this author
乐平 发表于 2024-7-23 14:59
1)你们这集群怎么安装软件的,全在 /root 下……

2)我说的意思就是让你把 scratch 放在大硬盘目录下 ...

感谢回复!我也不知道为啥这么装的,我来之前就有了

22

帖子

0

威望

297

eV
积分
319

Level 3 能力者

10#
 楼主 Author| 发表于 Post on 2024-7-24 13:05:05 | 只看该作者 Only view this author
wxyhgk 发表于 2024-7-23 13:49
我这里以我的配置为说明

1. 创建用户组

感谢回复!

我又重新按照您提供的方法安装和配置了一遍,权限给到2775的时候报错如图8所示,权限给2750和2770的时候都仍然显示同图3的permission denied。

图8.png (94.81 KB, 下载次数 Times of downloads: 67)

图8.png

22

帖子

0

威望

297

eV
积分
319

Level 3 能力者

11#
 楼主 Author| 发表于 Post on 2024-7-24 13:07:42 | 只看该作者 Only view this author
abin 发表于 2024-7-23 15:03
真是胡闹!

登录或者管理节点,你看到的/root

感谢回复!

我将/root路径中gaussian删掉,又在/opt路径下重新解压了g16并配置环境,然而仍然显示没有权限,详见#10楼的回复内容。

227

帖子

6

威望

1712

eV
积分
2059

Level 5 (御坂)

12#
发表于 Post on 2024-7-24 14:57:35 | 只看该作者 Only view this author
本帖最后由 wxyhgk 于 2024-7-24 14:58 编辑
syarnold 发表于 2024-7-24 13:05
感谢回复!

我又重新按照您提供的方法安装和配置了一遍,权限给到2775的时候报错如图8所示,权限给275 ...

给出更详细的信息,用户组什么的,你给这个 Gaussian 报错的没有什么用

我上面的 “将需要访问该目录的用户批量添加到 `sharedusers` 组” 这一步必须做,不然是没有权力的

2407

帖子

1

威望

5948

eV
积分
8375

Level 6 (一方通行)

13#
发表于 Post on 2024-7-24 18:02:20 | 只看该作者 Only view this author
真是一团浆糊……

高斯本身要求owned by specific group,
not globally accessible.

High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

22

帖子

0

威望

297

eV
积分
319

Level 3 能力者

14#
 楼主 Author| 发表于 Post on 2024-7-25 09:30:47 | 只看该作者 Only view this author
abin 发表于 2024-7-24 18:02
真是一团浆糊……

高斯本身要求owned by specific group,

上述775权限是根据前一位老师提供的方法操作尝试了一下,其他时候都是使用的750权限且添加了特定组的

22

帖子

0

威望

297

eV
积分
319

Level 3 能力者

15#
 楼主 Author| 发表于 Post on 2024-7-25 10:37:28 | 只看该作者 Only view this author
wxyhgk 发表于 2024-7-24 14:57
给出更详细的信息,用户组什么的,你给这个 Gaussian 报错的没有什么用

我上面的 “将需要访问该目录 ...

详细的用户组信息和现在权限信息见图9,都是按照流程和步骤走的呀

图9.png (22.15 KB, 下载次数 Times of downloads: 65)

图9.png

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-12 20:14 , Processed in 1.053572 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list