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

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

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

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

注意

亚马逊EFS文件系统不支持在运行 macOS Big Sur 或 Monterey 的亚马逊 EC2 Mac 实例上使用/etc/fstabEFS挂载助手进行自动挂载。相反,您可以使用NFS在运行 macOS Big Sur 和 Monterey 的 EC2 Mac 实例上自动挂载文件系统。/etc/fstab

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

这些amazon-efs-utils工具可在亚马逊 Linux 和亚马逊 Linux 2 亚马逊机器映像 (AMIs) 上安装。有关 amazon-efs-utils 的更多信息,请参阅 安装亚马逊EFS客户端。如果您使用的是其他 Linux 发行版,例如红帽企业 Linux (RHEL),请手动构建和安装amazon-efs-utils。有关更多信息,请参阅 在其他 Linux 发行版上安装亚马逊EFS客户端

先决条件

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

更新 /etc/fstab 文件

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

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

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

  3. 要使用IAM授权或EFS接入点进行自动安装,请执行以下操作:

    • 要在IAM授权的情况下自动挂载到具有EC2实例配置文件的 Amazon 实例,请在/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,iam,accesspoint=access-point-id 0 0
    警告

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

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

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

  5. 通过将带 'fake' 选项的 mount 命令与 'all''verbose' 选项结合使用来测试 fstab 条目。

    $ sudo mount -fav home/ec2-user/efs : successfully mounted

现在,您的EC2实例已配置为在EFS文件系统重启时挂载该文件系统。

注意

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

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

字段 描述

file-system-id:/

您的 Amazon EFS 文件系统的 ID。您可以从控制台获取此 ID,也可以通过编程方式从或中CLI获取此 ID。 Amazon SDK

efs-mount-point

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

efs

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

mount options

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

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

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

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

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

  • awsprofile=namedprofile— 将此选项与iamtls选项结合使用,使用凭证文件进行IAM授权挂载到 Linux 实例。有关EFS接入点的更多信息,请参阅IAM使用控制文件系统数据访问权限

  • accesspoint=access-point-id— 使用此选项以及使用EFS接入点进行装载的tls选项。有关EFS接入点的更多信息,请参阅使用 Amazon EFS 接入点

0

非零值表示应由 dump 备份文件系统。因为EFS,此值应为0

0

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