この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
AWS ParallelCluster 3.0.1がリリースされました。v3.0.0からのマイクロアップデートです。v3.0.0で悩まされたエラーが修正されたので動作確認を交えてアップデート内容を紹介します。
個人的な注目ポイント
アップデート詳細は以下のリンクをご確認ください。
機能強化
pcluster3-config-converter
コマンド追加により、ParallelCluster 2系から3系へコンフィグファイルの変換が可能に!- ParallelCluster 2.x時代のコンフィグをv3.xでは利用できなかったのでありがたい機能追加
pcluster
コマンド操作に--region
引数が必須だったのですが、~/.aws/config
を参照するようになり省略可能に!- ParallelCluster 2系では
--region
を省略できたのに3.0.0
では必須でした
- ParallelCluster 2系では
変更点
SysVinit
サポート終了、Systemd
のみサポート
バグフィックス
- 以前ワークアラウンドを紹介したエラーが修正されました。これは嬉しい。
クラスターを作成して動作確認
エラーが修正されたとのことで以前と同じコンフィグを使ってParallelCluster 3.0.1版のクラスターを作成してみます。
項目 | 値 |
---|---|
AWS ParallelCluster | 3.0.1 |
Job Scheduler | Slurm |
OS | Ubuntu 20.04 LTS |
CPU | AMD |
Head Node | c5a.large |
Compute Node | c5a.4xlarge(16vCPU) |
pclusterコマンドの準備
venv
でバージョン管理しつつ、pcluster
コマンドの最新バージョンをインストールします。fish
シェルを使っているためactivateの拡張子が.fish
になっています。
python3 -m venv pclusterVersion/301
source ~/pclusterVersion/301/bin/activate.fish
pip3 install aws-parallelcluster
pcluster version
実行結果
{
"version": "3.0.1"
}
コンフィグファイル
以前と同じコンフィグからクラスターを作成します。
openfoam-amd.yml
Region: ap-northeast-1
Image:
Os: ubuntu2004
HeadNode:
InstanceType: c5a.large
Networking:
ElasticIp: false
SubnetId: subnet-035be95eeaa091603
Ssh:
KeyName: sandbox-key
LocalStorage:
RootVolume:
Size: 50
Encrypted: false
VolumeType: gp3
Iops: 3000
Throughput: 125
Iam:
S3Access:
- BucketName: blog-parallelcluster-postinstall
EnableWriteAccess: False
AdditionalIamPolicies:
- Policy: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
Scheduling:
Scheduler: slurm
SlurmQueues:
- Name: cpu-spot
ComputeResources:
- Name: c5a4xlarge
InstanceType: c5a.4xlarge
MinCount: 0
MaxCount: 20
ComputeSettings:
LocalStorage:
RootVolume:
Size: 35
Encrypted: false
VolumeType: gp3
Iops: 3000
Throughput: 125
CapacityType: SPOT
Networking:
SubnetIds:
- subnet-035be95eeaa091603
PlacementGroup:
Enabled: true
Iam:
S3Access:
- BucketName: blog-parallelcluster-postinstall
KeyName: read_only/
EnableWriteAccess: False
AdditionalIamPolicies:
- Policy: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
- Name: high-cpu-spot
ComputeResources:
- Name: c5a24xlarge
InstanceType: c5a.24xlarge
MinCount: 0
MaxCount: 10
ComputeSettings:
LocalStorage:
RootVolume:
Size: 35
Encrypted: false
VolumeType: gp3
Iops: 3000
Throughput: 125
CapacityType: SPOT
Networking:
SubnetIds:
- subnet-035be95eeaa091603
PlacementGroup:
Enabled: true
Iam:
S3Access:
- BucketName: blog-parallelcluster-postinstall
KeyName: read_only/
EnableWriteAccess: False
AdditionalIamPolicies:
- Policy: arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
クラスター作成
クラスターを作成します。コマンド流用したので--region
引数を省略せずに付けてしまいました。
> pcluster create-cluster --cluster-name openfoam-amd-cluster301 --region ap-northeast-1 --cluster-configuration openfoam-amd.yml
作成されたクラスターを確認します。list-cluster
オプションには--region
引数なしで実行してみました。3.0.1版のクラスターが完成しています。
> pcluster list-clusters
{
"clusters": [
{
"clusterName": "openfoam-amd-cluster301",
"cloudformationStackStatus": "CREATE_COMPLETE",
"cloudformationStackArn": "arn:aws:cloudformation:ap-northeast-1:123456789012:stack/openfoam-amd-cluster301/4b4708c0-3784-11ec-850d-0ad518499f05",
"region": "ap-northeast-1",
"version": "3.0.1",
"clusterStatus": "CREATE_COMPLETE"
}
]
}
3.0.0ではUbuntu 18.04と、20.04のヘッドノードの場合、停止開始または再起動すると必要なサービスが起動しない不具合を抱えていました。ですので、ヘッドノードを一度停止開始しました。
再起動後のヘッドノードに接続して確認します。supervisord.service
がactive(running)で起動しています。不具合の内容はこのサービスが起動してこないことでした。
$ systemctl status supervisord.service
● supervisord.service - Supervisor process control system for UNIX
Loaded: loaded (/etc/systemd/system/supervisord.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-10-30 04:15:15 UTC; 35min ago
Docs: http://supervisord.org
Main PID: 574 (supervisord)
Tasks: 4 (limit: 4631)
Memory: 91.9M
CGroup: /system.slice/supervisord.service
├─574 /opt/parallelcluster/pyenv/versions/3.7.10/envs/cookbook_virtualenv/bin/python3.7 /opt/parallelcluster/pyenv>
├─925 /opt/parallelcluster/pyenv/versions/3.7.10/envs/node_virtualenv/bin/python3.7 /opt/parallelcluster/pyenv/ver>
└─941 /opt/parallelcluster/pyenv/versions/3.7.10/envs/cookbook_virtualenv/bin/python /opt/parallelcluster/pyenv/ve>
不具合が修正されていることを確認できました。
アップデートに関連する動作確認結果
- 以下のエラーの件は修正され、Ubuntuユーザも気にせずクラスターを使えるようになった。
--region
引数を省略してもコマンドが実行できることを確認しました。ParallelCluster 2系の癖でよく引数つけ忘れていたので助かりました。
おわりに
UbuntuユーザはぜひParallelCluster 3.0.1をご利用または、3.0.0からの乗り換えをご検討ください。 v3.0.0でUbuntuが使えないわけではありませんが、ワークアラウンド用の追加設定が不要ですので最新の3.0.1を是非!
新機能のpcluster3-config-converter
コマンドは試すと長くなりそうですので別の機会に試して紹介したいと思います。