各OS毎の対応(2025.05.25)

OS提供バージョンリポジトリなど
RockyLinux 922.05.9
23.11.3
epel
hpc-core
RockyLinux 820.11.9
23.11.3
epel
hpc-core
CentOS 720.11.9epel
Ubuntu 20.0419.05.5universe
Ubuntu 22.0421.08.5universe
Ubuntu 24.0423.11.4universe
Ubuntu 26.0425.11.2universe

slurm.confで「AuthType=auth/slurm」を使えるようになるのは Slurm v23.11 から. それでまではmungeを使う必要がある.
cgroups v2に対応になったのは slurm v22 .05 から
あと「Configless」機能は slurm v20.02 から

起点を「/opt/slrum」にして設定ファイルも同じく「/opt/slurm/etc」に配置させ
この「/opt/slrum」を共有させればいいのかなと思うが、そうなるとパッケージを用意する必要になる. クラスターが単一OSなら. ヘテロOS環境なら既存のパッケージでいいのかも

っで作ってみた(ubuntuの計算ノードとかには使えないけど)
*ubuntuのパッケージ作成方法はよく分からないので、作ってないです. ubuntu系はソースから作成なのかも

作成方法はhttps://slurm.schedmd.com/quickstart_admin.htmlに従います.

まずはソースのtar.bz2を用意します

[root@slurm ~]# cat /etc/redhat-release
Rocky Linux release 9.8 (Blue Onyx)
 
[root@slurm ~]# git clone https://github.com/SchedMD/slurm.git
[root@slurm ~]# cd slurm/
[root@slurm slurm]# git tag | tail -n 5
slurm-26-05-0-0rc1
slurm-26-05-0-1
slurm-26-05-1-1
slurm-26-05-2-1
start
[root@slurm slurm]#
[root@slurm slurm]# git checkout slurm-26-05-2-1
[root@slurm slurm]# git branch
* (HEAD detached at slurm-26-05-2-1)
  master
[root@slurm slurm]# cd ..
[root@slurm ~]# tar --exclude-vcs --transform 's/slurm/slurm-26.05.2/' -cvjf slurm-26.05.2.tar.bz2 slurm
 
[root@slurm ~]# tar tvf slurm-26.05.2.tar.bz2 | head -n 3
drwxr-xr-x root/root         0 2026-08-09 00:53 slurm-26.05.2/
-rw-r--r-- root/root        65 2026-08-09 00:52 slurm-26.05.2/.git-blame-ignore-revs
-rw-r--r-- root/root       119 2026-08-09 00:52 slurm-26.05.2/AUTHORS
[root@slurm ~]#

cgroups

version 25.05 から cgroups v1 な環境は非推奨みたい.
https://github.com/SchedMD/slurm/blob/slurm-25.05/CHANGELOG/slurm-25.05.md

cgroup/v1 started its deprecation process, this means that from now on no new features will be added and only support for critical bugs be provided.
slurmd will emit a warning once it found it is running under a cgroup/v1 system. We recommend upgrading to cgroup/v2 as soon as possible in order to get full support and new features.
 
(DeepL訳)
cgroups/v1の非推奨プロセスが開始されました。これは今後、新機能の追加は行われず、重大なバグに対するサポートのみが提供されることを意味します。
slurmdはcgroups/v1システム下で動作していることを検知すると警告を出力します。完全なサポートと新機能を利用するため、cgroups/v2へのアップグレードをできるだけ早く行うことを推奨します。

OSがcgroupsのv1かv2なのかは「stat -fc %T /sys/fs/cgroup/」で確認できます. 出力が「cgroup2fs」なら cgroups/v2. 「tmpfs」なら cgroups/v1.
Rockylinux9は cgroup/v2 です
Rockylinux8は cgroup/v1 です。

v2への変更は「grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"」としてrebootすれば可能ですが、正直上手く動かないです.
素直にcgroups/v1のまま使った方がいい. その際は「slurm-23.11」がcgroups/v1の最終対応版となります.

slurmに載せたい機能

コンパイルオプションで無能の有効、無効ができるのですが、設定ファイル slrum.conf でも無効にできるので
全ての機能をまずは入れてみることにした
小規模なのに muna を入れるとか, 高速ネットワークでもないのに ucx を入れるとか、ジョブのプロファイリングデータをしないにの hdf5 をいれる?とかとか思うが、入れてみた

まずは追加のパッケージを入れて置きます

