计算化学公社

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

[集群维护] 搭建在线量子化学平台 CalcUS

[复制链接 Copy URL]

227

帖子

6

威望

1714

eV
积分
2061

Level 5 (御坂)

本帖最后由 wxyhgk 于 2022-11-11 22:47 编辑



0. 部分功能预览
  • 0.1 集成 Gaussian 16 , ORCA , xtb
    提交各种任务,可视化显示


    可视化设定各种原子基组


    在线显示优化步骤


    可视化任务
  • 0.2 集群管理


  • 0.3 项目自动化分析


本项目来自于 GitHub 项目:点我打开 ,原项目编译会出问题,自己修改了一下,可以正常使用

1. 准备工作
1.1 说明
项目来源于:https://github.com/cyllab/CalcUS

  • Ubuntu 20.04
  • cpu: 5950x, E5-2675-v3 , Intel(R) Xeon(R) Gold 6161 ,Intel(R) Xeon(R) Platinum 8171M,测试均没问题
  • 如果你是 Linux 小白,请务必按照我的所有步骤操作.
下载 MobaXterm : 点我下载 , 全能终端工具,集成 ssh , sftp , x11 转发,运维神器!强烈推荐


1.2 Docker 安装
首先更新源
  1. sudo apt-get update
  2. sudo apt upgrade -y
复制代码


然后安装docker
  1. sudo apt install docker -y
复制代码
  1. sudo apt install docker.io -y
复制代码

1.3 Docker-compose 安装
  1. sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesud
复制代码

赋予 docker-compose 可执行权
  1. sudo chmod +x /usr/local/bin/docker-compose
复制代码

1.4 设定 Docker 组
  1. sudo groupadd docker
复制代码
  1. sudo usermod -aG docker $USER
复制代码
  1. newgrp docker
复制代码


2. CalcUS 搭建
2.1 准备工作
原项目是有问题的,没法部署,会报错,经过个人修改,下面是我修改过的文件


下载好之后,将文件移动到你的 home 目录(运行 echo $HOME 就可以看到你的 home 目录路径了)下,举例来说就是

