

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# SPANK プラグインを使用して AWS PCS で Slurm 機能を拡張する
<a name="spank"></a>

SPANK (Slurm Plug-in Architecture for Node and job Kontrol) プラグインを使用して、PCS クラスターでのジョブの起動と実行中に Slurm AWS の動作を拡張および変更します。SPANK プラグインは、ジョブの起動ステージを傍受および変更するための汎用インターフェイスを提供します。

コンピューティングノード AMI に SPANK プラグインをインストールし、ワークロード要件に合わせて Slurm クラスターの動作をカスタマイズするように設定します。SPANK の詳細については、SchedMD ウェブサイトの [SPANK ドキュメント](https://slurm.schedmd.com/spank.html)を参照してください。

**Contents**
+ [PCS に SPANK AWS プラグインをインストールする](spank_install.md)
+ [PCS で SPANK AWS プラグインを設定する](spank_configure.md)
+ [PCS での SPANK AWS プラグインに関するよくある質問](spank_faq.md)

# PCS に SPANK AWS プラグインをインストールする
<a name="spank_install"></a>

プラグインのドキュメントに従って、AMI に SPANK プラグインをインストールします。

クラスター上の特定の Slurm バージョンの SPANK プラグインをコンパイルします。PCS が提供する Slurm AWS インストーラは、Slurm を に保存します`/opt/aws/pcs/scheduler/slurm-version`。プラグインをコンパイルするときは、Slurm バージョンを指定します。

次の例は、一部のプラグインの Slurm バージョンを指定する方法を示しています。

```
export CFLAGS="-I/opt/aws/pcs/scheduler/slurm-version/include"
```

AMI に複数の Slurm バージョンがある場合は、バージョンごとにプラグインをコンパイルします。コンパイルされたプラグインをバージョン管理されたフォルダに保存します。

次の例は、一部のプラグインの送信先フォルダを指定する方法を示しています。

```
export DESTDIR="your-preferred-versioned-path"
```

**重要**  
プラグインには異なる変数が必要になる場合があります。インストールするプラグインの公式ドキュメントを参照してください。

# PCS で SPANK AWS プラグインを設定する
<a name="spank_configure"></a>

デフォルトでは、設定ファイルを に保存します`/etc/aws/pcs/scheduler/slurm-version/plugstack.conf.d/`。

SPANK 設定を別の場所に保存するには、デフォルトのディレクトリの設定ファイルに場所を追加します。

次の例は、他のディレクトリの設定ファイルを含める方法を示しています。

```
# content of /etc/aws/pcs/scheduler/slurm-version/any-filename.conf  
include path-to-your-configuration-folder/*.conf  
include path-to-a-second-configuration-folder/*.conf
```

各設定を専用ファイルまたは共通ファイルに保存します。複数の設定ファイルを使用できます。

次の例は、サンプル設定ファイルを示しています。

```
# content of path-to-your-or-default-config-folder/filename-1.conf  
required path-to-plugin-1 arguments  
optional path-to-plugin-2 arguments
```

```
# content of path-to-your-or-default-config-folder/filename-2.conf  
required path-to-plugin-3 arguments
```

プラグインの設定方法の詳細については、SchedMD ウェブサイトの [SPANK 設定ドキュメント](https://slurm.schedmd.com/spank.html#SECTION_CONFIGURATION)を参照してください。

**重要**  
プラグイン設定への不正な変更を防ぐため、フォルダのアクセス許可を設定します。

**注記**  
AWS PCS は SPANK プラグインを管理しません。プラグインに関連するエラーが発生した場合は、コンピューティングノードのエラーログを確認してください。

**注記**  
Slurm は、SPANK 設定をロードするときに、次のようなエラーを誤ってログに記録します。  

```
error: "Include" failed in file /etc/slurm/plugstack.conf line 3
```
このエラーは無視して構いません。SPANK プラグインの動作には影響しません。

# PCS での SPANK AWS プラグインに関するよくある質問
<a name="spank_faq"></a>

このセクションでは、PCS クラスターへの SPANK AWS プラグインのインストールと設定に関する一般的な質問について説明します。

**ログインノードとコンピューティングノードの両方に SPANK プラグインをインストールする必要がありますか?**  
一部の SPANK プラグインはすべてのノードにインストールする必要はありませんが、互換性を高めるために、すべてのノードにすべての SPANK プラグインをインストールすることをお勧めします。

**SPANK プラグインを本番環境で使用するには、どのような追加設定が必要ですか?**  
例に示す基本的なインストールと設定以外にも、本稼働デプロイでは通常、追加のセットアップが必要です。Pyxis などのコンテナベースのプラグインでは、Enroot の環境変数の設定、PMI (プロセス管理インターフェイス) の有効化、コンテナランタイムのアクセス許可の設定が必要になる場合があります。本番環境のデプロイ要件の詳細については、特定のプラグインのドキュメントを参照してください。

**SPANK プラグインの問題をトラブルシューティングする方法を教えてください。**  
AWS PCS は SPANK プラグインを管理しません。コンピューティングノードのエラーログを調べて、問題をトラブルシューティングします。