0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

slurm federationを使ってaws parallel clusterと連携する(準備②)

Posted at

前提

前回オンプレでslurmのfederation機能を有効にするところまで行いました。
今回はaws側でslurm(parallel cluster)を構築するところまで行います。

似たサービス含めて私の認識は以下の通りです。多少間違っているかも

サービス サービス形態 使用技術
Parallel Cluster IaaS slurm,EC2,EFS,FSx,Auto Scale等
Batch SaaS docker,FarGate, EC2 ,Autoscale等
Parallel Computing Service SaaS 使った事がないので不明

PCS(Parallel Computing Service)については以下の記事で確認してください。
https://aws.amazon.com/jp/blogs/news/announcing-aws-parallel-computing-service-to-run-hpc-workloads-at-virtually-any-scale/

PCSだと全然slurm.confを直接触れないようです。
今回はUIを使ってPrallel Cluster(slurm)で構築します。

今回ハマったのが、default VPCを削除していると、なぜが失敗する現象が出ました。(解決方法不明)

一旦default VPCが残っている別の国にREGIONを変えることで一応成功しています。
同僚に聞いてもUI作成でよく失敗すると言っていたので明確な解決方法が見いだせてないようです。

UIクイックリンクからのParallelCluster用のスタック作成

CLIから行う場合は、ec2で環境を作る必要がありますが、
無料枠を使うとは言えもったいないので、REGION毎のUIクイックリンクから、
ParallelClusterの構成を行います。

リンクをクリックすると下図の画面になります。
スタック名とAdmin's EMailを設定してください。
メールアドレス宛に初期パスワードが送られますので正しいアドレスを入れてください。
スクリーンショット 2024-10-18 21.24.53.png

中間のオプションは今回すっ飛ばします。

下図のようにチェックボックス2つともONにしてください。
スクリーンショット 2024-10-18 21.25.31.png

「スタックの作成」を押すとCloudFormationが動き始めます。
スクリーンショット 2024-10-18 21.27.19.png

完了したら「出力タブ」のParallelClusterUIUrlのリンクをくりっくしてください
スクリーンショット 2024-10-18 21.36.18.png

ログイン画面が出ますので、先程Admin's Emailで指定したメルアドと、メルアド宛てに送られてきたパスワードでログインします。
スクリーンショット 2024-10-18 21.36.47.png

Prallel Clusterの作成

ログイン出来ると下図のような画面になるので、「create cluster」をクリックします。

スクリーンショット 2024-10-18 21.55.07.png

Nameはslurm.confではclusternameに相当します。
OSには拘りがないので、デフォルトのままにしました。
VPCはデフォルトのVPCを選択してください。
スクリーンショット 2024-10-18 21.55.42.png

Slurm settingsは今後オンプレのslurmdbdと接続するつもりなので空欄のままにしています
スクリーンショット 2024-10-18 21.56.08.png

「next」を押すと下図の画面に移ります。
ここもデフォルトのまま進めます。
スクリーンショット 2024-10-18 21.56.31.png

ここまで記載して忘れてました。
EC2のダッシュボードからキーペアを作成してください。
普段EC2使っている人なら分かると思うので作成は省略します。

スクリーンショット 2024-10-18 21.56.46.png

下図ではストレージを30GBにしていますが、最小が35GBでした。
一旦最小で作成しています。
スクリーンショット 2024-10-18 21.56.59.png

