我从 AWS Backup 的备份中还原了 Amazon Elastic File System (Amazon EFS) 文件系统。文件系统的大小与备份之前的大小不同。我想获取文件系统及其对象的准确大小。
简短描述
从备份中还原 EFS 文件系统后,Amazon EFS 会异步计量和加载文件。因此,初始报告的大小可能并非实际还原的数据量。例如,您从 2.4GB 的备份中还原 EFS 文件系统,但新 EFS 文件系统的大小只有 6KB。您必须等待 Amazon EFS 指标更新,并在正确位置访问还原的数据。
解决方法
检查文件系统的大小
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
Amazon EFS 每小时计量一次文件。请在 Amazon EFS 还原或创建文件系统大约 1 小时(或更长时间)后再检查还原文件系统的大小。要检查文件系统的当前计量大小,请使用 AWS CLI 或挂载文件系统。
**注意:**Amazon EFS 控制台中报告的大小并不代表文件系统在某个时间点的一致性快照。报告的大小基于文件系统中不同时间点存在的对象大小。当文件系统没有写入操作时,计量大小最终会与存储对象的实际大小相匹配。
-
要获取有关 EFS 文件系统的信息,请运行以下 AWS CLI describe-file-systems 命令:
aws efs describe-file-systems --file-system-id your-file-system-id
**注意:**请将 your-file-system-id 替换为您的文件系统 ID。
-
要获取 EFS 文件系统的当前计量大小,请检查 "SizeInBytes" 字段中 "Value" 的值。
或者,使用 Amazon EFS 控制台查看文件系统的总大小。总大小值反映了文件系统的计量大小。
挂载文件系统
完成以下步骤:
- 挂载文件系统。
- 要显示已挂载文件系统使用的磁盘空间量,请运行以下 df -h 命令:
df -h /mnt/efs
以下输出显示文件系统已挂载在 /home/ec2-user/EFS 上,总大小为 8.0E,已用空间为 5.0G:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 453M 0 453M 0% /dev/shm
tmpfs 181M 484K 181M 1% /run
/dev/nvme0n1p1 30G 1.8G 29G 6% /
tmpfs 453M 0 453M 0% /tmp
127.0.0.1:/ 8.0E 5.0G 8.0E 1% /home/ec2-user/EFS
**注意:**已用空间是文件系统的实际大小。
跟踪文件的磁盘使用情况
要跟踪文件和目录使用的磁盘空间量,请使用 du 和 stat 等工具。
要计算 EFS 挂载目录中所有文件的总大小并以千兆字节为单位显示结果,请运行以下命令:
find /path/to/efs/mount-directory -type f -ls | awk '{total += $7} END {printf "Total size: %.2f GB\n", total/1024/1024/1024}'
Amazon EFS 在使用 space_used 属性报告对象的已用空间时会包含数据大小。但是,Amazon EFS 不包含 2KiB 的元数据大小。因此,即使文件的逻辑大小较小,stat 命令显示的文件大小也可能是 4KiB 的倍数。
监控文件系统吞吐量
Amazon EFS 会根据您配置的吞吐量模式使用不同的模型来报告文件系统吞吐量。要查看吞吐量指标,请参阅访问 Amazon EFS 的 Amazon CloudWatch 指标。
查看以下吞吐量指标:
- 对于突增吞吐量,请监控 BurstCreditBalance。
- 对于预置吞吐量,请监控 PermittedThroughput。
- 要监控 Amazon EFS 中的弹性吞吐量使用情况,请使用 CloudWatch 指标来跟踪数据操作和元数据操作。例如,要了解您的总元数据操作量,请使用 Sum 聚合查看 MetadataIOBytes 指标。
有关更多信息,请参阅监控吞吐量性能。
相关信息
还原 Amazon EFS 文件系统
EFS 文件系统的计量大小
管理挂载目标