大事な事っぽい事

っで各計算ノード毎(OS毎)の構築
slurm/node/ubuntu

RockyLinux9

slurm/rpmbuildで作成したパッケージを適用します

[root@n2 ~]# dnf install epel-release -y
[root@n2 ~]# dnf install --enablerepo=epel libjwt pmix-pmi
 
[root@n2 ~]# dnf localinstall slurm-slurmd-24.05.3-1.el9.x86_64.rpm \
                              slurm-24.05.3-1.el9.x86_64.rpm
                              
 
[root@n2 ~]# echo "D /run/slurm 0755 slurm slurm -" > /usr/lib/tmpfiles.d/slurm.conf
 
[root@n2 ~]# /usr/bin/systemd-tmpfiles --create /usr/lib/tmpfiles.d/slurm.conf
 
[root@n2 ~]# mkdir -p        /var/spool/slurm/d /var/log/slurm  /opt/slurm/etc
 
[root@n2 ~]# chown slurm.    /var/spool/slurm/d /var/log/slurm
 
[root@n2 ~]# echo -e "export PATH=\${PATH}:/opt/slurm/bin\nexport LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/opt/slurm/lib64" > /etc/profile.d/slurm.sh
 
[root@n2 ~]# echo -e "setenv PATH ${PATH}:"/opt/slurm/bin\nsetemv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:"/opt/slurm/lib64" > /etc/profile.d/slurm.csh
 
 
 
[root@n2 ~]# /opt/slurm/sbin/slurmd -C
NodeName=n2 CPUs=2 Boards=1 SocketsPerBoard=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=15732    -> この内容を管理ノードのslurm.confに加える
UpTime=0-00:13:31
[root@n2 ~]#

設定ファイルは管理ノードから頂きます

(管理ノードから「slurm.key」を受領する)
[root@slurm ~]# scp /opt/slurm/etc/slurm.key  n2:/opt/slurm/etc/slurm.key

もし管理ノードで「Configless 」が未定義ならslurm/manager#d2a5c73c 「/opt/slurm/etc」のslurm.conf、gres.conf、cgroup.conf らのファイル転送をコピーする

firewall. slurm.confの「SlurmdPort」を開けておく

[root@n2 ~]# firewall-cmd --add-port=6818/tcp --zone=public --permanent
[root@n2 ~]# firewall-cmd --reload

最後にデーモンを起動させます

[root@n2 ~]# systemctl enable slurmd --now

*nvidia関係は「persistence mode」を有効にした方がいいかも NVIDIA#o13e41e5

メモ

rshは不要.
しかも 計算ノードの ssh ログインをroot以外拒否でも構わない。

[root@n2 ~]# vi /etc/ssh/sshd_config
 :
 :
AllowUsers root
 
[root@n2 ~]#
[root@n2 ~]# systemctl restart sshd

これはジョブの実行云々に関わらず常にずっとrootしか入れない。それをリソース確保した計算ノードのみsshで入れる仕組みが「slurm-pam_slurm」パッケージ

[root@n2 ~]# dnf   localinstall   slurm-pam_slurm-24.05.1-1.el9.x86_64.rpm
 
[root@n2 ~]# ls -l /lib64/security/pam_slurm*
-rwxr-xr-x 1 root root 305664 Jul 24 22:50 /lib64/security/pam_slurm_adopt.so
-rwxr-xr-x 1 root root 201016 Jul 24 22:50 /lib64/security/pam_slurm.so
 
[root@n2 ~]# echo "/opt/slurm/lib64" > /etc/ld.so.conf.d/slurm.conf 
[root@n2 ~]# ldconfig

設定してみる

(管理ノードでPrologFlagsを付ける)
[root@slurm ~]# vi /opt/slurm/etc/slurm.conf
 :
PrologFlags=contain
[root@slurm ~]# scontrol reconfig
 
 
(計算ノードでpamの調整)
[root@n2 ~]# vi /etc/pam.d/sshd
 :
account    required      pam_slurm_adopt.so    # 末尾に追記
[root@n2 ~]# 
[root@n2 ~]# vi /etc/pam.d/password-auth
 :
#-session     optional      pam_systemd.so     # pam_systemd.so を無効化
 :
[root@n2 ~]#

っでテスト
何もそのノードで自分のジョブが動いていないと

[illya@slurm ~]$ ssh n2
illya@n2's password:
Access denied by pam_slurm_adopt: you have no active jobs on this node
Connection closed by 192.168.0.15 port 22
[illya@slurm ~]$

と弾かれる。

っで、ジョブを掴んで

[illya@slurm ~]$ srun --gres=gpu:1 -w n2 --pty bash
[illya@n2 ~]$ nvidia-smi -L
GPU 0: NVIDIA T600 (UUID: GPU-01226552-df75-5989-c2f3-3550cdc3427d)
[illya@n2 ~]$

そのまま別のターミナルからsshを試みると

[illya@slurm ~]$ ssh n2
illya@n2's password:
Last login: Thu Jul 25 03:50:40 2024 from 192.168.0.69
[illya@n2 ~]$ nvidia-smi -L
GPU 0: NVIDIA T600 (UUID: GPU-01226552-df75-5989-c2f3-3550cdc3427d)
[illya@n2 ~]$

GPUデバイスも使えるみたい.

複数のGPUを載せている場合は?

メモ

最新の60件
2024-10-11 2024-10-10 2024-10-09 2024-10-08 2024-10-06 2024-10-05 2024-10-04 2024-10-03 2024-10-02 2024-10-01 2024-09-30 2024-09-29 2024-09-28 2024-09-27 2024-09-22 2024-09-20 2024-09-17 2024-09-12 2024-09-09 2024-09-08 2024-09-06 2024-09-05 2024-09-04 2024-09-02 2024-09-01 2024-08-31 2024-08-28 2024-08-18 2024-08-17 2024-08-16 2024-08-15 2024-08-14 2024-08-11

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-10-05 (土) 07:15:24