dnf groupinstall "Development tools"
dnf install epel-release -y
dnf config-manager --enable crb
dnf install  munge-devel readline-devel pam-devel perl-ExtUtils-MakeMaker perl-interpreter perl-devel \
             hwloc-devel mariadb-devel pmix-devel freeipmi-devel dbus-devel python3 json-c-devel lz4-devel librdkafka-devel \
             libcurl-devel man2html-core http-parser-devel libyaml-devel libjwt-devel json-devel libselinux-devel \
             lua-devel hdf5-devel ucx-devel ucx-rdmacm numactl-devel gtk2-devel
 
dnf localinstall /Public/cuda/cuda-repo-rhel9-13-2-local-13.2.1_595.58.03-1.x86_64.rpm
dnf install cuda-nvml-devel-13-2
 
dnf remove cuda-repo-rhel9-13-2-local

macroファイルの準備

slurm.specを直接いじらず設定ファイル(macro file)を作成します. これでslurm.specの情報を上書きできます

[root@slurm ~]# rpmbuild --version
RPM version 4.16.1.3
 
[root@slurm ~]# vi slurm.rpmmacros
%_prefix           /opt/slurm
%_slurm_sysconfdir %{_prefix}/etc
%_with_hwloc       --with-hwloc
%_with_pam 1       --with_pam_dir=/usr/lib64/security
%_with_pmix        --with-pmix=/usr
%_with_nvml        --with-nvml=/usr/local/cuda-13.2
%_with_freeipmi    --with-freeipmi=/usr
%_with_jwt         --with-jwt=/usr
%_with_numa        --with-numa
%_with_hdf5        --with-hdf5=yes
%_with_ucx         --with-ucx=/usr
%_with_lua         --with-lua
%_with_slurmrestd  1
 
[root@slurm ~]#

rpmbuildでパッケージを作る

[root@slurm ~]# rpmbuild  -ta  --load  slurm.rpmmacros  slurm-26.05.2.tar.bz2

RockyLinux8とかCentOS7なら rpmbuild で「--load」が使えないので下記のようにします

cp slurm.rpmmacros  .rpmmacros 
rpmbuild -ta slurm-26.05.2.tar.bz2
rm -rf .rpmmacros

作成されたrpmファイルは

[root@slurm ~]# ls -l rpmbuild/RPMS/x86_64/
 
-rw-r--r--. 1 root root 20609135 Aug  9 01:11 slurm-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root    20280 Aug  9 01:11 slurm-contribs-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root    86560 Aug  9 01:11 slurm-devel-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root    13429 Aug  9 01:11 slurm-example-configs-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   163543 Aug  9 01:11 slurm-libpmi-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root    13181 Aug  9 01:11 slurm-openlava-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   142447 Aug  9 01:11 slurm-pam_slurm-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   786022 Aug  9 01:11 slurm-perlapi-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   108486 Aug  9 01:11 slurm-sackd-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root  1722107 Aug  9 01:11 slurm-slurmctld-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root  1076909 Aug  9 01:11 slurm-slurmd-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   934890 Aug  9 01:11 slurm-slurmdbd-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   190877 Aug  9 01:11 slurm-slurmrestd-26.05.2-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   138973 Aug  9 01:11 slurm-torque-26.05.2-1.el9.x86_64.rpm
 
[root@slurm ~]#
 
(中身確認)
[root@slurm ~]# rpm -qpli ./rpmbuild/RPMS/x86_64/slurm-26.05.2-1.el9.x86_64.rpm | less

メモ

cudaライブラリ(cuda-nvml-devel)のないところでrpmbuildすると「/opt/slurm/lib64/slurm/gpu_nvml.so」が用意されない.
これがないと「/etc/slurm/gres.conf」で「AutoDetect=nvml」が使えない.

メモ2

slurm-23.11から「sackd」が入ったみたい. ジョブ投入サイトにてmungeの代わりにこれを入れます.

最新の60件
2026-09-11 2026-09-06 2026-09-05 2026-08-31 2026-08-27 2026-08-24 2026-08-20 2026-08-18 2026-08-17 2026-08-16 2026-08-15 2026-08-13 2026-08-12 2026-08-11 2026-08-09 2026-07-30 2026-07-25 2026-07-24 2026-07-20 2026-07-18 2026-07-17 2026-07-16 2026-07-08 2026-07-07 2026-07-06 2026-07-04 2026-07-02 2026-06-27 2026-06-24 2026-06-21 2026-06-17 2026-06-14 2026-06-13 2026-06-09 2026-06-08 2026-06-05 2026-06-04

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-08-09 (日) 01:13:36