本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 AWS ParallelCluster 2.x 移至 3.x
下列各節說明從 AWS ParallelCluster 2.x 移至 3.x 時會發生的情況,包括從一個版本到另一個版本的變更。
自訂引導動作
使用 AWS ParallelCluster 3,您可以使用 和 Scheduling / SlurmQueues區段中的 OnNodeStart
(pre_install
第 2 AWS ParallelCluster 版中) 和 OnNodeConfigured
(post_install
第 2 AWS ParallelCluster 版中) 參數,為主機節點HeadNode和運算節點指定不同的自訂引導動作指令碼。如需詳細資訊,請參閱自訂引導動作。
針對 AWS ParallelCluster 2 開發的自訂引導動作指令碼必須調整為可用於 AWS ParallelCluster 3:
-
我們不建議使用
/etc/parallelcluster/cfnconfig
和cfn_node_type
來區分頭節點和運算節點。相反地,建議您在 HeadNode和 Scheduling / 中指定兩個不同的指令碼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
備註:
-
Intel HPC Platform Specification 軟體的安裝受適用的 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:::
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 命令 awsbhosts
、awsbkill
、awsbqueues
、、 awsbstat
和 awsbout
awsbsub
會以單獨的 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
\ -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來列出使用 2.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 屬性。
的支援區域 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 |