JPCFS元数据和文件数计算方法(1)
JPCFS元数据与文件数计算方法
V1.0
20241112
1.1. 元数据盘及文件个数预算
元数据盘容量与文件系统的可存放文件数量有关,元数据盘需使用SSD硬盘,容量按需配置,至少需要1块,可根据可靠性要求至少配置2块。元数据盘无需做raid,需选择“直通”模式。
每个节点的元数据盘JPCFS都会将其做成副本,2块元数据盘即做成2副本,3块元数据盘即做成3副本。
文件数计算方法:
集群总元数据空间 = 每节点元数据盘数 * 元数据盘容量 * 节点数
集群可容纳总文件数 = 集群总元数据空间 / 元数据盘副本数 / (512Bytes x X)
X的取值为:
l EC(N+M:B)模式下:
l (R)副本模式下:X = R
R:副本个数
N: 对正规文件的每连续N个数据切片作为一组、按照Erasure Code配置的编码算法进行编码。
M: 以上的N个数据的切片进行编码后,产生(N+M)个切片。这(N+M)个编码之后的切片中,损坏的切片个数不超过M的话,原始数据(N个切片)可通过Erasure Code计算并复原。由于实际生产中每台节点配置的data disk(s)数量足够多,M可以表示文件系统中最多可以容忍多少块损坏的数据盘。参数M反映了故障(数据)盘数量的容忍阈值。
B: 每(N+M)个编码之后的切片会被“均匀”分散在不同的节点进行存储。这些节点中,离线节点的个数不超过B的话,原始数据(N个切片)也可通过Erasure Code计算并复原。参数B反映了故障节点数量的容忍阈值。
示例:假设每节点使用2块960GB元数据盘,3节点部署,使用4+2:1纠删码数据保护策略,则可做如下计算:
应考虑磁盘的计算方法区别(十进制和二进制计算)导致的操作系统识别容量比标称容量要小,计算方法:操作系统识别容量=标称容量 * 92%
操作系统识别容量 = 960GB * 92% = 883.2GB
集群总元数据盘空间 = 2 * 883.2GB * 3 = 5299.2GB
X取值为=(4+2)/2*1= 3
集群可容纳总文件数 = 5299.2GB / 2 / (512Bytes * 3) = 1,725,260,416 ≈17亿
文件系统实际存储的文件个数,会比如上的估算值略少(因为有少量的内部预留空间)。 |