我的 Amazon Elastic File System (Amazon EFS) 文件系统可用,并且正确挂载在我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例上,但我无法写入它。如何解决此问题?
简短描述
下面是阻止您写入文件系统的两种常见问题:
- /etc/fstab 文件中的挂载选项设置为只读访问权限。
- 关联的 AWS Identity and Access Management (IAM) 策略指示只读访问权限,或者根访问权限被禁用。
解决方法
**注意:**此解决方法使用 Amazon EFS 挂载帮助程序。Amazon EFS 挂载帮助程序已预安装在 Amazon Linux 上。如果您使用的是其他分发,请参阅在其他 Linux 分发上安装 amazon-efs-utils 软件包。
验证 /etc/fstab 文件中的挂载选项正确无误
1. 运行以下命令以检查文件系统的当前挂载选项:
$ mount -t nfs4
在以下示例输出中,变量 ro 表示文件系统当前允许只读访问。
file-system-id.efs.region.amazonaws.com:/ on /efs type nfs4 (ro,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.0.2.0,local_lock=none,addr=192.0.0.0)
2. 使用 vi 之类的编辑工具将 /etc/fstab 文件中的挂载参数更改为 rw(读/写访问):
**注意:**将 file-system-id 替换为您的文件系统的 ID。
file-system-id:/ efs-mount-point efs rw,_netdev 0 0
3. 运行以下命令以卸载并重新挂载文件系统。
$ sudo mount -o remount,rw /efs -t efs && mount -t nfs4
file-system-id.efs.region.amazonaws.com:/ on /efs type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=190.0.2.0,local_lock=none,addr=190.0.2.0)
4. 在文件系统中创建或编辑文件以确认您可以写入该文件系统。
验证权限设置正确
1. 打开 Amazon EFS 控制台。
**注意:**请确保您与 Amazon EFS 文件系统处于同一个区域中。
2. 选择要检查的文件系统,然后选择 View details(查看详细信息)。
3. 在 **File system policy(文件系统策略)**选项卡上,选择 Edit(编辑)。
4. 如果已选中了以下选项,请取消选择:
Prevent root access by default(默认情况下阻止根访问)
Enforce read-only access by default(默认情况下强制实施只读访问)
5. 选择 Set policy(设置策略)。
6. 选择 Save policy(保存策略)。
7. 运行 umount 命令卸载文件系统。
$ sudo umount /efs
8. 运行 mount 命令重新挂载文件系统以应用更改。
**注意:**将 file-system-id 替换为您的文件系统的 ID。
$ sudo mount -t efs -o iam fs-file-system-id /efs
9. 使用 vi 之类的编辑工具将以下行添加到 /etc/fstab,以使新挂载在重新启动后持久有效:
使用 IAM 授权对拥有实例配置文件的实例进行挂载:
file-system-id:/ efs-mount-point efs _netdev,iam 0 0
使用 IAM 授权对使用凭证文件的 Linux 实例进行挂载:
file-system-id:/ efs-mount-point efs _netdev,iam,awsprofile=namedprofile 0 0
使用 EFS 接入点挂载:
file-system-id efs-mount-point efs _netdev,accesspoint=access-point-id 0 0
有关更多信息,请参阅使用 /etc/fstab 自动挂载。
10. 在文件系统中创建或编辑文件以确认您可以写入该文件系统。
相关信息
Amazon EFS 新特性 - IAM 授权和接入点
从其他账户或 VPC 挂载 EFS 文件系统