post on 13 Sep 2021 about 2192words require 8min
CC BY 4.0 (除特别声明或转载文章外)
如果这篇博客帮助到你,可以请我喝一杯咖啡~
在去年十月闯祸(这又是一个故事)之后,我们把自己的几台机器从超算搬到了校园网环境下,用 JumpServer 配了跳板机,并重新配置了集群的系统环境。然而一年过去,大家关于集群搭建有了新的想法和技巧。正好招了新队员进队,接下来记录一些和新队员一起重新配集群环境的过程。
长期以来,超算队都使用 CentOS7 作为主要的技术栈,可以和超算中心的大部分集群共享类似的使用环境。作为 RHEL 的马甲,CentOS 有相近的稳定性,并且可以白嫖来自 Red Hat 的补丁。然而长期使用 CentOS 后也积累了很多不便:
这使得我们将目光投向其它系统。最终选择 Debian11 作为接下来几年大家公用的系统环境,因为如下的优点:
这个 Dockerfile 给出了在全新 debian:11 上配置一个可用的 spack 的过程。
当前计划是,除驱动和 spack 的依赖均使用系统自带的包管理器 apt 安装,所有的软件使用非管理员账户 scc 通过 spack 源码安装,从而保证整个系统环境的整洁。
给包管理器加上 non-free 软件源(为了 nvidia-driver)。
1
2
3
mkdir -p /mnt/sdb1
mount /dev/sdb1 /mnt/sdb1
echo '/dev/sdb1 /mnt/sdb1 ext4 defaults 0 2' | sudo tee -a /etc/fstab
1
2
3
4
echo 'ADD_EXTRA_GROUPS=1' | sudo tee -a /etc/adduser.conf
echo 'EXTRA_GROUPS=docker' | sudo tee -a /etc/adduser.conf
echo 'EXTRA_GROUPS=video' | sudo tee -a /etc/adduser.conf # for rocm
echo 'EXTRA_GROUPS=render' | sudo tee -a /etc/adduser.conf # for rocm
创建一个账户,用于创建各自的账号。
1
2
3
4
adduser adduser
# 把下面内容加到最后
# adduser ALL=(ALL) /usr/sbin/adduser
visudo
创建一个账号用于 yum。
1
2
3
4
adduser yum
# 把下面内容加到最后
# yum ALL=(ALL) /usr/bin/yum
visudo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
yum install kernel-headers-`uname -r` kernel-devel-`uname -r`
yum install wget
yum install epel-release
yum install centos-release-scl #Only for CentOS 7.9
yum install devtoolset-7
source scl_source enable devtoolset-7
echo '[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/latest/rhel/7.9/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key' | sudo tee /etc/yum.repos.d/amdgpu.repo
yum clean all
yum install amdgpu-dkms
reboot
1
yum -y install docker-io
1
2
3
4
5
yum install \
gcc gcc-c++ python3 \
make patch patchelf bash \
tar gzip unzip bzip2 xz \
file gnupg2 git
Related posts