在不使用 EFS 挂载帮助程序的情况下 - Amazon Elastic File System
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

在不使用 EFS 挂载帮助程序的情况下

注意

在本节中,您可以了解如何在没有 amazon-efs-utils 软件包的情况下挂载 Amazon EFS 文件系统。要使用文件系统加密传输中的数据,您必须使用传输层安全性 (TLS) 挂载文件系统。为此,我们建议您使用 amazon-efs-utils 软件包。有关更多信息,请参阅 使用 amazon-efs-utils 工具

在下文中,您将了解如何安装网络文件系统 (NFS) 客户端以及如何在 Amazon EC2 实例上挂载 Amazon EFS 文件系统。还可以找到用于在 mount 命令中指定文件系统的域名系统 (DNS) 名称的 mount 命令和可用选项的说明。此外,您还可以了解如何使用 fstab 文件在任何系统重新启动后自动重新挂载您的文件系统。

注意

您必须创建、配置和启动相关的文件系统,然后才可以挂载文件系统。Amazon资源的费用。有关详细说明,请参阅入门 Amazon Elastic File System

注意

在装载文件系统之前,您需要为 Amazon EC2 实例创建 VPC 安全组,并使用所需的入站和出站访问权限挂载目标。有关更多信息,请参阅 为 Amazon EC2 实例和挂载目标使用 VPC 安全组

NFS 支持

在 Amazon EC2 实例上挂载文件系统时,Amazon EFS 支持网络文件系统版本 4.0 和 4.1 (NFSv4) 协议。虽然支持 NFSv4.0,但我们建议您使用 NFSv4.1。在 Amazon EC2 实例上挂载 Amazon EFS 文件系统时,还需要使用支持所选的 NFSv4 协议的 NFS 客户端。运行 macOS Big Sur 的 Amazon EC2 Mac 实例只支持 NFS v4.0。

Amazon EFS 不支持nconnect挂载选项。

注意

对于 Linux 内核 5.4.* 版本,Linux NFS 客户端使用默认值read_ahead_kb值 128 KB。我们建议将此值增加到 15 MB。有关更多信息,请参阅 优化 NFS read_ahead_kb 大小

为获得最佳性能以及避免出现各种已知的 NFS 客户端错误,我们建议您使用最新的 Linux 内核。如果使用的是企业 Linux 发行版,我们建议您使用以下版本:

  • Amazon Linux 2

  • Amazon Linux 2017.09 或更高版本

  • Red Hat Enterprise Linux(和衍生产品,如 CentOS)7 和更新版本

  • Ubuntu 16.04 LTS 和更新版本

  • SLES 12 Sp2 或更高版本

如果使用其他发行版或自定义内核,我们建议您使用内核 4.3 或更高版本。

注意

由于并行打开多个文件时,性能不佳,RHEL 6.9 可能对于特定工作负载不够理想。

注意

不支持将与运行 Microsoft Windows 的 Amazon EC2 实例一起使用。

排除 AMI 和内核版本故障

要排查从 EC2 实例使用 Amazon EFS 时与某些 AMI 或内核版本相关的问题,请参阅。排查 AMI 和内核问题.

安装 NFS 客户端

要在 Amazon EC2 实例上挂载 Amazon EFS 文件系统,首先需要安装 NFS 客户端。要连接到 EC2 实例并安装 NFS 客户端,您需要 EC2 实例的公有 DNS 名称和用户名称进行登录。实例的用户名通常为 ec2-user

连接 EC2 实例和安装 NFS 客户端

  1. 连接到您的 EC2 实例。连接到实例时,请注意以下情况:

    • 要从运行 macOS 或 Linux 的计算机连接到您的实例,请在安全 Shell (SSH) 客户端中使用 -i 选项和私有密钥路径指定 .pem 文件。

    • 要从运行 Windows 的计算机连接到您的实例,可以使用 MindTerm 或 PuTTY。如果您计划使用 PuTTY,则需要安装它并按以下过程将 .pem 文件转换为 .ppk 文件。

    有关详细信息,请参阅中的以下主题:适用于 Linux 实例的 Amazon EC2 用户指南

  2. (可选) 获取更新并重启。

    $ sudo yum -y update $ sudo reboot
  3. 重启后,重新连接到您的 EC2 实例。

  4. 安装 NFS 客户端。

    如果您使用的是 Amazon Linux AMI 或 Red Hat Linux AMI,请使用以下命令安装 NFS 客户端。

    $ sudo yum -y install nfs-utils

    如果您使用的是 Ubuntu Amazon EC2 AMI,请使用以下命令安装 NFS 客户端。

    $ sudo apt-get -y install nfs-common
  5. 使用以下命令启动 NFS 服务。对于 RHEL 7:

    $ sudo service nfs start

    对于 RHEL 8:

    $ sudo service nfs-server start
  6. 验证 NFS 服务已启动,如下所示。

    $ sudo service nfs status Redirecting to /bin/systemctl status nfs.service ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled) Active: active (exited) since Wed 2019-10-30 16:13:44 UTC; 5s ago Process: 29446 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS) Process: 29441 ExecStartPre=/bin/sh -c /bin/kill -HUP `cat /run/gssproxy.pid` (code=exited, status=0/SUCCESS) Process: 29439 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 29446 (code=exited, status=0/SUCCESS) CGroup: /system.slice/nfs-server.service

如果使用自定义内核(即,如果构建自定义 AMI),您需要至少包含 NFSv4.1 客户端内核模块和相应的 NFS4 用户空间挂载帮助程序。

注意

如果选择Amazon Linux AMI 2016.03.0要么Amazon Linux AMI 2016.09.0当启动您的 Amazon EC2 实例时,您无需安装nfs-utils因为默认情况下它已包含在 AMI 中。

后续:挂载您的文件系统

使用以下过程之一挂载您的文件系统。