经验怪谈

技术文章

Materials Studio 在 Linux 集群上的安装要点

Rocky 上常缺合格的 lsb_release;Gateway 监听、License 主机名和队列核数要按集群改。

2026-09-10 · 科研软件 · Slurm · HPC / 集群 · Linux / 服务器

Materials Studio 是 BIOVIA 商业软件。现场笔记写「安装包自行找」;公开站改成从官方授权渠道获取安装包与许可证,后面 ./install、改 hostname、配 Gateway 的步骤不变。版本以 2023 / 23.1 为例,目录按安装器默认的 /opt/BIOVIA/

依赖

sudo yum config-manager --set-enabled devel
sudo yum -y install gcc gcc-c++ gcc-gfortran csh redhat-lsb-core httpd libnsl perl-English perl-core

Debian / Ubuntu:

sudo apt -y install gcc g++ gfortran csh lsb-core apache2 libnsl

Perl 异常时可重装发行版 perl 包:

sudo yum reinstall perl perl-*

Rocky 上安装器若认不出发行版,是缺少它期待的 lsb_release 输出。可放一个只打印信息的包装脚本(仅用于安装器探测;系统里已有发行版自带的 lsb_release 就不要覆盖):

sudo tee /usr/bin/lsb_release >/dev/null <<'EOF'
#!/bin/bash
echo "LSB Version: 1.4"
echo "Distributor ID: Rocky"
echo "Description: Rocky Linux 9"
echo "Release: 9"
echo "Codename: n/a"
EOF
sudo chmod +x /usr/bin/lsb_release
lsb_release -a

安装与 License

cd MaterialsStudio2023/
./install

修改许可证文件里的 hostname,改成许可证服务器真实主机名,再拷到 LicensePack:

cp msi2023.lic /opt/BIOVIA/BIOVIA_LicensePack/Licenses

不要把别人的 .lic 改个名字就用。

Gateway 与 Slurm

核数按「每节点核数 × 节点数」填。现场一次是 nproc 看到 64 核、10 个节点,所以 cpucorestotal=640。你的集群数字不同就改掉,不要照抄 640:

cd /opt/BIOVIA/MaterialsStudio23.1/etc/Gateway
./config/configure
# 编辑 cpucorestotal=640   ← 按本集群重算

节点列表在 share/data/machines.LINUX,写成你的计算节点名:

vim /opt/BIOVIA/MaterialsStudio23.1/share/data/machines.LINUX

队列:

./config/configure queue -queuepath SLURM/dsd_slurm -activate

23.x 需要改监听(20 不用)。原文把 Listen 127.0.0.1:18888 改成 Listen 0.0.0.0:18888,是为了计算节点能连上 Gateway。只在内网需要时改;对公网不要这样暴露,改成内网接口或指定 IP 更稳:

vim /opt/BIOVIA/MaterialsStudio23.1/etc/Gateway/configurations/default/conf/gwport.conf
export PATH=/opt/BIOVIA/MaterialsStudio23.1/etc/Gateway:${PATH}
export PATH=/opt/BIOVIA/MaterialsStudio23.1/bin:${PATH}
source ~/.bashrc
gwusers -add "$USER"

密码必须包含大小写、数字、特殊字符,且至少 8 位。查看:gwusers -list。更新:gwusers -update gatekeeper

原文安装时关过 firewalld / SELinux。公开笔记把这两条留在这里当「现场曾经这样做」,不要当默认步骤:先按端口放行 Gateway,SELinux 拦住再查 audit。需要时再:

sudo systemctl disable firewalld --now
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

手动启动网关:

su - biovia -c "/opt/BIOVIA/MaterialsStudio23.1/etc/Gateway/gwrestart"

需要开机自启时,用 systemd 调官方 start/stop 脚本,User 用安装时的服务账户。