ここらへんもデフォルトか適当に修正してください。
(federation検証用なので適当スクリーンショット 2024-10-18 21.59.24.png

スクリーンショット 2024-10-18 21.59.15.png

スクリーンショット 2024-10-18 21.59.52.png

最後に構成のyaml fileが出来上がります。

スクリーンショット 2024-10-18 22.00.08.png

クラスタの作成が始まります。
スクリーンショット 2024-10-18 22.00.33.png

出来終わると下図のような表示になります。
スクリーンショット 2024-10-18 22.10.45.png

HeadNode(slurmマスターのec2)へのリンクが表示されますので
通常のec2へのログインと同じようにアクセスしてください。
スクリーンショット 2024-10-18 22.11.04.png

HeadNodeでの確認

slurmdbdは構成しなかったので起動していませんが、slurmctld,mungeは起動し、sinfoで確認するとノードが4台動いていました。これは減らしておけば良かったです。

Last login: Fri Oct 18 13:07:54 2024
   ,     #_
   ~\_  ####_        Amazon Linux 2
  ~~  \_#####\
  ~~     \###|       AL2 End of Life is 2025-06-30.
  ~~       \#/ ___
   ~~       V~' '->
    ~~~         /    A newer version of Amazon Linux is available!
      ~~._.   _/
         _/ _/       Amazon Linux 2023, GA and supported until 2028-03-15.
       _/m/'           https://aws.amazon.com/linux/amazon-linux-2023/

[ec2-user@ip-172-31-8-100 ~]$ cd /opt/slurm/etc
[ec2-user@ip-172-31-8-100 etc]$ ls
cgroup.conf  scripts     slurm_parallelcluster_cgroup.conf  slurm_parallelcluster_slurmdbd.conf
gres.conf    slurm.conf  slurm_parallelcluster.conf         slurm.sh
pcluster     slurm.csh   slurm_parallelcluster_gres.conf


[ec2-user@ip-172-31-8-100 etc]$ systemctl status munge
● munge.service - MUNGE authentication service
   Loaded: loaded (/usr/lib/systemd/system/munge.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2024-10-18 13:07:59 UTC; 3min 18s ago
     Docs: man:munged(8)
 Main PID: 5234 (munged)
   CGroup: /system.slice/munge.service
           └─5234 /usr/sbin/munged

Oct 18 13:07:59 ip-172-31-8-100 systemd[1]: Starting MUNGE authentication service...
Oct 18 13:07:59 ip-172-31-8-100 systemd[1]: Started MUNGE authentication service.
[ec2-user@ip-172-31-8-100 etc]$ systemctl status slurmdbd
Unit slurmdbd.service could not be found.
[ec2-user@ip-172-31-8-100 etc]$ systemctl status slurmdbd
Unit slurmdbd.service could not be found.
[ec2-user@ip-172-31-8-100 etc]$ systemctl status slurmctld
● slurmctld.service - Slurm controller daemon
   Loaded: loaded (/etc/systemd/system/slurmctld.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2024-10-18 13:08:00 UTC; 3min 45s ago
 Main PID: 5295 (slurmctld)
   CGroup: /system.slice/slurmctld.service
           ├─5295 /opt/slurm/sbin/slurmctld -D -s
           └─5297 slurmctld: slurmscriptd

Oct 18 13:08:05 ip-172-31-8-100 slurmctld[5295]: slurmctld: error: Could not open trigger state file /...ory
Oct 18 13:08:05 ip-172-31-8-100 slurmctld[5295]: slurmctld: error: NOTE: Trying backup state save file...st!
Oct 18 13:08:05 ip-172-31-8-100 slurmctld[5295]: slurmctld: No trigger state file (/var/spool/slurm.st...ver
Oct 18 13:08:05 ip-172-31-8-100 slurmctld[5295]: slurmctld: read_slurm_conf: backup_controller not specified
Oct 18 13:08:05 ip-172-31-8-100 slurmctld[5295]: slurmctld: Reinitializing job accounting state
Oct 18 13:08:05 ip-172-31-8-100 slurmctld[5295]: slurmctld: select/cons_tres: select_p_reconfigure: se...ure
Oct 18 13:08:05 ip-172-31-8-100 slurmctld[5295]: slurmctld: select/cons_tres: part_data_create_array: ...ons
Oct 18 13:08:05 ip-172-31-8-100 slurmctld[5295]: slurmctld: Running as primary controller
Oct 18 13:08:06 ip-172-31-8-100 slurmctld[5295]: slurmctld: POWER: Power save mode: 4 nodes
Oct 18 13:09:05 ip-172-31-8-100 slurmctld[5295]: slurmctld: SchedulerParameters=nohold_on_prolog_fail
Hint: Some lines were ellipsized, use -l to show in full.
[ec2-user@ip-172-31-8-100 etc]$ sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
queue-1*     up   infinite      4  idle~ queue-1-dy-queue-1-cr-1-[1-4]
[ec2-user@ip-172-31-8-100 etc]$ 
[ec2-user@ip-172-31-8-100 etc]$ id munge
uid=402(munge) gid=402(munge) groups=402(munge)
[ec2-user@ip-172-31-8-100 etc]$ id slurm
uid=401(slurm) gid=401(slurm) groups=401(slurm),405(pcluster-slurm-share)
[ec2-user@ip-172-31-8-100 etc]$ Connection to ec2-3-39-235-124.ap-northeast-2.compute.amazonaws.com closed by remote host.
Connection to ec2-3-39-235-124.ap-northeast-2.compute.amazonaws.com closed

次回やること

これでaws parallel clusterの簡単なサービス起動は出来ました。
munge.key,uid,gidの調整のほかに、オンプレとaws間をVPNで接続する設定を行います。
そのほかにオンプレストレージとaws efsの同期などもありますが、federation機能の検証のためファイル同期は割愛します。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?