從 AWS ParallelCluster 2.x 移至 3.x - AWS ParallelCluster

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從 AWS ParallelCluster 2.x 移至 3.x

下列各節說明從 AWS ParallelCluster 2.x 移至 3.x 時會發生的情況,包括從一個版本到另一個版本的變更。

自訂引導動作

使用 AWS ParallelCluster 3,您可以使用 和 Scheduling / SlurmQueues區段中的 OnNodeStartpre_install 第 2 AWS ParallelCluster 版中) 和 OnNodeConfiguredpost_install 第 2 AWS ParallelCluster 版中) 參數,為主機節點HeadNode和運算節點指定不同的自訂引導動作指令碼。如需詳細資訊,請參閱自訂引導動作

針對 AWS ParallelCluster 2 開發的自訂引導動作指令碼必須調整為可用於 AWS ParallelCluster 3:

  • 我們不建議使用 /etc/parallelcluster/cfnconfigcfn_node_type 來區分頭節點和運算節點。相反地,建議您在 HeadNodeScheduling / 中指定兩個不同的指令碼SlurmQueues

  • 如果您想要繼續載入/etc/parallelcluster/cfnconfig以供引導動作指令碼使用,請注意 的值已從 "MasterServer" cfn_node_type 變更為 "HeadNode" (請參閱:包容性語言)。

  • 在 AWS ParallelCluster 2 上,引導動作指令碼的第一個輸入引數是指令碼URL的 S3,並已保留。在 AWS ParallelCluster 3 中,只有組態中設定的引數會傳遞至指令碼。

警告

正式不支援使用透過 /etc/parallelcluster/cfnconfig 檔案提供的內部變數。此檔案可能會作為未來版本的一部分而移除。

AWS ParallelCluster 2.x 和 3.x 使用不同的組態檔案語法

AWS ParallelCluster 3.x YAML 組態使用語法。完整參考可在 找到組態檔案

除了需要YAML檔案格式之外,3 AWS ParallelCluster .x 中也更新了許多組態區段、設定和參數值。在本節中,我們會記下 AWS ParallelCluster 組態的關鍵變更, side-by-side以及說明每個 版本差異的範例 AWS ParallelCluster。

啟用和停用超執行緒的多個排程器佇列組態範例

AWS ParallelCluster 2:

[cluster default] queue_settings = ht-enabled, ht-disabled ... [queue ht-enabled] compute_resource_settings = ht-enabled-i1 disable_hyperthreading = false [queue ht-disabled] compute_resource_settings = ht-disabled-i1 disable_hyperthreading = true [compute_resource ht-enabled-i1] instance_type = c5n.18xlarge [compute_resource ht-disabled-i1] instance_type = c5.xlarge

AWS ParallelCluster 3:

... Scheduling: Scheduler: slurm SlurmQueues: - Name: ht-enabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-enabled-i1 DisableSimultaneousMultithreading: true InstanceType: c5n.18xlarge - Name: ht-disabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-disabled-i1 DisableSimultaneousMultithreading: false InstanceType: c5.xlarge

FSx Lustre 檔案系統組態的新範例

AWS ParallelCluster 2:

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx storage_capacity = 1200 imported_file_chunk_size = 1024 import_path = s3://amzn-s3-demo-bucket export_path = s3://amzn-s3-demo-bucket/export_dir weekly_maintenance_start_time = 3:02:30 deployment_type = PERSISTENT_1 data_compression_type = LZ4

AWS ParallelCluster 3:

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: StorageCapacity: 1200 ImportedFileChunkSize: 1024 ImportPath: s3://amzn-s3-demo-bucket ExportPath: s3://amzn-s3-demo-bucket/export_dir WeeklyMaintenanceStartTime: "3:02:30" DeploymentType: PERSISTENT_1 DataCompressionType: LZ4

安裝 Lustre 檔案系統現有 FSx的叢集組態範例

AWS ParallelCluster 2:

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx fsx_fs_id = fsx_fs_id

AWS ParallelCluster 3:

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: FileSystemId: fsx_fs_id

具有 Intel HPC Platform Specification 軟體堆疊的叢集範例

AWS ParallelCluster 2:

[cluster default] enable_intel_hpc_platform = true ...

AWS ParallelCluster 3:

... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true

備註:

