Simple Linux Utility for Resource Management 本家様 slurm
ジョブスケジューラ。SunGridEngineをいろいろ調整していたのだが、、、、良く分からん。
結局TORQUEを作ってみたが、ノード指定があるのに躊躇う。必要なコア数とメモリー量だけでノードが決まる代物が欲しくて調べてみた。

Torque:
   queue + node(マシン数) + ppn(processors per node)
 
Slurm:
   queue + ntasks(MPI数)

パッケージ作成 slurm/rpmbuild
パッケージインストール slurm/install
計算ノード/queue設定slurm/slurm.conf

全体像

TORQUEと同じようにsamba AD/NFS環境で/home,/Applが共有され、計算ノードはn1,n2,n3の3台で、ジョブを投入するサイトが1台。
ジョブを管理するslurm管理ノードが1台とする。
各ノードはsambaに登録させておく。登録方法はsamba/Linux参加参照

各マシンの時計はntpdとかで同期され、各マシンのOSは全てCentOS 7とします
2014y12m21d_132425146.png

役目ホスト名IPアドレスcore数備考
管理ノードslurm.sybyl.jp192.168.0.691slurmctldが起動
計算ノードn1.sybyl.jp192.168.0.521slurmdが起動
n2.sybyl.jp192.168.0.532
n3.sybyl.jp192.168.0.543
ジョブ発行ノードclient.sybyl.jp192.168.0.201srun,sbatchの
他TORQUEコマンドも使用可能

共通アカウントslurmを用意します。samba/ユーザ登録

[root@c ~]# /opt/samba/bin/samba-tool group add slurm --group-scope=Global --group-type=Security \
  --description='ジョブコントロール slurm' --mail-address=xxxx@yyy.jp --notes='仕分け人' \
  --gid-number=2003 --nis-domain=sybyl
 
[root@c ~]# /opt/samba/bin/samba-tool user create slurmuser --must-change-at-next-login \
  --random-password  --use-username-as-cn --internet-address='https://slurm.schedmd.com/overview.html' \
  --uid=slurmuser --uid-number=2003 --gid-number=2003  --login-shell=/bin/bash  \
  --nis-domain=sybyl --unix-home=/var/lib/slurm

確認

[root@slurm ~]# id slurmuser
uid=2003(slurmuser) gid=2003(slurm) groups=2003(slurm),3000(domain users)
 
[root@slurm ~]# getent passwd slurmuser
slurmuser:*:2003:2003:slurmuser:/var/lib/slurm:/bin/bash
 
[root@slurm ~]#

munge

全てのクラスターノード(slurm,n1,n2,n3,client)にmungeパッケージをインストールする。
標準リポジトリでは提供されていないようで、epelリポジトリを有効にしてインストールを行う。

[root@slurm ~]# yum install epel-release
[root@slurm ~]# yum install munge munge-libs

次に、munge.key(/etc/munge/munge.key)を作成して、mungeデーモンを起動させる

[root@slurm ~]# /usr/sbin/create-munge-key
Generating a pseudo-random key using /dev/urandom completed.
 
[root@slurm ~]# systemctl enable munge.service
[root@slurm ~]# systemctl start munge.service

この作成したmunge.keyをクラスターに参加する全てのマシンに配布します
*n1,n2,n3,clientも同様にmungeパッケージのインストールも行う

例えば n1.sybyl.local マシンに対して、

[root@slurm ~]# ssh -l root n1 'yum install epel-release -y && yum install munge munge-libs -y'
[root@slurm ~]# scp /etc/munge/munge.key root@n1:/etc/munge/munge.key
[root@slurm ~]# ssh -l root n1 chown munge:munge /etc/munge/munge.key

*munge.keyファイルの所有者に留意する事


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2021-01-03 (日) 06:21:37 (57d)