这里的我的 home`目录就是:/home/wxyhgk,将软件移动到 /home/wxyhgk 下面.

2.2 安装
下载后,在目录下解压
  1. cd $HOME && tar -xvf calcus.tar.gz
复制代码
解压后会得到 `CalcUS` 文件夹,我们接下来进入 `CalcUS` 文件夹操作
  1. cd $HOME/CalcUS && bash start.sh
复制代码
这一步会比较慢,因为得下载各种 docker 镜像,耐心等待即可,下面的 Pulling 表明在 拉取镜像当出现下面的这个 web_1 字眼的时候表明启动成功



最后去浏览器,输入 ip:1234 就可以进去了,这里的 ip 是你机器的ip,也就是你登录 ssh 的 ip.

默认
  • 账号: wxyhgk
  • 密码: default

2.3 配置
上面的操作说明为了让 CalcUS 能跑起来,下面是配置,首先停掉 CalcUS,按 Ctrl + c 键就能停掉了.

.env 文件的配置,进入 CalcUS 目录,删掉 .env 文件
  1. cd $HOME/CalcUS&&rm .env
复制代码
然后使用命令
  1. python3 generate_env.py
复制代码


新建一个 `.env` 文件,这里是让你创建一个用户,密码是 default

配置好之后重新运行
  1. bash start.sh
复制代码
使用这个命令是重新配置 docker 镜像,以前的 docker 容器会被删除.

配置好上面的之后,以后启动的时候,就到 CalcUS 目录下,运行

  1. docker-compose start
复制代码


就行了,稍等几分钟,就能在浏览器访问了.
3. 集群配置
这里是一台远程主机的配置,如果你有多台主机,全部按照下面来配置就可以了.
3.1 准备工作
首先在你要远程运行的机器上安装 slurm ,slurm 如何安装? 点我打开


3.2 创建计算目录
  1. mkdir $HOME/calcus
复制代码
然后将

  • Gaussian 16 包
  • orca 安装包
  • xtb, crest, xtb4stda, stda 安装包


放入到 calcus 目录中,解压.

3.3 制作脚本
下面的脚本均要在 calcus 目录中创建

  • gaussian 16 脚本
    新建一个 submit_Gaussian.sh 文件,,填入以下内容
    1. #!/bin/bash
    2. ##===任务名字====
    3. #SBATCH -J 5950x-g16

    4. #===计算节点===
    5. #SBATCH -p Ubuntu-5950x

    6. #===总核数和数量设定 ===
    7. #SBATCH -N 1
    8. #SBATCH -n 8

    9. #===输入和输出文件===
    10. #SBATCH --output=g16Job%j.out
    11. #SBATCH --error=g16Job%j.err

    12. #===邮件通知===
    13. #SBATCH --mail-user=wxyhgk@qq.com
    14. #SBATCH --mail-type=ALL

    15. #--------------------分割线----------------------------------
    16. #--------------------分割线----------------------------------

    17. #=============== 加载 g16 环境变量 ===========
    18. export g16root=/home/wxyhgk/calcus
    19. export GAUSS_SCRDIR=/home/wxyhgk/calcus/g16/scratch
    20. source /home/wxyhgk/calcus/g16/bsd/g16.profile
    21. export PGI_FASTMATH_CPU=sandybridge

    22. #===运行命令===
    23. cd $SLURM_SUBMIT_DIR
    复制代码
    上面的脚本你需要将
  • 1. `#SBATCH -p Ubuntu-5950x` 中的 Ubuntu-5950x 改成你的
  • 2. `#SBATCH --mail-user=wxyhgk@qq.com` 中的 wxyhgk@qq.com 改成你的 qq 邮箱地址
  • 3. `#=============== 加载 g16 环境变量 ===========` 后面的内容也需要你修改成你 calcus 目录下的g16 路径

  • Orca 脚本
  • 关于orca的部分,可以看我的教程 [点我打开]
  • 新建一个 submit_ORCA.sh 文件,填入以下内容
    1. #!/bin/bash
    2. #===任务名字===
    3. #SBATCH -J 5950x-orca

    4. #=== 调用哪个节点 ===
    5. #SBATCH -p Ubuntu-5950x

    6. #=== 节点核和数量设定  ===
    7. #SBATCH -n 32                # 总核数 40
    8. #SBATCH --ntasks-per-node=32   # 每节点核数

    9. #=== 输入和输出文件 ===
    10. #SBATCH --output=orcaJob%j.out
    11. #SBATCH --error=orcaJob%j.err

    12. #=== 邮件通知 ===
    13. #SBATCH --mail-user=wxyhgk@qq.com
    14. #SBATCH --mail-type=ALL

    15. #============= 加载 openmpi ==========================
    16. export PATH=$PATH:/home/wxyhgk/calcus/openmpi/bin
    17. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wxyhgk/calcus/openmpi/lib

    18. #==============加载 orca 环境变量=========================
    19. export PATH=$PATH:/home/wxyhgk/calcus/calcus-orca
    20. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wxyhgk/calcus/calcus-orca
    21. EBROOTORCA=/home/wxyhgk/calcus/calcus-orca
    22. #--------------------分割线----------------------------------
    23. #--------------------分割线----------------------------------

    24. #===运行命令===
    25. cd $SLURM_SUBMIT_DIR
    复制代码
    上面的脚本你需要将
  • 1. `#SBATCH -p Ubuntu-5950x` 中的 Ubuntu-5950x 改成你的
  • 2. `#=== 节点核和数量设定  ===` 需要改成你的
  • 3. `#SBATCH --mail-user=wxyhgk@qq.com` 中的 wxyhgk@qq.com 改成你的 qq 邮箱地址
  • 4. `#==============加载 orca 环境变量=========================` 修改成你的 calcus 目录下的 orca 路径
  • xtb 脚本
    新建一个 submit_xtb.sh 文件,填入以下内容
    1. #!/bin/bash
    2. ##===任务名字====
    3. #SBATCH -J 5950x-g16

    4. #===计算节点===
    5. #SBATCH -p Ubuntu-5950x

    6. #===== 计算设置 ====
    7. #SBATCH --nodes=1
    8. #SBATCH --ntasks=24

    9. #===邮件通知===
    10. #SBATCH --mail-user=wxyhgk@qq.com
    11. #SBATCH --mail-type=ALL

    12. #===========xtb环境变量部分==============
    13. export PATH=$PATH:/home/wxyhgk/calcus/xtb651/bin
    14. export XTBPATH=/home/wxyhgk/calcus/xtb651/share/xtb
    15. export OMP_NUM_THREADS=16
    16. export MKL_NUM_THREADS=16
    17. ulimit -s unlimited

    18. #==============提交任务====================
    19. cd $SLURM_SUBMIT_DIR
    复制代码

  • 1. `#SBATCH -p Ubuntu-5950x` 中的 Ubuntu-5950x 改成你的
  • 2. `#=== 节点核和数量设定  ===` 需要改成你的
  • 3. `#SBATCH --mail-user=wxyhgk@qq.com` 中的 wxyhgk@qq.com 改成你的 qq 邮箱地址
  • 4. `#===========xtb环境变量部分==============` 修改成你的 calcus 目录下的 xtb 路径


