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

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

在没有 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 实例和挂载目标的安全组

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 客户端使用 128 KB 的默认 read_ahead_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 实例挂载 Amazon EFS 文件系统。

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

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

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