各OS毎の対応(2022.12.18)

OS提供バージョンリポジトリなど
RockyLinux 922.05.6
23.02.7
epel
rocky-release-hpc
RockyLinux 820.11.9
22.05.11
23.02.7
epel
rocky-release-hpc
rocky-release-hpc
CentOS 720.11.9epel
Ubuntu 20.0419.05.5universe
Ubuntu 22.0421.08.5universe
Ubuntu 24.0423.11.4universe

起点を「/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.6 (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-25-05-3-1
slurm-25-05-4-1
slurm-25-11-0-0rc1
slurm-25-11-0-0rc2
start
[root@slurm slurm]#
[root@slurm slurm]# git checkout slurm-25-05-4-1
[root@slurm slurm]# git branch
* (HEAD detached at slurm-25-05-4-1)
  master
[root@slurm slurm]# cd ..
[root@slurm ~]# tar --exclude-vcs --transform 's/slurm/slurm-25.05.4/' -cvjf slurm-25.05.4.tar.bz2 slurm
 
[root@slurm ~]# tar tvf slurm-25.05.4.tar.bz2 | head -n 3
drwxr-xr-x root/root         0 2025-11-05 13:08 slurm-25.05.4/
-rw-r--r-- root/root       119 2025-11-05 13:04 slurm-25.05.4/AUTHORS
drwxr-xr-x root/root         0 2025-11-05 13:08 slurm-25.05.4/CHANGELOG/
[root@slurm ~]#

cgroup

version 25.05 から cgroup 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訳)
「cgroup/v1の非推奨プロセスが開始されました。これは今後、新機能の追加は行われず、重大なバグに対するサポートのみが提供されることを意味します。
slurmdはcgroup/v1システム下で動作していることを検知すると警告を出力します。完全なサポートと新機能を利用するため、cgroup/v2へのアップグレードをできるだけ早く行うことを推奨します。」

OSがcgroupのv1かv2なのかは「stat -fc %T /sys/fs/cgroup/」で確認できます
Rockylinux9は cgroup/v2 です

slurmに載せたい機能

slurmの運用で有効にさせたい機能があってここでは下記を有効にしてみた

他にもありましたが、numa, hdf5, ucx, lua はら無効としました.
データベースでアカウント対応を行う「slurmdbd」は小規模なので要らないかなと思ったのですが、「mariadb-devel」は必要でした

っでこれら有効にしたい機能を実現させるために追加のパッケージを入れて置きます

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
 
dnf localinstall /Public/cuda/cuda-repo-rhel9-12-8-local-12.8.1_570.124.06-1.x86_64.rpm
dnf install cuda-nvml-devel-12-8
 
dnf remove cuda-repo-rhel9-12-8-local-12.8.1_570.124.06-1.x86_64

numaはnumactl-devel、hdf5はhdf5-devel、ucxはucx-devel、luaはcompat-lua-develが必要

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 1
%_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-12.8
%_with_freeipmi --with-freeipmi=/usr
%_with_jwt --with-jwt=/usr
%_with_slurmrestd 1
 
[root@slurm ~]#

x11は有効に
hdf5は「%_with_hdf5 1」、ucxは「%_with_ucx --with-ucx=/usr」、X11は環境がokなら有効になる. luaはパッケージがあればok

rpmbuildでパッケージを作る

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

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

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

作成されたrpmファイルは

[root@slurm ~]# ls -l rpmbuild/RPMS/x86_64/
 
-rw-r--r--. 1 root root 19408368 Nov  5 13:33 slurm-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root    20112 Nov  5 13:32 slurm-contribs-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root    82780 Nov  5 13:32 slurm-devel-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root    13435 Nov  5 13:32 slurm-example-configs-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   162249 Nov  5 13:32 slurm-libpmi-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root    12984 Nov  5 13:32 slurm-openlava-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   151966 Nov  5 13:32 slurm-pam_slurm-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   813539 Nov  5 13:32 slurm-perlapi-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   106039 Nov  5 13:32 slurm-sackd-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root  1633815 Nov  5 13:32 slurm-slurmctld-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root  1040653 Nov  5 13:32 slurm-slurmd-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   918998 Nov  5 13:32 slurm-slurmdbd-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   201751 Nov  5 13:32 slurm-slurmrestd-25.05.4-1.el9.x86_64.rpm
-rw-r--r--. 1 root root   133749 Nov  5 13:32 slurm-torque-25.05.4-1.el9.x86_64.rpm
 
[root@slurm ~]#
 
(中身確認)
[root@slurm ~]# rpm -qpli ./rpmbuild/RPMS/x86_64/slurm-25.05.4-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件
2025-11-09 2025-11-05 2025-11-03 2025-11-02 2025-10-31 2025-10-30 2025-10-29 2025-10-28 2025-10-26 2025-10-25 2025-10-24 2025-10-22 2025-10-21 2025-10-17 2025-10-13 2025-10-12 2025-10-11 2025-10-06 2025-10-05 2025-10-01 2025-09-30 2025-09-29 2025-09-28 2025-09-25 2025-09-24 2025-09-23 2025-09-21 2025-09-20 2025-09-17 2025-09-14 2025-09-13 2025-09-12 2025-09-11 2025-09-01 2025-08-28 2025-08-22 2025-08-18 2025-08-17 2025-08-16

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-11-05 (水) 13:38:16