本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 AWS ParallelCluster 2.x 移動到 3.x
自訂引導操作
使用 AWS ParallelCluster 3 時,您可以使用和 Scheduling/SlurmQueues區段中的參數 (在版本 2 中) 和 OnNodeStart
(pre_install
在 AWS ParallelCluster 版本 2 中),為頭節點和OnNodeConfigured
計算節點指定不同的自訂啟動程序動作指令碼。post_install
AWS ParallelCluster HeadNode如需詳細資訊,請參閱 自訂引導動作。
為 AWS ParallelCluster 2 開發的自定義引導操作腳本必須適應在 AWS ParallelCluster 3 中使用:
-
我們不建議使用
/etc/parallelcluster/cfnconfig
和cfn_node_type
區分主節點和計算節點。相反地,我們建議您在HeadNode和 Scheduling/中指定兩個不同的指令碼SlurmQueues。 -
如果您想要繼續載入
/etc/parallelcluster/cfnconfig
以在啟動程序動作指令碼中使用,請注意的值cfn_node_type
已從 "MasterServer" 變更為 "HeadNode" (請參閱:包容性語言)。 -
在 AWS ParallelCluster 2 上,引導動作指令碼的第一個輸入引數是指令碼的 S3 URL 並保留。在 AWS ParallelCluster 3 中,只有在配置中配置的參數傳遞給腳本。
警告
不支持使用通過/etc/parallelcluster/cfnconfig
文件提供的內部變量。此檔案可能會在 future 版本中移除。
AWS ParallelCluster 2.x 和 3.x 使用不同的配置文件語法
AWS ParallelCluster 3.x 配置使用 YAML 語法。您可以在以下位置找到完整參考資料組態檔案。
除了需要 YAML 檔案格式之外,已在 AWS ParallelCluster 3.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
Lustre 檔案系統組態的新 FSx 範例
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://
bucket
export_path = s3://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://
bucket
ExportPath: s3://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 作業平台規格軟體堆疊的叢集範例
AWS ParallelCluster 2:
[cluster default] enable_intel_hpc_platform = true ...
AWS ParallelCluster 3:
... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true
備註:
-
Intel HPC 平台規格軟體的安裝必須遵守適用的 Intel 使用者授權合約
的條款與條件。
自訂 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 角色的替代方案。
InstanceProfile
,InstanceRole
或不AdditionalIamPolicies
能一起配置。
自訂啟動程序動作範例
AWS ParallelCluster 2:
[cluster default] s3_read_resource = arn:aws:s3:::
bucket_name
/* pre_install = s3://bucket_name
/scripts/pre_install.sh pre_install_args = 'R curl wget' post_install = s3://bucket_name
/scripts/post_install.sh post_install_args = "R curl wget" ...
AWS ParallelCluster 3:
... HeadNode: ... CustomActions: OnNodeStart: Script: s3://
bucket_name
/scripts/pre_install.sh Args: - R - curl - wget OnNodeConfigured: Script: s3://bucket_name
/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName:bucket_name
Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... CustomActions: OnNodeStart: Script: s3://bucket_name
/scripts/pre_install.sh Args: ['R', 'curl', 'wget'] OnNodeConfigured: Script: s3://bucket_name
/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName:bucket_name
具有 S3 儲存貯體資源讀取和寫入存取權的叢集範例
AWS ParallelCluster 2:
[cluster default] s3_read_resource = arn:aws:s3:::
bucket
/read_only/* s3_read_write_resource = arn:aws:s3:::bucket
/read_and_write/* ...
AWS ParallelCluster 3:
... HeadNode: ... Iam: S3Access: - BucketName:
bucket_name
KeyName: read_only/ EnableWriteAccess: False - BucketName:bucket_name
KeyName: read_and_write/ EnableWriteAccess: True Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: S3Access: - BucketName:bucket_name
KeyName: read_only/ EnableWriteAccess: False - BucketName:bucket_name
KeyName: read_and_write/ EnableWriteAccess: True
包容性語言
AWS ParallelCluster 3 在 AWS ParallelCluster 2 中使用「主節點」的地方使用「頭節點」一詞。這包含下列項目:
-
在 AWS Batch 工作環境中匯出的變數已變更:從變更
MASTER_IP
為PCLUSTER_HEAD_NODE_IP
。 -
所有 AWS CloudFormation 輸出都從變更
Master*
為HeadNode*
。 -
全部 NodeType 和標籤從變更
Master
為HeadNode
。
排程器 Support
AWS ParallelCluster 3.x 不支持網格引擎(SGE)和扭矩調度器的兒子。
awsbsub
這些指 AWS Batch 令awsbhosts
awsbkill
、awsbout
、awsbqueues
awsbstat
、和作為單獨的 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 2 的pcluster create
命令已被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
\ -cV2_CONFIG_FILE
\ -nw \ -tCLUSTER_TEMPLATE
\CLUSTER_NAME
# AWS ParallelCluster v3
$
pcluster create-cluster \ --region
REGION
\ --cluster-configurationV3_CONFIG_FILE
\ --cluster-nameCLUSTER_NAME
列出叢集
pcluster list
AWS ParallelCluster 2.x 指令必須以指pcluster
list-clusters令取代。
備註:您需要 AWS ParallelCluster v2 CLI 列出以. x 版本建立的 AWS ParallelCluster叢集。如AWS ParallelCluster 在虛擬環境中安裝 (建議使用)需如何安裝使 AWS ParallelCluster 用虛擬環境的多個版本,請參閱。
# AWS ParallelCluster v2
$
pcluster list -r
REGION
# AWS ParallelCluster v3
$
pcluster list-clusters --region
REGION
啟動和停止叢集
pcluster start
和 pcluster 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-nameCLUSTER_NAME
\ --statusSTART_REQUESTED
# AWS ParallelCluster v3 - AWS Batch fleets
$
pcluster update-compute-fleet \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ --statusENABLED
停止運算叢集:
# AWS ParallelCluster v2
$
pcluster stop \ -r
REGION
\CLUSTER_NAME
# AWS ParallelCluster v3 - Slurm fleets
$
pcluster update-compute-fleet \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ --statusSTOP_REQUESTED
# AWS ParallelCluster v3 - AWS Batch fleets
$
pcluster update-compute-fleet \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ --statusDISABLED
連線至叢集
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-nameCLUSTER_NAME
\ -i~/.ssh/id_rsa
IMDS 組態設定更新
從 3.0.0 版開始,依預 AWS ParallelCluster 設,支援將頭節點的 IMDS (以及執行個體設定檔認證) 存取權限制為超級使用者子集。如需更多詳細資訊,請參閱 Imds 屬性。