在现有 EC2 Linux 实例上启用自动挂载 - Amazon Elastic File System
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在现有 EC2 Linux 实例上启用自动挂载

/etc/fstab 文件包含有关文件系统的信息。命令 mount -a 在实例启动期间运行,用于挂载 /etc/fstab 中列出的所有文件系统。在此过程中,您将在 Amazon EC2 Linux 实例上手动更新 /etc/fstab,以便该实例在实例重启时使用 EFS 挂载帮助程序自动重新挂载 EFS 文件系统。

注意

EFS 文件系统不支持在运行 macOS Big Sur 或 Monterey 的 EC2 Mac 实例上使用 /etc/fstab 和 EFS 挂载帮助程序自动挂载。相反,可以将 NFS 与 /etc/fstab 结合使用,在运行 macOS Big Sur 和 Monterey 的 EC2 Mac 实例上自动挂载文件系统。

此方法使用 EFS 挂载帮助程序来挂载文件系统。挂载帮助程序是 amazon-efs-utils 工具集的一部分。

这些 amazon-efs-utils 工具可用于在 Amazon Linux 和 Amazon Linux 2 Amazon 系统映像 (AMI) 上安装。有关 amazon-efs-utils 的更多信息,请参阅安装 Amazon EFS 客户端。如果您正在使用其他 Linux 发行版,例如 Red Hat Enterprise Linux (RHEL),请手动构建并安装 amazon-efs-utils。有关更多信息,请参阅 在其他 Linux 发行版上安装 Amazon EFS 客户端

先决条件

在成功实施此过程之前,需要满足以下要求:

  • 已经创建了想要自动重新挂载的 EFS 文件系统。有关更多信息,请参阅 使用控制台快速创建

  • 已经创建了要配置为自动重新挂载 EFS 文件系统的 EC2 Linux 实例。

  • EFS 挂载帮助程序已安装在 EC2 Linux 实例上。有关更多信息,请参阅 安装 Amazon EFS 客户端

更新 /etc/fstab 文件

执行以下步骤,更新 EC2 Linux 实例上的 /etc/fstab,以便该实例在实例重启时使用 EFS 挂载帮助程序自动重新挂载 EFS 文件系统。

更新 EC2 实例上的 /etc/fstab 文件
  1. 连接到 EC2 实例。有关更多信息,请参阅《Amazon EC2 用户指南》中的连接到您的 EC2 实例

  2. 在编辑器中打开 /etc/fstab 文件。

  3. 对于使用 IAM 授权或 EFS 接入点的自动挂载:

    • 要使用 IAM 授权自动挂载到具有实例配置文件的 EC2 实例,请将以下行添加到 /etc/fstab 文件中。

      file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,iam 0 0
    • 要使用凭证文件通过 IAM 授权自动挂载到 Linux 实例,请将以下行添加到 /etc/fstab 文件中。

      file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,iam,awsprofile=namedprofile 0 0
    • 要使用 EFS 访问点自动挂载文件系统,请将以下行添加到 /etc/fstab 文件中。

      file-system-id:/ efs-mount-point efs _netdev,noresvport,tls,accesspoint=access-point-id 0 0
    警告

    请在自动挂载文件系统时使用 _netdev 选项,它用于指定网络文件系统。如果缺少 _netdev,您的 EC2 实例可能会停止响应。出现该结果是因为,需要在计算实例启动其网络后初始化网络文件系统。有关更多信息,请参阅 自动挂载失败,并且实例没有响应

    有关更多信息,请参阅使用 IAM 授权挂载使用 EFS 接入点进行挂载

  4. 保存对文件所做的更改。

注意

在某些情况下,无论挂载的 EFS 文件系统的状态如何,都可能需要启动您的 EC2 实例。在这些情况下,将 nofail 选项添加到 /etc/fstab 文件中的文件系统条目中。

您添加到 /etc/fstab 文件的代码行将执行以下操作。

字段 描述

file-system-id:/

您的 EFS 文件系统的 ID。可以从控制台中获取该 ID,也可以从 CLI 或 Amazon 开发工具包中以编程方式获取该 ID。

efs-mount-point

EFS 文件系统在 EC2 实例上的挂载点。

efs

文件系统的类型。在使用挂载帮助程序时,该类型始终为 efs

mount options

文件系统的挂载选项。这是一个逗号分隔列表,包含以下选项:

  • _netdev – 该选项向操作系统指示文件系统位于需要网络访问的设备上。该选项禁止实例挂载文件系统,直到在客户端上启用了网络。

  • noresvport – 告知 NFS 客户端在重新建立网络连接时,使用新的传输控制协议(TCP)源端口。这样做有助于确保 EFS 文件系统在网络恢复事件后具有不间断的可用性。

  • tls – 启用传输中数据加密。

  • iam - 使用此选项可以使用 IAM 授权挂载到具有实例配置文件的 EC2 实例。使用 iam 挂载选项还需要使用 tls 选项。有关更多信息,请参阅 使用 IAM 控制文件系统访问

  • awsprofile=namedprofile – 将此选项与 iamtls 选项结合使用,以使用凭证文件通过 IAM 授权挂载到 Linux 实例。有关 EFS 访问点的更多信息,请参阅使用 IAM 控制文件系统访问

  • accesspoint=access-point-id – 将此选项与 tls 选项结合使用以通过 EFS 接入点进行挂载。有关 EFS 访问点的更多信息,请参阅使用接入点工作

0

非零值表示应由 dump 备份文件系统。对于 EFS,该值应为 0

0

fsck 在启动时检查文件系统的顺序。对于 EFS 文件系统,该值应为 0,表示 fsck 不应在启动时运行。