本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 EFS 挂载帮助程序自动重新挂载 EFS 文件系统
使用 EFS 挂载帮助程序将 EC2 Linux 实例上的 /etc/fstab
配置为在实例重新启动时自动重新挂载 EFS 文件系统。
创建 EC2 实例时附加 EFS 文件系统以启用重启时自动挂载
此方法使用 EFS 挂载帮助程序挂载文件系统,以更新 EC2 实例上的 /etc/fstab 文件。挂载帮助程序是 amazon-efs-utils 工具集的一部分。
使用 EC2 启动实例向导创建新的 Amazon EC2 Linux 实例时,可以将该实例配置为自动挂载您的 Amazon EFS 文件系统。EC2 实例会在第一次启动时自动挂载文件系统,并且在重新启动时也会自动挂载文件系统。
注意
Amazon EFS 文件系统不支持在实例启动时在运行 macOS Big Sur 或 Monterey 的 Amazon EC2 Mac 实例上挂载。
在执行此过程之前,请确保您已创建 Amazon EFS 文件系统。有关更多信息,请参阅 Amazon EFS 入门练习中的 步骤 1:创建您的 Amazon EFS 文件系统。
注意
不能将 Amazon EFS 与基于 Microsoft Windows 的 Amazon EC2 实例结合使用。
在启动并连接到 Amazon EC2 实例之前,如果还没有密钥对,则需要创建一个密钥对。按照《适用于 Linux 实例的 Amazon EC2 用户指南》中的设置 Amazon EC2 中的步骤创建密钥对。如果您已有一个密钥对,则可在此练习中使用该密钥对。
将 EC2 实例配置为在启动时自动挂载 EFS 文件系统
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
选择 Launch Instance(启动实例)。
-
在步骤 1:选择一个 Amazon 系统映像(AMI)中,在列表顶部找到一个 Amazon Linux AMI,然后选择选择。
-
在步骤 2:选择一个实例类型中,选择下一步:配置实例详细信息。
-
在 Step 3: Configure Instance Details (步骤 3:配置实例详细信息) 中,请提供以下信息:
对于 Network (网络),为您装载的 EFS 文件系统所在的同一 VPC 选择条目。
对于 Subnet (子网),在任何可用区中选择一个默认子网。
对于 File system (文件系统),选择要装载的 EFS 文件系统。文件系统 ID 旁边显示的路径是 EC2 实例将使用的装载点,您可以更改此装载点。
在 Advanced Details (高级详细信息) 下,将自动生成 User data (用户数据),并包括挂载您在 File systems (文件系统) 下指定的 EFS 文件系统所需的命令。
-
选择下一步:添加存储。
-
选择 Next: Add Tags。
-
命名您的实例,然后选择下一步:配置安全组。
-
在 Step 6: Configure Security Group (步骤 6:配置安全组) 中,将 Assign a security group (分配安全组) 设置为 Select an existing security group (选择现有安全组)。选择默认安全组以确保它能够访问您的 EFS 文件系统。
您不能使用该安全组通过安全外壳 (SSH) 访问您的 EC2 实例。对于通过 SSH 进行访问,您稍后可以编辑默认安全性并添加一个允许 SSH 的规则/新安全组。您可以使用以下设置:
-
类型:SSH
-
协议:TCP
-
端口范围:22
-
源:任何位置 0.0.0.0/0
-
-
选择审核并启动。
-
选择启动。
-
选中您创建的密钥对的复选框,然后选择启动实例。
您的 EC2 实例现已配置为在启动或重新启动时装载 EFS 文件系统。
将 /etc/fstab
与 EFS 挂载帮助程序结合使用,以自动重新挂载 EFS 文件系统
/etc/fstab
文件包含有关文件系统的信息。命令 mount -a
在实例启动期间运行,用于挂载 /etc/fstab
中列出的所有文件系统。在此过程中,您将在 EC2 Linux 实例上手动更新 /etc/fstab
,以便该实例在实例重启时使用 EFS 挂载帮助程序自动重新挂载 EFS 文件系统。
注意
Amazon EFS 文件系统不支持在运行 macOS Big Sur 或 Monterey 的 Amazon 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-utils 工具。如果您正在使用其他 Linux 发行版,例如 Red Hat Enterprise Linux (RHEL),请手动构建并安装 amazon-efs-utils
。有关更多信息,请参阅在其他 Linux 发行版上安装 Amazon EFS 客户端。
先决条件
在成功实施此过程之前,需要满足以下要求:
已经创建了想要自动重新挂载的 Amazon EFS 文件系统。有关更多信息,请参阅步骤 1:创建您的 Amazon EFS 文件系统。
已经创建了要配置为自动重新挂载 EFS 文件系统的 EC2 Linux 实例。
EFS 挂载帮助程序已安装在 EC2 Linux 实例上。有关更多信息,请参阅使用这些 amazon-efs-utils 工具。
更新 EC2 实例上的 /etc/fstab 文件
-
连接到 EC2 实例:
-
要从运行 macOS 或 Linux 的计算机连接到您的实例,请为 SSH 命令指定 .pem 文件。要执行该操作,请使用
-i
选项和私有密钥路径。 -
要从运行 Windows 的计算机连接到您的实例,您可以使用 MindTerm 或 PuTTY。要使用 PuTTY,您需要安装它并将 .pem 文件转换为 .ppk 文件。
有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的以下主题:
-
在编辑器中打开
/etc/fstab
文件。-
对于使用 IAM 授权或 EFS 接入点的自动挂载:
-
要使用 IAM 授权自动挂载到具有实例配置文件的 Amazon 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,iam,accesspoint=access-point-id
0 0
警告
请在自动挂载文件系统时使用
_netdev
选项,它用于指定网络文件系统。如果缺少_netdev
,您的 EC2 实例可能会停止响应。出现该结果是因为,需要在计算实例启动其网络后初始化网络文件系统。有关更多信息,请参阅自动挂载失败,并且实例没有响应。有关更多信息,请参阅 使用 IAM 授权挂载 和 使用 EFS 接入点进行挂载。
-
-
保存对文件所做的更改。
-
通过将带
'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
文件的代码行将执行以下操作。
字段 | 描述 |
---|---|
|
您的 Amazon EFS 文件系统的 ID。您可以从控制台获取此 ID,也可以通过编程方式从 CLI 或 Amazon SDK 中获取此 ID。 |
|
EFS 文件系统在 EC2 实例上的挂载点。 |
|
文件系统的类型。在使用挂载帮助程序时,该类型始终为 |
|
文件系统的挂载选项。这是一个逗号分隔列表,包含以下选项:
|
|
非零值表示应由 |
|
|