AWS ParallelCluster 2系のコンフィグから3系へクラスターの設定を移植作業していました。2系の設定を踏襲すると3系でエラーになり、クラスターを作成できない設定箇所があったので共有します。
共有したい内容
- ParallelCluster 2系では共有ストレージを
/mnt
へマウントが許可されていました - 3系では禁止されていました
エラーメッセージ
Error: The shared storage mount directory /mnt is reserved. Please use another directory
対応方法
/mnt
配下のディレクトリへはマウントできます。/mnt
直下へのマウントは諦めてマウントパスは任意のディレクトリ(例:/mnt/hoge
)にすれば問題ありません。
検証環境
- AWS ParallelCluster 3.4.1
状況
共有ストレージのマウントパスは ParallelCluster 2系ではshared_dir
の項目で指定していました。以下の設定例では/mnt
に EFS をマウントできていました。
2系のクラスターコンフィグ
[efs cluster_efs]
# EFS Setting
efs_fs_id = fs-hogehoge
shared_dir = mnt
ParallelCluster 3 の設定だと
メジャーアップデートを機に ParallelCluster 3系からコンフィグのフォーマットが刷新されました。
EFS などの共有ストレージを所定のパスへマウントする場合はSharedStorage:
の項目に以下の様に記述します。
3系のクラスターコンフィグ
SharedStorage:
- MountDir: /mnt
Name: efs
StorageType: Efs
EfsSettings:
FileSystemId: fs-hogehoge
/mnt
へ共有ストレージをマウントする設定でクラスターを作成時に以下のエラーメッセージが出力されました。正確には--dryrun true
してバリデーションチェックしてわかりました。
"configurationValidationErrors": [
{
"level": "ERROR",
"type": "SharedStorageMountDirValidator",
"message": "Error: The shared storage mount directory /mnt is reserved. Please use another directory"
},
/mnt
へのマウントは禁止されていました。
ベターなマウント設定方法
/mnt
配下のディレクトリへマウントするように設定しましょう。指定したディレクトリは自動作成されます。
SharedStorage:
- MountDir: /mnt/efs
Name: efs
StorageType: Efs
EfsSettings:
FileSystemId: fs-hogehoge
おわりに
ParallelCluster 3.4.1 時点のユーザーガイドには/mnt
へのマウントは禁止という注釈はありませんでした。試してみて気づいたので今更ですが2系のコンフィグを移植することがあれば、一度コンフィグ書いてみてドライランでバリデーションチェックかけるのが手っ取り早い確認方法になるかと思います。細かい内容までドキュメントに載っていませんので。