

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 最佳实践
<a name="best-practices"></a>

## 最佳实践：主实例类型选择
<a name="best-practices-master-instance-type"></a>

尽管主节点不执行任何作业，但其功能和大小对集群的整体性能至关重要。

在为主节点选择要使用的实例类型时，您需要评估以下各项：
+ **集群大小：**主节点编排集群的扩展逻辑，并负责将新节点附加到调度器。如果您需要纵向扩展和缩减由大量节点组成的集群，则需要为主节点提供一些额外的计算容量。
+ **共享文件系统：**使用共享文件系统在计算节点和主节点之间共享构件时，请考虑到主节点是公开 NFS 服务器的节点。因此，您需要选择具有足够网络带宽和足够专用 Amazon EBS 带宽以处理您的工作流程的实例类型。

## 最佳实践：网络性能
<a name="best-practices-network-performance"></a>

有三个提示涵盖了改善网络通信的所有可能性。
+ **置放群组：**集群置放群组是单个可用区中的实例的逻辑分组。有关置放群组的更多信息，请参阅 *Amazon EC2 用户指南*中的[置放群组](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)。您可以使用 `placement_group = your-placement-group-name` 将集群配置为使用自己的置放群组，也可以使用 `"compute"` 策略和 `placement_group = DYNAMIC`，让 AWS ParallelCluster 创建置放群组。有关更多信息，请参阅 [`placement_group`](queue-section.md#queue-placement-group)（多队列模式）和 [`placement_group`](cluster-definition.md#placement-group)（单队列模式）。
+ **增强联网：**考虑选择支持增强联网的实例类型。有关更多信息，请参阅[《*Amazon EC2 用户指南》*中的 Linux 增强联网功能](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html)。
+ **Elastic Fabric Adapter：**要支持高水平可扩展实例间通信，请考虑为网络选择 EFA 网络接口。EFA 的定制操作系统 (OS) 旁路硬件通过云的按需弹性和灵活性增强了实例间通信。 AWS 要配置单个 Slurm 要使用 EFA 的集群队列，请设置`enable_efa = true`。有关将 EFA 与配合使用的更多信息 AWS ParallelCluster，请参阅[Elastic Fabric Adapter](efa.md)和[`enable_efa`](queue-section.md#queue-enable-efa)。有关 EFA 的更多信息，请参阅 *Amazon Linux 实例 EC2 用户指南*中的[弹性结构适配器](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)。
+ **实例带宽：***带宽随实例大小而扩展，请考虑选择更适合您需求的实例类型，请参阅[亚马逊用户指南中的 Amazon EBS 优化实例和](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) [Amazon EBS 卷类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html)。 EC2 *

## 最佳实践：预算提醒
<a name="best-practices-budget-alerts"></a>

要管理 AWS ParallelCluster 资源成本，我们建议您使用 AWS Budgets 操作为选定 AWS 资源创建预算并定义预算阈值提醒。有关更多信息，请参阅 *AWS Budgets 用户指南* 中的[配置预算操作](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-controls.html)。您也可以使用 Amazon CloudWatch 创建账单警报。有关更多信息，请参阅[创建账单警报以监控您的预估 AWS 费用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html)。

## 最佳实践：将集群移至新的 AWS ParallelCluster 次要版本或补丁版本
<a name="best-practices-cluster-upgrades"></a>

当前，每个 AWS ParallelCluster 次要版本及其 `pcluster` CLI都是独立的。要将集群迁移至新的次要版本或修补版本，必须使用新版本的 CLI 重新创建集群。

要优化将集群迁移到新次要版本的过程或出于其他原因保存共享存储数据，我们建议您使用以下最佳实践。
+ 将个人数据保存在外部卷中，例如 Amazon EFS 和 FSx For Lustre。这样，您可以轻松地将数据从一个集群迁移到另一个集群。
+ 使用 AWS CLI 或创建下列类型的共享存储系统 AWS 管理控制台：
  + [`[ebs]` 部分](ebs-section.md)
  + [`[efs]` 部分](efs-section.md)
  + [`[fsx]` 部分](fsx-section.md)

  将它们作为现有文件系统添加到新集群配置中。这样，当您删除集群时，这些文件系统会被保留下来，并且可以附加到新集群。共享存储系统无论是附加到集群还是与集群分离，通常都会产生费用。

  我们建议您使用 Amazon EFS 或 Amazon FSx for Lustre 文件系统，因为它们可以同时连接到多个集群，而且您可以在删除旧集群之前将它们连接到新集群。有关更多信息，请参阅《[亚马逊 EFS 用户指南》中的 “挂载 Amazon EFS 文件系统](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html)*” 和《亚马逊 for Lustre Lustre 用户指南》*[中的 “访问 FSx *Lustre* 文件系统](https://docs.aws.amazon.com/fsx/latest/LustreGuide/accessing-fs.html)”。 FSx 
+ 使用[自定义引导操作](pre_post_install.md)来自定义您的实例，而不是使用自定义 AMI。这可优化创建过程，因为不需要为每个新版本创建新的自定义 AMI。
+ 推荐的序列。

  1. 更新集群配置以使用现有文件系统定义。

  1. 验证 `pcluster` 版本并在需要时进行更新。

  1. 创建并测试新集群。
     + 确保您的数据在新集群中可用。
     + 确保您的应用程序可以在新集群中正常运行。

  1. 如果您的新集群经过全面测试并可正常运行，而且您确定不会使用旧集群，请将其删除。