本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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:创建您的亚马逊 EFS 文件系统中的。
注意
你不能将亚马逊 EFS 与基于微软 Windows 的亚马逊 EC2 实例一起使用。
除非已有密钥对,否则在启动和连接 Amazon EC2 实例之前,您需要先创建一个密钥对。按照《适用于 Linux 实例的亚马逊 EC2 用户指南》中的 “使用亚马逊 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 的规则/新安全组。您可以使用以下设置:
-
Type:SSH
-
Protocol:TCP
-
Port Range:22
-
Source:Anywhere 0.0.0.0/0
-
-
选择 Review and Launch。
-
选择启动。
-
选中您创建的密钥对的复选框,然后选择启动实例。
您的 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 在运行 macOS Big Sur 和 Monterey 的 EC2 Mac 实例上自动挂载文件系统。/etc/fstab
此方法使用 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 发行版上安装亚马逊 EFS 客户端:
先决条件
在成功实施此过程之前,需要满足以下要求:
您已经创建了要自动重新安装的 Amazon EFS 文件系统。有关更多信息,请参阅步骤 1:创建您的亚马逊 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
文件的代码行将执行以下操作。
字段 | 描述 |
---|---|
|
您的亚马逊 EFS 文件系统的 ID。您可以从控制台获取此 ID,也可以通过编程方式从 CLI 或 Amazon SDK 中获取此 ID。 |
|
EFS 文件系统在 EC2 实例上的挂载点。 |
|
文件系统的类型。在使用挂载帮助程序时,该类型始终为 |
|
文件系统的挂载选项。这是一个逗号分隔列表,包含以下选项:
|
|
非零值表示应由 |
|
|