3.5 集群远程连接
点击网站右上角的 `My Profile` 按钮

然后找到这个

解释以下每个名词的含义

  • Cluster Address 代表你远程服务器ssh的 ip:端口
  • Cluster Username 代表你远程服务器的用户名
  • Core per Calculation 计算用多少核心
  • Menory per Calculation 计算用多少内存
  • Key Encryption Password 代表密码



配置好之后,点这个 Manage 按钮进入


然后点击 View public key


会得到一串数字复制这个数字,然后保留着,后面就是配置 ssh免密登录 ,网上教程很多,可以搜索 `ssh 免密登录` , 配置好免密登录后,然后点击上面的  Connect to cluster  按钮就可以了


3.6 计算测试
配置好上面所有的东西之后,就可以做计算了.如图所示


更多的可以看官方教程:点我打开
4. 参考教程
4.1 Docker 相关

4.2 CalcUS 相关











评分 Rate

参与人数
Participants 11
威望 +1 eV +46 收起 理由
Reason
wal + 5
Reman + 4 好物!
lx199212 + 5
wuy069 + 5
tanyazhi + 5 好物!
lonicera + 5
丁越 + 5 赞!
ggdh + 5
dantevinsky + 2 GJ!
zsu007 + 5 精品内容
sobereva + 1

查看全部评分 View all ratings

227

帖子

6

威望

1714

eV
积分
2061

Level 5 (御坂)

21#
 楼主 Author| 发表于 Post on 2022-11-22 20:31:16 | 只看该作者 Only view this author
Zhangzhihe 发表于 2022-11-22 16:47
已解决:备份原有的.env,将新的env中的软件路径补充一下,其余设置保持不变,任然用楼主账号

实在不行,得将 Calcus 目录设置组和权限都是 root ,首先将 CalcUS 文件夹移动到 /home 目录下 ,然后使用命令
  1. sudo chown -R root:root CalcUS/
复制代码


然后进入 home/CalcUS 重新操作试试看

46

帖子

0

威望

892

eV
积分
938

Level 4 (黑子)

20#
发表于 Post on 2022-11-22 16:47:48 | 只看该作者 Only view this author
Zhangzhihe 发表于 2022-11-22 15:51
同15楼的问题,在配置自己的账户的时候,报错权限问题(Ubuntu 20.04)
2.3小节,按照自己软件安装位置配 ...

已解决:备份原有的.env,将新的env中的软件路径补充一下,其余设置保持不变,任然用楼主账号

46

帖子

0

威望

892

eV
积分
938

Level 4 (黑子)

