

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

# 在现有 EC2 Linux 实例上启用自动挂载
<a name="mount-fs-auto-mount-update-fstab"></a>

`/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` 结合使用](nfs-automount-efs.md)，在运行 macOS Big Sur 和 Monterey 的 EC2 Mac 实例上自动挂载文件系统。

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

这些`amazon-efs-utils`工具可在亚马逊 Linux 和亚马逊 Linux 2 亚马逊机器映像 (AMIs) 上安装。有关 `amazon-efs-utils`的更多信息，请参阅[安装 Amazon EFS 客户端](using-amazon-efs-utils.md)。如果您正在使用其他 Linux 发行版，例如 Red Hat Enterprise Linux (RHEL)，请手动构建并安装 `amazon-efs-utils`。有关更多信息，请参阅 [在其他 Linux 发行版上安装 Amazon EFS 客户端](installing-amazon-efs-utils.md#installing-other-distro)。

## 先决条件
<a name="mount-helper-fstab-prereqs"></a>

在成功实施此过程之前，需要满足以下要求：
+ 已经创建了想要自动重新挂载的 EFS 文件系统。有关更多信息，请参阅 [使用控制台快速创建](creating-using-create-fs.md#gs-step-two-create-efs-resources)。
+ 已经创建了要配置为自动重新挂载 EFS 文件系统的 EC2 Linux 实例。
+ EFS 挂载帮助程序已安装在 EC2 Linux 实例上。有关更多信息，请参阅 [安装 Amazon EFS 客户端](using-amazon-efs-utils.md)。

## 更新 /etc/fstab 文件
<a name="update-fstab-file"></a>

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

**更新 EC2 实例上的 /etc/fstab 文件**

1. 连接到您的 EC2 实例。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[连接到您的 EC2 实例](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/connect.html)。

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

1. 对于使用 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 实例可能会停止响应。出现该结果是因为，需要在计算实例启动其网络后初始化网络文件系统。有关更多信息，请参阅 [自动挂载失败，并且实例没有响应](troubleshooting-efs-mounting.md#automount-fails)。

   有关更多信息，请参阅[使用 IAM 授权挂载](mounting-IAM-option.md)和[使用 EFS 接入点进行挂载](mounting-access-points.md)。

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

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

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


| 字段 | 说明 | 
| --- | --- | 
|  `file-system-id:/`  |  您的 EFS 文件系统的 ID。您可以从控制台获取此 ID，也可以通过编程方式从 CLI 或 Amazon SDK 中获取此 ID。  | 
|  `efs-mount-point`  |  EFS 文件系统在 EC2 实例上的挂载点。  | 
|  `efs`  |  文件系统的类型。在使用挂载帮助程序时，该类型始终为 `efs`。  | 
|  `mount options`  |  文件系统的挂载选项。这是一个逗号分隔列表，包含以下选项： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/efs/latest/ug/mount-fs-auto-mount-update-fstab.html)  | 
|  `0`  |  非零值表示应由 `dump` 备份文件系统。对于 EFS，该值应为 `0`。  | 
|  `0`  |  `fsck` 在启动时检查文件系统的顺序。对于 EFS 文件系统，该值应为 `0`，表示 `fsck` 不应在启动时运行。  | 