LoginSignup
0
0

Slurmの認証にmungeが不要になった件

Posted at

TL;DL

Slurm v23.11 から従来コンポーネント間の認証に必須だった munge の代わりに組み込みのプラグインによる認証が使用可能となり、Slurm 構築がぐっと楽になりました。

Slurm 認証方式

従来 Slurm クラスタを構築する際には Slurm コンポーネント(slurmctld slurmd slurmdbd slurm-client など)間の通信・認証に munge が必須であったため、Slurm とは別パッケージとして munge をインストールし、鍵のセットアップや構成を行う必要がありました。

この munge、設定が難解 ... とまでは言わないのですが、そもそも認証機構を Slurm 外に持つこと自体が煩雑で、めんどくさい側面があったのは否めません。

これについて、Slurm v23.11 から自身のプラグインによる認証がサポートされるようになったため、Slurm 単独で通信・認証が完結するようになりました。

注意

現在 apt install などでインストールできる Slurm はややバージョンが古いため、23.11 系を使用するには手動でビルドが必要な可能性があります。当方もソースからビルドしたうえで試していますので、ご注意ください。

手順

ドキュメント載っている通りですが、再記載します。

キーを生成する

Slurm コンポーネントが認証に使用する共有キーとして、slurm.key を作成します。特殊なツールなどがあるわけではなく、中身はテキストデータ等でも問題ないようです。
なお、ファイルは /etc/slurm/slurm.key の一択となるようで、パスやファイル名の変更はできないようなので注意してください。

ドキュメントでは、/dev/random からランダムデータを生成する方法が紹介されています。

$ dd if=/dev/random of=/etc/slurm/slurm.key bs=1024 count=1

キーのパーミッション設定

slurm.key が必要なすべてのノードでアクセス可能となるよう、/etc/slurm に配置してください。
キーのパーミッションを適切に設定します(以下は Slurm ユーザが slurm の場合の例となるので slurm.confSlurmUser を参照うえ、適切に指定してください)。

$ chown slurm:slurm /etc/slurm/slurm.key
$ chmod 600 /etc/slurm/slurm.key

コンフィグ設定

それぞれ conf ファイルを以下のように設定します。
AuthType はデフォルトでは auth/munge になっているはずです。

  • slurm.conf
AuthType=auth/slurm
CredType=cred/slurm
  • slurmdbd.conf
AuthType=auth/slurm

設定後、各 Slurm デーモンを再起動してください。

クライアント設定

上述の Slurm 認証プラグインは各 Slurm のデーモンに内包されています。
もしいずれの Slurm デーモンが動作していないノード、つまり slurm-client だけが入っているログインノードのような環境では、デフォルトで上記認証は動作しません。

この場合は認証用のデーモンとして slurm-sackd を追加でインストールしてください。ビルドした場合も特に追加のビルドオプションなしで作成されるはずです。
ログインノードで Service として動作していれば OK です。

$ dpkg -i slurm-smd-sackd-xxxxx.deb
$ systemctl status sackd

動作確認

Slurm コマンドで各ノードやパーティションが見えていれば OK です。もしエラーになる場合は各デーモンのログを確認しましょう。

$ sinfo
NODELIST    NODES PARTITION STATE  CPUS MEMORY TMP_DISK WEIGHT FEATURES REASON
test[0-7]       8 sample*   idle      X   XXXX    XXXX     XX (null)   (null)

まとめ

やや新しめのバージョン向けではありますが認証機構を一本化でき、非常にシンプルな構成が採れるためメリットは大きいと思います。
これから構築される方はご検討ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0