You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EFS显示占用空间但文件消失,求助排查解决

问题:EFS控制台显示存储占用,但Elastic Beanstalk挂载后为空

我有一个多可用区AWS EFS,AWS控制台显示已存储180MB数据,但从Elastic Beanstalk环境访问时该EFS为空。此前该EFS存有文件且重新部署正常,如今文件突然消失但存储占用仍显示180MB。

我是按照官方提供的配置文件完成EFS挂载配置的,该EFS未设置为公开可用。

编辑补充
执行df -H命令输出如下:

$ df -H
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        507M     0  507M   0% /dev
tmpfs           515M     0  515M   0% /dev/shm
tmpfs           515M   59M  457M  12% /run
tmpfs           515M     0  515M   0% /sys/fs/cgroup
/dev/xvda1      8.6G  3.9G  4.8G  45% /
127.0.0.1:/     9.3E     0  9.3E   0% /efs <- (AWS控制台显示EFS容量为500MB)
tmpfs           103M     0  103M   0% /run/user/1000

我尝试恢复多个备份,但每次恢复仅增加EFS容量,文件仍未出现。

编辑补充2
执行mount | grep nfs命令输出如下:

mount | grep nfs
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
127.0.0.1:/ on /efs type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,noresvport,proto=tcp,port=20644,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)

解决方案

从挂载命令的输出可以直接定位问题:当前挂载的是本地回环地址127.0.0.1:/,也就是本地NFS服务,而非真正的AWS EFS文件系统。正常EFS挂载点格式应为fs-xxxx.efs.[区域].amazonaws.com:/。

排查与修复步骤

  • 检查Beanstalk配置文件
    确认配置文件中EFSFileSystemId和EFSMountTarget参数是否与你的EFS实例信息完全匹配,同时查看Beanstalk环境事件日志,确认挂载脚本执行过程中是否存在错误。

  • 验证EFS挂载目标状态
    登录AWS控制台进入EFS管理页面,确保你的EFS在Beanstalk环境所在的可用区有正常运行的挂载目标,且挂载目标的安全组允许Beanstalk实例安全组通过NFS端口(2049)访问。

  • 手动修复挂载

    1. 卸载错误挂载:执行sudo umount /efs
    2. 手动挂载正确的EFS:替换命令中的EFS域名和挂载路径后执行
      sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-xxxx.efs.your-region.amazonaws.com:/ /efs
      
    3. 若手动挂载成功,修正Beanstalk配置文件后重新部署环境。
  • 处理备份恢复问题
    之前恢复备份时,因挂载错误导致数据未写入真正的EFS,而是写入了本地路径或错误挂载点。修复挂载后,重新将备份恢复到正确的EFS挂载路径即可。


内容的提问来源于stack exchange,提问作者Code Spirit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 12:02:17