19#
发表于 Post on 2022-11-22 15:51:07 | 只看该作者 Only view this author
本帖最后由 Zhangzhihe 于 2022-11-22 16:03 编辑

同15楼的问题,在配置自己的账户的时候,报错权限问题(Ubuntu 20.04)
2.3小节,按照自己软件安装位置配置完成之后,bash start.sh 报错 postgres_1     | mkdir: cannot create directory ‘ ’: Permission denied
换用root未解决

TEST1.jpg (321.66 KB, 下载次数 Times of downloads: 212)

TEST1.jpg

TEST2.jpg (620.81 KB, 下载次数 Times of downloads: 219)

TEST2.jpg

227

帖子

6

威望

1714

eV
积分
2061

Level 5 (御坂)

18#
 楼主 Author| 发表于 Post on 2022-11-17 16:06:31 | 只看该作者 Only view this author
本帖最后由 wxyhgk 于 2022-11-17 16:17 编辑
neocc 发表于 2022-11-17 13:36
学习了本机非ROOT的ssh密钥的制作:
1、查看当前用户的家目录是否有.ssh文件夹,如果没有则创建(mkdir  ~ ...
1、查看当前用户的家目录是否有.ssh文件夹,如果没有则创建(mkdir  ~/.ssh),并修改权限(chmod 700 ~/.ssh);

如果是 Ubuntu20.04 系统就可以安装下面的来, centos 还得修改 ssh 配置什么的比较麻烦,这里我就不说了

1. 配置 ssh 免密登录权限
这里其实有些坑爹的地方,我当时写的急,有些东西没说,ssh 配置远程的时候,需要配置这些
  1. chmod 700 ~/.ssh

  2. chmod 644 ~/.ssh/authorized_keys

  3. chmod 600 ~/.ssh/id_rsa
复制代码


2.创建密匙
然后到网站去操作


注意这里的 Cluster Username 是你的远程机器的用户名,不是 wxyhgk

然后复制这里的代码



复制这里的代码

3. 写入密匙
登录 ssh ,使用命令
  1. echo "你刚刚复制的代码" >> ~/.ssh/authorized_keys
复制代码




166

帖子

0

威望

3349

eV
积分
3515

Level 5 (御坂)

17#
发表于 Post on 2022-11-17 13:36:14 | 只看该作者 Only view this author
学习了本机非ROOT的ssh密钥的制作:
1、查看当前用户的家目录是否有.ssh文件夹,如果没有则创建(mkdir  ~/.ssh),并修改权限(chmod 700 ~/.ssh);
2、生成公钥和私钥,指令:$ ssh-keygen -t rsa       ;一路回车键
3、将生成的公钥传至主机:$ssh-copy-id user@hostname (user是用户,hostname是主机信息)
4、$ cat id_rsa.pub >> authorized_keys
5、测试:$ ssh  user@hostname

附上官网链接:https://help.ubuntu.com/community/SSH/OpenSSH/Keys


然后发现一个问题,使用楼主的账号,public key是楼主的user@hostname 写入authorized_keys里面用不了
然而前面提到的自建账号又会报错,陷入一个循环中。

227

帖子

6

威望

1714

eV
积分
2061

Level 5 (御坂)

16#
 楼主 Author| 发表于 Post on 2022-11-17 09:10:14 | 只看该作者 Only view this author
neocc 发表于 2022-11-17 01:07
谢谢楼主

我用的是ubuntu20.04

上网搜ssh免密登陆就行了,把密匙放入你本机器就可以了

166

帖子

0

威望

3349

eV
积分
3515

Level 5 (御坂)

15#
发表于 Post on 2022-11-17 01:07:12 | 只看该作者 Only view this author
wxyhgk 发表于 2022-11-17 00:36
不知道你是什么系统,我测试的系统都是20.04 几个机器都是没问题的。

谢谢楼主

我用的是ubuntu20.04
没有搞定自建账户,就直接用楼主的账号吧

如果是只有一台机器安装了slurm,工作节点和计算节点都是这一台机器,需要如何设置非root用户下的ssh免密和slurm呢?

227

帖子

6

威望

1714

eV
积分
2061

Level 5 (御坂)

14#
 楼主 Author| 发表于 Post on 2022-11-17 00:36:10 | 只看该作者 Only view this author
neocc 发表于 2022-11-16 16:47
楼主
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$ ...

不知道你是什么系统,我测试的系统都是20.04 几个机器都是没问题的。

166

帖子

0

威望

3349

eV
积分
3515

Level 5 (御坂)

13#
发表于 Post on 2022-11-16 18:11:25 | 只看该作者 Only view this author
在执行
  1. sudo apt install docker.io -y
复制代码
命令的时候如果有报错,可以参考一下解决方案:

安装docker 报错:

  1. $ sudo apt-get install docker.io
复制代码


下列软件包有未满足的依赖关系:
docker.io : 依赖: containerd (>= 1.2.6-0ubuntu1~)
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决:
# 查看是否安装了 containerd
  1. $ dpkg -l containerd*
复制代码

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称                          版本                体系结构            描述
+++-=============================-===================-===================-===============================================================
ii  containerd                    1.5.5-0ubuntu3~18.0 amd64               daemon to control runC
rc  containerd.io                 1.6.6-1             amd64               An open and reliable container runtime

# 如果containerd不存在,则安装
  1. sudo apt install containerd
复制代码

# 如果containerd.io不存在,则安装
  1. sudo apt-get install containerd.io
复制代码

# 安装成功后再安装 docker.io
  1. sudo apt-get install docker.io
复制代码

# 查询版本
  1. docker version
复制代码


其他:

# 如果不行,也可以安装 docker-ce
  1. sudo apt-get install docker-ce
复制代码



参考
docker.io : 取决于: containerd (>= 1.2.6-0ubuntu1~)

请参考:https://blog.csdn.net/p1279030826/article/details/126185482

166

帖子

0

威望

3349

eV
积分
3515

Level 5 (御坂)

12#
发表于 Post on 2022-11-16 16:47:02 | 只看该作者 Only view this author
本帖最后由 neocc 于 2022-11-16 21:10 编辑

楼主
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesud

应该是需要再把其改名为:/usr/local/bin/docker-compose 吧?



另外重建账号后一直有" mkdir: cannot create directory ‘ ’: Permission denied" 报错需要怎么处理呢? 加上了sudo也不行

227

帖子

6

威望

1714

eV
积分
2061

Level 5 (御坂)

11#
 楼主 Author| 发表于 Post on 2022-11-16 00:03:55 | 只看该作者 Only view this author
anlancx 发表于 2022-11-15 09:45
这东西计算资源用的谁的

可以用本地服务器也可以用远程服务器

110

帖子

0

威望

1123

eV
积分
1233

Level 4 (黑子)

10#
发表于 Post on 2022-11-15 09:45:12 | 只看该作者 Only view this author
这东西计算资源用的谁的

356

帖子

0

威望

2251

eV
积分
2607

Level 5 (御坂)

9#
发表于 Post on 2022-11-15 08:23:13 | 只看该作者 Only view this author
七八万,我们单位的领导都不同意批准,你说能卖多少许可数量?
Meda,Maps,我都了解过,价格贵了,买的单位和个人 数量少。
眼下这种经济形势,科研经费不容易申请到。

524

帖子

3

威望

6220

eV
积分
6804

Level 6 (一方通行)

8#
发表于 Post on 2022-11-14 14:07:06 | 只看该作者 Only view this author
国内不少公司在做类似的计算平台,有第一性的 有量化的 有生信的 也有MD的…… 要是这玩意推广开了 让那些公司情何以堪啊
恍惚月余,深谙人与人之间的差距。以后还应努力学习,才能与强者比肩。

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

GMT+8, 2025-8-15 06:14 , Processed in 0.170829 second(s), 25 queries , Gzip On.

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