AWS ParallelCluster 3 では共有ストレージのマウント先に /mnt 直下を指定できなくなりました

/mnt/[任意のディレクトリ名] であればマウントできます!
2023.01.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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系のコンフィグを移植することがあれば、一度コンフィグ書いてみてドライランでバリデーションチェックかけるのが手っ取り早い確認方法になるかと思います。細かい内容までドキュメントに載っていませんので。

SharedStorage section - AWS ParallelCluster