SLURMのインストールと構成
SLURMのインストールと構成
SLURMの紹介
SLURMは、大規模なコンピューティングノードクラスタに使用できる高度に伸縮可能なクラスタマネージャおよびジョブスケジューリングシステムである.SLURMは、処理対象のジョブのキューを維持し、そのジョブの全体的なリソース利用を管理します.SLURMは、割り当てられたノードのセットにジョブを配布して実行する.
本質的には、SLURMは強力なクラスタマネージャであり、高度に移植可能であり、大規模なノードクラスタに伸縮可能であり、フォールトトレランスがよく、さらに重要なのはオープンソースである.
SLURMのアーキテクチャについてはhttp://slurm.schedmd.com/
SLURMのインストール
ここでのインストールは、CentOS 6.5へのインストールを例に挙げます.またSLURMはクラスタで使用されるため、ここでは同じバージョンのlinuxが3台あり、マシン名はそれぞれmycentos 6 x、mycentos 6 x 1、mycentos 6 x 2であり、mycentos 6 xが制御ノードであると仮定する.
MUNGEのインストール
まずSLURMはMUNGEで認証する必要があるので、まずMUNGEをインストールします.
MUNGE(https://github.com/dun/munge)の公式サイトからインストールパッケージをダウンロードし、munge-0.5.11.tar.bz 2ファイルを使用します.rootユーザーを使用して次のコマンドを実行します.
mungeパッケージのコンパイルとインストール
rpmパッケージのコンパイルとインストール中にサードパーティ製のパッケージが必要であることを示す場合があります.この場合、「yum install-y xxx」を使用してインストールできます.インストール時には、まず次のパッケージをインストールします.
インストールが完了したら、次のファイルの権限を変更する必要があります.
また、/etc/munge/munge.keyファイルをチェックする必要があります.ファイルのownerとgroupはmungeでなければなりません.そうしないと起動に失敗します.
インストールが完了すると、mungeサービスを開始できます.
最後に、/etc/munge/munge.keyを他の2つのマシンにコピーし、ファイル権限と所有者が同じであることを確認する必要があります.
SLURMのインストール
まずslurmユーザーを作成
SLURMへのアクセス(http://slurm.schedmd.com/)インストールパッケージをダウンロードします.ここではslurm-14.1.8.tar.bz 2インストールパッケージを使用します.
slurmパッケージのコンパイルとインストール
rpmパッケージのコンパイルとインストール中に次のパッケージのインストールを求められました.
インストールが完了したら、次のコマンドのグループを変更します.
ここまで、SLURMのインストールは完了しましたが、まだ起動できません.slurmサービスを起動してジョブをコミットするには、構成をする必要があります.
SLURMの構成
/etc/slurm/ディレクトリに入り、slurm.conf.exampleファイルをslurm.confにコピーし、/etc/slurm/slurm.confファイルを編集します.次は私のファイルで変更した部分です.
注意:このプロファイルをクラスタ内の各マシンに配備する必要があります.
ファイルを保存し、次のコマンドを使用してslurmサービスを開始します.
テスト
slurmサービスを開始したら、次のコマンドを使用してクラスタのステータスを表示し、ジョブをコミットできます.
ジョブの発行
クエリージョブ
ジョブのキャンセル
参照先:
SLURM:http://slurm.schedmd.com/ MUNGE: https://github.com/dun/munge
転載はリンク形式で本文の住所を明記してください.http://blog.csdn.net/kongxx/article/details/48173829
SLURMの紹介
SLURMは、大規模なコンピューティングノードクラスタに使用できる高度に伸縮可能なクラスタマネージャおよびジョブスケジューリングシステムである.SLURMは、処理対象のジョブのキューを維持し、そのジョブの全体的なリソース利用を管理します.SLURMは、割り当てられたノードのセットにジョブを配布して実行する.
本質的には、SLURMは強力なクラスタマネージャであり、高度に移植可能であり、大規模なノードクラスタに伸縮可能であり、フォールトトレランスがよく、さらに重要なのはオープンソースである.
SLURMのアーキテクチャについてはhttp://slurm.schedmd.com/
SLURMのインストール
ここでのインストールは、CentOS 6.5へのインストールを例に挙げます.またSLURMはクラスタで使用されるため、ここでは同じバージョンのlinuxが3台あり、マシン名はそれぞれmycentos 6 x、mycentos 6 x 1、mycentos 6 x 2であり、mycentos 6 xが制御ノードであると仮定する.
MUNGEのインストール
まずSLURMはMUNGEで認証する必要があるので、まずMUNGEをインストールします.
MUNGE(https://github.com/dun/munge)の公式サイトからインストールパッケージをダウンロードし、munge-0.5.11.tar.bz 2ファイルを使用します.rootユーザーを使用して次のコマンドを実行します.
mungeパッケージのコンパイルとインストール
# rpmbuild -tb --clean munge-0.5.11.tar.bz2
# cd /root/rpmbuild/RPMS/x86_64
# rpm --install munge*.rpm
rpmパッケージのコンパイルとインストール中にサードパーティ製のパッケージが必要であることを示す場合があります.この場合、「yum install-y xxx」を使用してインストールできます.インストール時には、まず次のパッケージをインストールします.
# yum install -y rpm-build rpmdevtools bzip2-devel openssl-devel zlib-devel
インストールが完了したら、次のファイルの権限を変更する必要があります.
# chmod -Rf 700 /etc/munge
# chmod -Rf 711 /var/lib/munge
# chmod -Rf 700 /var/log/munge
# chmod -Rf 0755 /var/run/munge
また、/etc/munge/munge.keyファイルをチェックする必要があります.ファイルのownerとgroupはmungeでなければなりません.そうしないと起動に失敗します.
インストールが完了すると、mungeサービスを開始できます.
# /etc/init.d/munge start
最後に、/etc/munge/munge.keyを他の2つのマシンにコピーし、ファイル権限と所有者が同じであることを確認する必要があります.
SLURMのインストール
まずslurmユーザーを作成
# useradd slurm
# passwd slurm
SLURMへのアクセス(http://slurm.schedmd.com/)インストールパッケージをダウンロードします.ここではslurm-14.1.8.tar.bz 2インストールパッケージを使用します.
slurmパッケージのコンパイルとインストール
# rpmbuild -ta --clean slurm-14.11.8.tar.bz2
# cd /root/rpmbuild/RPMS/x86_64
# rpm --install slurm*.rpm
rpmパッケージのコンパイルとインストール中に次のパッケージのインストールを求められました.
# yum install -y readline-devel pam-devel perl-DBI perl-ExtUtils-MakeMaker
インストールが完了したら、次のコマンドのグループを変更します.
# sudo chown slurm:slurm /var/spool
ここまで、SLURMのインストールは完了しましたが、まだ起動できません.slurmサービスを起動してジョブをコミットするには、構成をする必要があります.
SLURMの構成
/etc/slurm/ディレクトリに入り、slurm.conf.exampleファイルをslurm.confにコピーし、/etc/slurm/slurm.confファイルを編集します.次は私のファイルで変更した部分です.
ControlMachine=mycentos6x
ControlAddr=192.168.145.100
SlurmUser=slurm
SelectType=select/cons_res
SelectTypeParameters=CR_Core
SlurmctldDebug=3
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=3
SlurmdLogFile=/var/log/slurmd.log
NodeName=mycentos6x,mycentos6x1,mycentos6x2 CPUs=4 RealMemory=500 Sockets=2 CoresPerSocket=2 ThreadsPerCore=1 State=IDLE
PartitionName=control Nodes=mycentos6x Default=YES MaxTime=INFINITE State=UP
PartitionName=compute Nodes=mycentos6x1,mycentos6x2 Default=NO MaxTime=INFINITE State=UP
注意:このプロファイルをクラスタ内の各マシンに配備する必要があります.
ファイルを保存し、次のコマンドを使用してslurmサービスを開始します.
# /etc/init.d/slurm start
テスト
slurmサービスを開始したら、次のコマンドを使用してクラスタのステータスを表示し、ジョブをコミットできます.
# sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
control* up infinite 1 idle mycentos6x
compute up infinite 2 idle mycentos6x1,mycentos6x2
# scontrol show slurm reports
Active Steps = NONE
Actual CPUs = 2
Actual Boards = 1
Actual sockets = 1
Actual cores = 2
Actual threads per core = 1
Actual real memory = 1464 MB
Actual temp disk space = 29644 MB
Boot time = 2015-07-22T09:50:34
Hostname = mycentos6x
Last slurmctld msg time = 2015-07-22T09:50:37
Slurmd PID = 27755
Slurmd Debug = 3
Slurmd Logfile = /var/log/slurmd.log
Version = 14.11.8
# scontrol show config
# scontrol show partition
# scontrol show node
# scontrol show jobs
ジョブの発行
# srun hostname
mycentos6x
# srun -N 3 -l hostname
0: mycentos6x
1: mycentos6x1
2: mycentos6x2
# srun sleep 60 &
クエリージョブ
# squeue -a
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
77 debug sleep kongxx R 0:06 1 mycentos6x
ジョブのキャンセル
# scancel
参照先:
SLURM:http://slurm.schedmd.com/ MUNGE: https://github.com/dun/munge
転載はリンク形式で本文の住所を明記してください.http://blog.csdn.net/kongxx/article/details/48173829