Amazon EFS 如何报告文件系统和对象大小
下面的章节介绍 Amazon EFS 如何报告文件系统大小、文件系统内对象的大小以及文件系统吞吐量。
计量 Amazon EFS 文件系统对象
可以在 Amazon EFS 系统中查看的对象包括常规文件、目录、符号链接和特殊文件(FIFO 和套接字)。其中的每个对象按照 2 千位二进制字节 (KiB) 元数据(对于其 inode)以及一个或多个 4 KiB 数据增量进行计量。以下列表说明了不同类型的文件系统对象的计量数据大小:
-
常规文件 – 常规文件的计量数据大小是舍入到下一个 4 KiB 增量的文件逻辑大小,但稀疏文件可能较小。
稀疏文件 具有这样一种特点:在达到其逻辑大小之前,不会将数据写入文件的全部位置。对于稀疏文件,在某些情况下,使用的实际存储小于舍入到下一个 4 KiB 增量的逻辑大小。在这些情况下,Amazon EFS 将使用的实际存储报告为计量的数据大小。
-
目录 – 目录的计量数据大小是用于目录条目和保存这些条目的数据结构的实际存储,舍入到下一个 4 KiB 增量。计量的数据大小不包含文件数据使用的实际存储。
-
符号链接和特殊文件 – 这些对象的计量数据大小始终为 4 KiB。
当 Amazon EFS 通过 NFSv4.1 space_used
属性报告用于对象的空间时,它包括对象的当前计量数据大小,但不包括其元数据大小。您可以使用以下两个实用程序测量文件的磁盘使用情况:du
和 stat
实用程序。下例说明了如何对空文件使用 du
实用程序,利用 -k
选项以返回以千字节为单位的输出。
$
du -k file
4 file
下例说明了如何对空文件使用 stat
实用程序来返回文件的磁盘使用情况。
$
/usr/bin/stat --format="%b*%B" file | bc
4096
要测量目录的大小,请使用 stat
实用程序。找到 Blocks
值,然后将该值乘以块大小。下面是如何对空目录使用 stat
实用程序的示例:
$
/usr/bin/stat --format="%b*%B" . | bc
4096
Amazon EFS 文件系统的计量大小
Amazon EFS 文件系统的计量大小包括所有 EFS 存储类中所有当前对象的大小之和。每个对象的大小根据计量小时(例如上午 8:00 到上午 9:00)内的对象大小的代表性取样计算得出。
空文件对文件系统计量大小贡献 6 KiB(2 KiB 元数据 + 4 KiB 数据)。在创建时,文件系统有一个空的根目录,因此计量大小为 6 KiB。
特定文件系统的计量大小定义这一小时内针对该文件系统对所有者账户计费的使用量。
注意
计算的计量大小不表示文件系统在该小时内的任何特定时间的一致快照。相反,它表示每小时内的不同时间(也可能是前一小时)在文件系统中存在的对象的大小。这些大小的总和确定该小时的文件系统计量大小。因此,文件系统的计量大小最终与没有在文件系统中写入内容时存储的对象的计量大小一致。
可通过以下方式查看 Amazon EFS 文件系统的计量大小:
使用 describe-file-systems AWS CLI 命令和 DescribeFileSystem API 操作,响应包括以下内容:
"SizeInBytes":{ "Timestamp": 1403301078, "Value": 29313744866, "ValueInIA": 675432, "ValueInStandard": 29312741784 "ValueInArchive": 327650 }
其中,
ValueInStandard
的计量大小还用于确定使用突发吞吐量模式的文件系统的 I/O 吞吐量基线和突发速率。-
查看
StorageBytes
CloudWatch 指标,该指标显示了每个存储类中数据的总计量大小。有关StorageBytes
指标的更多信息,请参阅Amazon EFS 的 CloudWatch 指标。 -
在 Linux 中,可在 EC2 实例的终端提示符下运行
df
命令。不要在文件系统的根目录上使用 du 命令进行存储计量,因为响应不会反映用于计量文件系统的完整数据。
注意
ValueInStandard
的计量大小还用于确定您的 I/O 吞吐量基准值和突发速率。有关更多信息,请参阅 突增吞吐量。
计量不频繁访问和归档存储类
EFS 不频繁访问(IA)和归档存储类以 4KiB 为增量进行计量,且对于每个文件按最低 128KiB 收取账单费用。IA 和归档文件元数据(每个文件 2KiB)始终存储在标准存储类中并在标准存储类中计量。对小于 128KiB 的文件的支持仅适用于太平洋时间 2023 年 11 月 26 日中午 12:00 或之后更新的生命周期策略。IA 和归档存储的数据访问以 128KiB 为增量进行计量。
您可以使用 StorageBytes
CloudWatch 指标来查看每个存储类中数据的计量大小。该指标还显示了在 IA 和归档存储类中,为了向上舍入小文件而消耗的总字节数。有关查看 CloudWatch 指标的信息,请参阅 访问 Amazon EFS 的 CloudWatch 指标。有关 StorageBytes
指标的更多信息,请参阅Amazon EFS 的 CloudWatch 指标。
计量吞吐量
Amazon EFS 以其他文件系统 I/O 操作的三分之一速率来计量读取请求的吞吐量。例如,如果正在驱动每秒 30 兆字节(MiBps)的读取和写入吞吐量,则读取部分计为 10 MiBps 的有效吞吐量,写入部分计为 30 MiBps 的有效吞吐量,合并计量吞吐量为 40 MiBps。根据消耗率调整后的总吞吐量反映在 MeteredIOBytes
CloudWatch 指标中。
弹性吞吐量计量
为文件系统启用弹性吞吐量模式后,只需为在文件系统中读取或写入的元数据和数据量付费。使用弹性吞吐量模式的 Amazon EFS 文件系统将元数据读取计费为读取操作,将元数据写入计费为写入操作。元数据操作以 4 KiB 为增量计量,数据操作以 32 KiB 为增量计量。
预调配吞吐量计量
对于使用预置吞吐量模式的文件系统,只需为启用吞吐量的时间量付费。Amazon EFS 对启用预置吞吐量模式的文件系统每小时进行一次计量。对于预置吞吐量模式设置为少于一小时的计量,Amazon EFS 使用毫秒精度计算平均时间。