

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

# 在 AWS PCS 上使用网络文件系统
<a name="working-with_file-systems"></a>

您可以将网络文件系统附加到在 AWS 并行计算服务 (AWS PCS) 计算节点组中启动的节点，以提供写入和访问数据和文件的永久位置。[您可以使用 AWS 服务提供的文件系统，包括[亚马逊弹性文件系统（亚马逊 EFS）、亚马逊](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) for [Lustre、亚马逊 FSx ](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html) for [ NetApp ONTAP、Amazon FSx ](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/what-is-fsx-ontap.html) for [OpenZ](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) FS 和亚马逊文件缓存。 FSx ](https://docs.aws.amazon.com/fsx/latest/FileCacheGuide/what-is.html)您也可以使用自我管理的文件系统，例如 NFS 服务器。

本主题介绍在 AWS PCS 中使用网络文件系统的注意事项和示例。

## 使用网络文件系统的注意事项
<a name="working-with_file-systems_considerations"></a>

各种文件系统的实现细节各不相同，但有一些常见的注意事项。
+ 必须在实例上安装相关的文件系统软件。例如，要使用 Amazon f FSx or Lustre，则应提供相应的Lustre包装。这可以通过将其包含在计算节点组 AMI 中或使用在实例启动时运行的脚本来实现。
+ 共享网络文件系统和计算节点组实例之间必须有网络路由。
+ 共享网络文件系统和计算节点组实例的安全组规则必须允许连接到相关端口。
+ 您必须在访问文件系统的资源之间保持一致的POSIX用户和组命名空间。否则，在 PCS 集群上运行的作业和交互式进程可能会遇到权限错误。
+ 文件系统装载是使用EC2启动模板完成的。挂载网络文件系统时出现错误或超时可能会使实例无法运行作业。反过来，这可能会导致意想不到的成本。有关调试启动模板的更多信息，请参阅[在 AWS PCS 上使用亚马逊 EC2 启动模板](working-with_launch-templates.md)。

## 网络挂载示例
<a name="working-with_file-systems_network-mount"></a>

你可以使用 Amazon EFS、Amazon for Lustre、Amaz FSx on for NetApp ONTAP、Ama FSx zon for OpenZFS 和亚马逊 FSx 文件缓存创建文件系统。展开下面的相关部分，查看每个网络挂载的示例。

### Amazon EFS
<a name="working-with_file-systems_network-mount_efs"></a>

**文件系统设置**

创建 Amazon EFS 文件系统。确保它在每个可用区中都有一个挂载目标，您将在其中启动 PCS 计算节点组实例。还要确保每个挂载目标都与一个安全组相关联，该安全组允许从 PCS 计算节点组实例进行入站和出站访问。有关更多信息，请参阅 *Amazon Elastic File System 用户指南*中的[挂载目标和安全组](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html)。

**启动模板**

将文件系统设置中的安全组添加到将用于计算节点组的启动模板中。

包括使用挂载 Amazon EFS 文件系统的`cloud-config`机制的用户数据。用您自己的详细信息替换此脚本中的以下值：
+ `mount-point-directory`— 每个实例上要挂载 Amazon EFS 的路径
+ `filesystem-id`— EFS 文件系统的文件系统 ID

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"

packages:
  - amazon-efs-utils

runcmd:
  - mkdir -p /mount-point-directory
  - echo "filesystem-id:/ /mount-point-directory efs tls,_netdev" >> /etc/fstab
  - mount -a -t efs defaults

--==MYBOUNDARY==--
```

### 亚马逊 f FSx or Lustre
<a name="working-with_file-systems_network-mount_fsx-lustre"></a>

**文件系统设置**

在要使用 AWS PCS FSx 的 VPC 中创建一个 for Lustre 文件系统。为了最大限度地减少区域间传输，请在同一个可用区的子网中部署，您将在那里启动大多数 PCS 计算节点组实例。确保文件系统与允许从 PCS 计算节点组实例进行入站和出站访问的安全组相关联。有关安全组的更多信息，请参阅 [Amazon for *Lustre 用户指南中的使用 Amazon VPC FSx 进行*文件系统访问控制](https://docs.aws.amazon.com/fsx/latest/LustreGuide/limit-access-security-groups.html)。

**启动模板**

包括 FSx 用于装载 for `cloud-config` Lustre 文件系统的用户数据。用您自己的详细信息替换此脚本中的以下值：
+ `mount-point-directory`— 你要为 Lustre 挂载 FSx 的实例上的路径
+ `filesystem-id`— Lustre 文件系统的文件系统 ID FSx 
+ `mount-name`— 适用于 Lustre 文件 FSx 系统的装载名称
+ `region-code`— for Lustre 文件系统的部署 AWS 区域 位置（必须与您的 AWS PCS 系统相同） FSx 
+ （可选）`latest`— for Lustre Lustre FSx 支持的任何版本的

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"

runcmd:
- amazon-linux-extras install -y lustre=latest
- mkdir -p /mount-point-directory
- mount -t lustre filesystem-id.fsx.region-code.amazonaws.com@tcp:/mount-name /mount-point-directory

--==MYBOUNDARY==--
```

### FSx 适用于 NetApp ONTAP 的亚马逊
<a name="working-with_file-systems_network-mount_fsx-ontap"></a>

**文件系统设置**

 在要使用 AWS PCS FSx 的 VPC 中创建适用于 NetApp ONTAP 的 Amazon 文件系统。为了最大限度地减少区域间传输，请在同一个可用区的子网中部署，您将在那里启动大多数 AWS PCS 计算节点组实例。确保文件系统与允许从 AWS PCS 计算节点组实例进行入站和出站访问的安全组相关联。有关安全组的更多信息，请参阅《适用于 *ONTAP 的用户指南》*[中的 Amazon VPC 文件系统访问控制](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/limit-access-security-groups.html)。FSx 

**启动模板**

 包括用于挂载 for ONTAP 文件系统的根卷 FSx 的用户数据。`cloud-config`用您自己的详细信息替换此脚本中的以下值：
+ `mount-point-directory`— 您要在实例上挂载 for ONTAP 卷 FSx 的路径
+ `svm-id`— 适用于 ONTAP 文件系统 FSx 的 SVM ID
+ `filesystem-id`— 适用于 ONTAP 文件系统的文件系统 ID FSx 
+ `region-code`— ONTAP 文件系统的部署 AWS 区域 位置（必须与您的 AWS PCS 系统相同） FSx 
+ `volume-name`— ONTAP FSx 的卷名

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"

runcmd:
- mkdir -p /mount-point-directory
- mount -t nfs svm-id.filesystem-id.fsx.region-code.amazonaws.com:/volume-name /mount-point-directory

--==MYBOUNDARY==--
```

### FSx 适用于 OpenZFS 的亚马逊
<a name="working-with_file-systems_network-mount_openzfs"></a>

**文件系统设置**

 在要使用 AWS PCS FSx 的 VPC 中创建一个适用于 OpenZFS 的文件系统。为了最大限度地减少区域间传输，请在同一个可用区的子网中部署，您将在那里启动大多数 AWS PCS 计算节点组实例。确保文件系统与允许从 AWS PCS 计算节点组实例进行入站和出站访问的安全组相关联。有关安全组的更多信息，请参阅 *OpenZFS 用户*指南中的[使用 Amazon VPC 管理文件系统访问权限](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/limit-access-security-groups.html)。FSx 

**启动模板**

 包括用于挂载 fo `cloud-config` r OpenZFS 文件系统的根卷 FSx 的用户数据。用您自己的详细信息替换此脚本中的以下值：
+ `mount-point-directory`— 要在实例上挂载 for OpenZFS FSx 共享的路径
+ `filesystem-id`— 适用于 OpenZFS 文件系统的文件系统 ID FSx 
+ `region-code`— OpenZFS 文件系统的部署 AWS 区域 位置（必须与您的 AWS PCS 系统相同） FSx 

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"

runcmd:
- mkdir -p /mount-point-directory
- mount -t nfs -o noatime,nfsvers=4.2,sync,rsize=1048576,wsize=1048576 filesystem-id.fsx.region-code.amazonaws.com:/fsx/ /mount-point-directory

--==MYBOUNDARY==--
```

### Amazon File Cache
<a name="working-with_file-systems_network-mount_file-cache"></a>

**文件系统设置**

在您将使用 PC AWS S 的 VPC 中创建[亚马逊文件缓存](https://docs.aws.amazon.com/fsx/latest/FileCacheGuide/what-is.html)。要最大限度地减少区域间传输，请在启动大多数 PCS 计算节点组实例的同一个可用区中选择一个子网。确保文件缓存与安全组关联，该安全组允许您的 PCS 实例和文件缓存之间通过端口 988 进行入站和出站流量。有关安全组的更多信息，请参阅《亚马逊*文件缓存用户指南》中的 Amazon VPC 缓存*[访问控制](https://docs.aws.amazon.com/fsx/latest/FileCacheGuide/limit-access-security-groups.html)。

**启动模板**

将文件系统设置中的安全组添加到将用于计算节点组的启动模板中。

包括用于`cloud-config`挂载 Amazon 文件缓存的用户数据。用您自己的详细信息替换此脚本中的以下值：
+ `mount-point-directory`— 你要为 Lustre 挂载 FSx 的实例上的路径
+ `cache-dns-name`— 文件缓存的域名系统 (DNS) 名称
+ `mount-name`— 文件缓存的挂载名称

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"

runcmd:
- amazon-linux-extras install -y lustre=2.12
- mkdir -p /mount-point-directory
- mount -t lustre -o relatime,flock cache-dns-name@tcp:/mount-name /mount-point-directory

--==MYBOUNDARY==--
```