与EC方案和多部分上传的实际对象加载相比、元数据消耗异常高的原因是什么?
适用场景
- StorageGRID 11.6.
- ILM规则为纠删编码
- 多部分上传
问题解答
元数据条目与插入网格的对象大小无关、因为它们是有关对象的信息。每个元数据条目在Cassanda数据库中占用的大小/空间相似。
如果存在执行纠删编码(Erasure Coding、EC)的ILM规则、则元数据空间利用率可能会很高。以EC 2+1为例:
- 每个对象会拆分为大小相同的2个部分、并生成1个奇偶校验对象。例如、10 MB对象将为5 MB + 5 MB的部分空间和1个奇偶校验
object size + (object size * storage overhead)
、这将按照每个磁盘空间=公式占用空间。 - 这将在Cassanda中创建3个元数据条目、因为每个部分在网格中被视为一个单独的对象。
- 这会导致每个对象上传所用的元数据条目数是元数据条目的x3倍。
在进行多部分纠删编码时、元数据消耗将显著增加。以EC 2+1的相同示例为例、包含81个多部分上传。
- 如果ILM规则为双提交或平衡、则每次多部分上传都会同时复制到网格。但是、在平衡状态下、如果网格能够按时创建EC副本、则会执行此操作、否则会先执行双提交、然后再将其转换为与双提交相同的EC。
- 每个多部分在网格内联接、并根据分段大小进行分段(默认为1 GB)。
- 因此、元数据消耗将是
number of segments (after joining multiparts internally) * 3 (EC 2+1)
元数据条目。 - 如果网格最初执行双重复制、则元数据条目可能会有所不同。