自訂IAM組態範例,包括:執行個體設定檔、執行個體角色、執行個體的其他政策,以及與叢集相關聯的 lambda 函數角色

AWS ParallelCluster 2:

[cluster default] additional_iam_policies = arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess ec2_iam_role = ec2_iam_role iam_lambda_role = lambda_iam_role ...

AWS ParallelCluster 3:

... Iam: Roles: CustomLambdaResources: lambda_iam_role HeadNode: ... Iam: InstanceRole: ec2_iam_role Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: InstanceProfile: iam_instance_profile - Name: queue2 ... Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess - Policy: arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess

備註:

  • 對於 AWS ParallelCluster 2,IAM設定會套用至叢集的所有執行個體,additional_iam_policies且無法與 搭配使用ec2_iam_role

  • 對於 AWS ParallelCluster 3,您可以對頭和運算節點有不同的IAM設定,甚至為每個運算佇列指定不同的IAM設定。

  • 對於 AWS ParallelCluster 3,您可以使用IAM執行個體設定檔作為IAM角色的替代方案。 InstanceProfileInstanceRoleAdditionalIamPolicies 無法一起設定。

自訂引導動作範例

AWS ParallelCluster 2:

[cluster default] s3_read_resource = arn:aws:s3:::amzn-s3-demo-bucket/* pre_install = s3://amzn-s3-demo-bucket/scripts/pre_install.sh pre_install_args = 'R curl wget' post_install = s3://amzn-s3-demo-bucket/scripts/post_install.sh post_install_args = "R curl wget" ...

AWS ParallelCluster 3:

... HeadNode: ... CustomActions: OnNodeStart: Script: s3://amzn-s3-demo-bucket/scripts/pre_install.sh Args: - R - curl - wget OnNodeConfigured: Script: s3://amzn-s3-demo-bucket/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: amzn-s3-demo-bucket Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... CustomActions: OnNodeStart: Script: s3://amzn-s3-demo-bucket/scripts/pre_install.sh Args: ['R', 'curl', 'wget'] OnNodeConfigured: Script: s3://amzn-s3-demo-bucket/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: amzn-s3-demo-bucket

具有 S3 儲存貯體資源讀取和寫入存取權的叢集範例

AWS ParallelCluster 2:

[cluster default] s3_read_resource = arn:aws:s3:::amzn-s3-demo-bucket/read_only/* s3_read_write_resource = arn:aws:s3:::amzn-s3-demo-bucket/read_and_write/* ...

AWS ParallelCluster 3:

... HeadNode: ... Iam: S3Access: - BucketName: amzn-s3-demo-bucket KeyName: read_only/ EnableWriteAccess: False - BucketName: amzn-s3-demo-bucket KeyName: read_and_write/ EnableWriteAccess: True Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: S3Access: - BucketName: amzn-s3-demo-bucket KeyName: read_only/ EnableWriteAccess: False - BucketName: amzn-s3-demo-bucket KeyName: read_and_write/ EnableWriteAccess: True

包容性語言

AWS ParallelCluster 3 在 AWS ParallelCluster 2 中使用 "master" 的位置使用「head node」單字。這包含下列項目:

  • 在 AWS Batch 工作環境中匯出的變數已變更:從 MASTER_IP變更為 PCLUSTER_HEAD_NODE_IP

  • 所有 AWS CloudFormation 輸出從 Master* 變更為 HeadNode*

  • 所有 NodeType 和 標籤從 變更為 Master HeadNode

排程器支援

AWS ParallelCluster 3.x 不支援 Son of Grid Engine (SGE) 和 Torque 排程器。

AWS Batch 命令 awsbhostsawsbkillawsbqueues、、 awsbstatawsboutawsbsub會以單獨的 aws-parallelcluster-awsbatch-cli PyPI 套件形式發佈。此套件由 安裝在主機節點 AWS ParallelCluster 上。您仍然可以從叢集的主機節點使用這些 AWS Batch 命令。不過,如果您想要使用 AWS Batch 來自主機節點以外位置的命令,您必須先安裝 aws-parallelcluster-awsbatch-cli PyPI 套件。

AWS ParallelCluster CLI

AWS ParallelCluster 命令列介面 (CLI) 已變更。新的語法會在 中說明AWS ParallelCluster CLI 命令。的輸出格式CLI是JSON字串。

設定新的叢集

相較於 AWS ParallelCluster 2, pcluster configure命令在 AWS ParallelCluster 3 中包含不同的參數。如需詳細資訊,請參閱pcluster configure

請注意,組態檔案語法已從 AWS ParallelCluster 2 變更。如需叢集組態設定的完整參考,請參閱 叢集組態檔案

建立新的叢集

AWS ParallelCluster pcluster create命令已取代 2 的pcluster create-cluster命令。

請注意 AWS ParallelCluster 2.x 中的預設行為,如果沒有 -nw選項,則會等待叢集建立事件,而 AWS ParallelCluster 3.x 命令會立即傳回。可以使用 監控叢集建立的進度pcluster describe-cluster

AWS ParallelCluster 3 組態檔案包含單一叢集定義,因此不再需要 -t 參數。

以下是範例組態檔案。

# AWS ParallelCluster v2 $ pcluster create \ -r REGION \ -c V2_CONFIG_FILE \ -nw \ -t CLUSTER_TEMPLATE \ CLUSTER_NAME # AWS ParallelCluster v3 $ pcluster create-cluster \ --region REGION \ --cluster-configuration V3_CONFIG_FILE \ --cluster-name CLUSTER_NAME

列出叢集

pcluster list AWS ParallelCluster 2.x 命令必須以 pcluster list-clusters命令取代。

注意:您需要 AWS ParallelCluster v2 CLI來列出使用 2.x 版本建立的叢集。 AWS ParallelCluster如需如何使用 AWS ParallelCluster 虛擬環境安裝多個版本的 AWS ParallelCluster 在虛擬環境中安裝 (建議),請參閱 。

# AWS ParallelCluster v2 $ pcluster list -r REGION # AWS ParallelCluster v3 $ pcluster list-clusters --region REGION

啟動和停止叢集

pcluster startpcluster stop AWS ParallelCluster 2.x 命令必須以pcluster update-compute-fleet命令取代。

啟動運算機群:

# AWS ParallelCluster v2 $ pcluster start \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status START_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status ENABLED

停止運算機群:

# AWS ParallelCluster v2 $ pcluster stop \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status STOP_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status DISABLED

連線至叢集

pcluster ssh AWS ParallelCluster 2.x 命令在 AWS ParallelCluster 3.x 中具有不同的參數名稱。請參閱 pcluster ssh

連線至叢集:

# AWS ParallelCluster v2 $ pcluster ssh \ -r REGION \ CLUSTER_NAME \ -i ~/.ssh/id_rsa # AWS ParallelCluster v3 $ pcluster ssh \ --region REGION \ --cluster-name CLUSTER_NAME \ -i ~/.ssh/id_rsa

IMDS 組態更新

從 3.0.0 版開始,根據預設 AWS ParallelCluster , 已引入將對主機節點 IMDS(和執行個體設定檔憑證) 的存取限制為超級使用者的子集的支援。如需詳細資訊,請參閱Imds 屬性

的支援區域 AWS ParallelCluster

AWS ParallelCluster 第 3 版可在下列 中使用 AWS 區域:

區域名稱 區域
美國東部 (俄亥俄) us-east-2
美國東部 (維吉尼亞北部) us-east-1
美國西部 (加利佛尼亞北部) us-west-1
美國西部 (奧勒岡) us-west-2
非洲 (開普敦) af-south-1
亞太區域 (香港) ap-east-1
亞太區域 (孟買) ap-south-1
亞太區域 (首爾) ap-northeast-2
亞太區域 (新加坡) ap-southeast-1
亞太區域 (雪梨) ap-southeast-2
亞太區域 (東京) ap-northeast-1
加拿大 (中部) ca-central-1
中國 (北京) cn-north-1
中國 (寧夏) cn-northwest-1
歐洲 (法蘭克福) eu-central-1
歐洲 (愛爾蘭) eu-west-1
歐洲 (倫敦) eu-west-2
歐洲 (米蘭) eu-south-1
歐洲 (巴黎) eu-west-3
歐洲 (斯德哥爾摩) eu-north-1
中東 (巴林) me-south-1
南美洲 (聖保羅) sa-east-1
AWS GovCloud (美國東部) us-gov-east-1
AWS GovCloud (美國西部) us-gov-west-1
以色列 (特拉維夫) il-central-1