RockLinux8にて、SLURM並列計算環境の構築のおさらいまとめ(一から構成しよう)その1:mungeとslurmインストーラのコンパイルについて
| 登録日 | :2024/03/09 21:12 |
|---|---|
| カテゴリ | :SLURM |
RockyLinux8でSLURM並列計算環境を構築する手順を改めておさらいして、まとめてみようと思う。
環境としては、RockyLinuxのインストーラにて「rpmbuild」開発ツールのみを追加しGUIサーバのインストールを行っておく。
1. mariadbのインストール
ここは本題ではないため、オンラインでdnfインストール
[root@headnode ~]# dnf install mariadb-server --nobest
インストールされるパッケージは以下のようになる。
もしオフライン環境の場合は、rpmファイルをダウンロードしてきて一つずつインストールすることになると思う。参考情報(https://nonoco.believeriver.site/detail_mark/121/)
mariadb-server x86_64 3:10.3.39-1.module+el8.8.0+1452+2a7eab68 appstream 16 M依存関係のインストール:
mariadb x86_64 3:10.3.39-1.module+el8.8.0+1452+2a7eab68 appstream 6.0 M
mariadb-common x86_64 3:10.3.39-1.module+el8.8.0+1452+2a7eab68 appstream 63 k
mariadb-connector-c x86_64 3.1.11-2.el8_3 appstream 199 k
mariadb-connector-c-config noarch 3.1.11-2.el8_3 appstream 14 k
mariadb-errmsg x86_64 3:10.3.39-1.module+el8.8.0+1452+2a7eab68 appstream 234 k
perl-DBD-MySQL x86_64 4.046-3.module+el8.9.0+1501+450eec3b appstream 155 k 弱い依存関係のインストール:
mariadb-backup x86_64 3:10.3.39-1.module+el8.8.0+1452+2a7eab68 appstream 6.1 M
mariadb-gssapi-server x86_64 3:10.3.39-1.module+el8.8.0+1452+2a7eab68 appstream 51 k
mariadb-server-utils x86_64 3:10.3.39-1.module+el8.8.0+1452+2a7eab68 appstream 1.1 M
インストール済み:
mariadb-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
mariadb-backup-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
mariadb-common-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
mariadb-connector-c-3.1.11-2.el8_3.x86_64
mariadb-connector-c-config-3.1.11-2.el8_3.noarch
mariadb-errmsg-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
mariadb-gssapi-server-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
mariadb-server-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
mariadb-server-utils-3:10.3.39-1.module+el8.8.0+1452+2a7eab68.x86_64
perl-DBD-MySQL-4.046-3.module+el8.9.0+1501+450eec3b.x86_64
2. slurm, mungeのインストーラをダウンロードする
2-1 mungeのダウンロード(ダウンロード場所:https://github.com/dun/munge/releases/)
mungeについては、最新のmunge-0.5.15をダウンロードする。
GitHubからのため、もしLinuxがローカルの場合は、ダウンロードしてUSBで転送してもOK。
[root@headnode download]# wget https://github.com/dun/munge/releases/download/munge-0.5.15/munge-0.5.15.tar.xz
[root@headnode download]# wget https://github.com/dun/munge/releases/download/munge-0.5.15/munge-0.5.15.tar.xz.asc
[root@headnode download]# wget https://github.com/dun.gpg
ダウンロードされたファイルは以下の通り
[root@headnode download]# ls -l
合計 464
-rw-r--r--. 1 root root 4710 3月 10 21:10 dun.gpg
-rw-r--r--. 1 root root 459468 6月 23 2022 munge-0.5.15.tar.xz
-rw-r--r--. 1 root root 833 6月 23 2022 munge-0.5.15.tar.xz.asc
2-2 slurmのダウンロード(ダウンロード場所:https://download.schedmd.com/slurm/)
[root@headnode slurm]# wget https://download.schedmd.com/slurm/slurm-21.08.8-2.tar.bz2
--2024-03-10 21:56:02-- https://download.schedmd.com/slurm/slurm-21.08.8-2.tar.bz2
download.schedmd.com (download.schedmd.com) をDNSに問いあわせています... 71.19.154.210
download.schedmd.com (download.schedmd.com)|71.19.154.210|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 6747045 (6.4M) [application/x-bzip2]
`slurm-21.08.8-2.tar.bz2' に保存中
slurm-21.08.8-2.tar.bz2 100%[====================================================================================================>] 6.43M 1.15MB/s 時間 7.6s
2024-03-10 21:56:11 (862 KB/s) - `slurm-21.08.8-2.tar.bz2' へ保存完了 [6747045/6747045]
[root@headnode slurm]#
ダウンロード結果
[root@headnode slurm]# ls -l
合計 6592
-rw-r--r--. 1 root root 6747045 5月 6 2022 slurm-21.08.8-2.tar.bz2
[root@headnode slurm]#
3. slurm, mungeのコンパイルを行う
3-1 mungeのコンパイル
mungeをコンパイルするには、以下のライブラリをインストールしておく。
エラー: ビルド依存性の失敗:
bzip2-devel は munge-0.5.15-1.el8.x86_64 に必要とされています
gcc は munge-0.5.15-1.el8.x86_64 に必要とされています
make は munge-0.5.15-1.el8.x86_64 に必要とされています
openssl-devel は munge-0.5.15-1.el8.x86_64 に必要とされています
zlib-devel は munge-0.5.15-1.el8.x86_64 に必要とされています
オンラインであれば、yumでインストールするとよい
yum install bzip2-devel
yum install gcc
yum install make
yum install openssl-devel
yum install zlib-devel
参考)https://nonoco.believeriver.site/detail_mark/207/
rpmbuild -tb --clean munge-0.5.15.tar.xz 2>&1 | tee munge-0.5.15_rpmbuild.log
ビルドが完了すると、以下のフォルダにmungeのインストールファイルが作成されている
/root/rpmbuild/RPMS/x86_64
[root@headnode x86_64]# ls -l
合計 604
-rw-r--r--. 1 root root 143412 3月 10 22:18 munge-0.5.15-1.el8.x86_64.rpm
-rw-r--r--. 1 root root 230188 3月 10 22:18 munge-debuginfo-0.5.15-1.el8.x86_64.rpm
-rw-r--r--. 1 root root 135284 3月 10 22:18 munge-debugsource-0.5.15-1.el8.x86_64.rpm
-rw-r--r--. 1 root root 22948 3月 10 22:18 munge-devel-0.5.15-1.el8.x86_64.rpm
-rw-r--r--. 1 root root 24524 3月 10 22:18 munge-libs-0.5.15-1.el8.x86_64.rpm
-rw-r--r--. 1 root root 46932 3月 10 22:18 munge-libs-debuginfo-0.5.15-1.el8.x86_64.rpm
[root@headnode x86_64]#
3-2 slurmのコンパイル
slurm-21.08.02をコンパイルするには、以下のライブラリインストールが事前に必要
エラー: ビルド依存性の失敗:
munge-devel は slurm-21.08.8-2.el8.x86_64 に必要とされています
munge-libs は slurm-21.08.8-2.el8.x86_64 に必要とされています
pam-devel は slurm-21.08.8-2.el8.x86_64 に必要とされています
perl(ExtUtils::MakeMaker) は slurm-21.08.8-2.el8.x86_64 に必要とされています
readline-devel は slurm-21.08.8-2.el8.x86_64 に必要とされています
以下のライブラリはオンラインであれば、それぞれyumでインストールすればよい。
yum install pam-devel
yum install perl-ExtUtils-MakeMaker
yum install readline-devel
mungeに関しては、先にコンパイルしておいたmungeのインストールが必要となる。
すなわち、slurmをコンパイルするにはmungeをインストールしておく必要があるということになる。
コンパイルをしたmungeファイルの保管場所にて、以下のようにインストールする。
rpm -ivh munge-*
[root@headnode munge]# rpm -ivh munge-*
Verifying... ################################# [100%]
準備しています... ################################# [100%]
更新中 / インストール中...
1:munge-debugsource-0.5.15-1.el8 ################################# [ 17%]
2:munge-debuginfo-0.5.15-1.el8 ################################# [ 33%]
3:munge-libs-0.5.15-1.el8 ################################# [ 50%]
4:munge-0.5.15-1.el8 ################################# [ 67%]
Run /usr/sbin/mungekey as the munge user to create a key.
For example: "sudo -u munge /usr/sbin/mungekey -v".
Refer to the mungekey(8) manpage for more information.
5:munge-devel-0.5.15-1.el8 ################################# [ 83%]
6:munge-libs-debuginfo-0.5.15-1.el8################################# [100%]
[root@headnode munge]#
これで良いかと思いきや、ここでslurmパッケージをコンパイルするすと、以下のようなエラーが発生するようである。
ファイルの処理中: slurm-slurmdbd-21.08.8-2.el8.x86_64
エラー: ファイルが見つかりません: /root/rpmbuild/BUILDROOT/slurm-21.08.8-2.el8.x86_64/usr/lib64/slurm/accounting_storage_mysql.so
mariadbをインストールするだけではだめのようで、以下のように開発ツールのライブラリもインストールする必要があるようだ。
yum install mariadb-devel
yum install mariadb-embedded
yum install mariadb-embedded-devel
slurmパッケージをコンパイルする。
rpmbuild -ta slurm-21.08.8-2.tar.bz2 2>&1 | tee rpmbuild-slurm.log
無事コンパイルが終了すると以下のようになる。
ッケージに含まれないファイルの検査中: /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/slurm-21.08.8-2.el8.x86_64
書き込み完了: /root/rpmbuild/SRPMS/slurm-21.08.8-2.el8.src.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-perlapi-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-devel-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-example-configs-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-slurmctld-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-slurmd-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-slurmdbd-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-libpmi-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-torque-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-openlava-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-contribs-21.08.8-2.el8.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/slurm-pam_slurm-21.08.8-2.el8.x86_64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.7wcwpP
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd slurm-21.08.8-2
+ rm -rf /root/rpmbuild/BUILDROOT/slurm-21.08.8-2.el8.x86_64
+ exit 0
[root@headnode slurm]#
slurmのパッケージが作成されていることを確認する。
root@headnode x86_64]# pwd
/root/rpmbuild/RPMS/x86_64
[root@headnode x86_64]# ls -l
合計 21328
-rw-r--r--. 1 root root 17239640 3月 10 23:37 slurm-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 21164 3月 10 23:38 slurm-contribs-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 83776 3月 10 23:37 slurm-devel-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 12760 3月 10 23:37 slurm-example-configs-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 163528 3月 10 23:38 slurm-libpmi-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 12900 3月 10 23:38 slurm-openlava-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 173876 3月 10 23:38 slurm-pam_slurm-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 838156 3月 10 23:37 slurm-perlapi-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 1523696 3月 10 23:38 slurm-slurmctld-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 763240 3月 10 23:38 slurm-slurmd-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 840512 3月 10 23:38 slurm-slurmdbd-21.08.8-2.el8.x86_64.rpm
-rw-r--r--. 1 root root 140276 3月 10 23:38 slurm-torque-21.08.8-2.el8.x86_64.rpm
[root@headnode x86_64]#