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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

在没有 EFS 挂载帮助程序的情况下挂载文件系统

注意

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

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

注意

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

NFS 支持

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

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

  • Amazon Linux 2

  • Amazon Linux 2015.09 或更高版本

  • RHEL 7.3 或更高版本

  • 具有内核 2.6.32-696 或更高版本的 RHEL 6.9

  • 所有 Ubuntu 16.04 版本

  • 具有内核 3.13.0-83 或更高版本的 Ubuntu 14.04

  • SLES 12 Sp2 或更高版本

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

注意

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

注意

不支持将 Amazon EFS 与基于 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 文件。

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

  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 服务。

    $ sudo service nfs 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 EC2 实例时选择 Amazon Linux AMI 2016.03.0Amazon Linux AMI 2016.09.0,您不需要安装 nfs-utils,因为它已默认包含在 AMI 中。

下一步:挂载您的文件系统

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