网络云分布式存储系统采用 EC 和三副本两种数据冗余机制,以保证数据的高可用性。
EC(Erasure Coding,纠删码)是云存储的核心编码容错技术。EC 以 N+M 模式表达,其中, N 表示数据分片个数, M 表示校验分片个数。以 EC 4+2为例,将所存入的同一个数据切分为4个数据分片;以4个数据分片为一组,通过计算生成2个校验分片;再将数据分片和校验分片以冗余配比的形式写入6个不同的存储节点中。
三副本是分布式存储系统的一种数据可靠性保护技术。当写入数据时,每个数据构建与之完全相同的两个副本,分别存储在3个不同的存储节点上。在单节点故障的情况下,如节点或硬盘故障,可以读取冗余的副本来实现外部存储请求不中断,硬盘的利用率大约为33%。在服务器级别安全下,允许任意2个存储节点故障而不影响数据的完整性。在机柜级安全下,允许任意2个机柜中的存储节点故障而不影响数据的完整性。
网络云分布式存储系统采用的 EC 和三副本在性能和资源利用率方面的具体对比如表Q27-1所示。
综上分析,三副本比 EC 的系统性能好,用户可根据实际需求选择存储池的数据冗余方式;而 EC 冗余技术比三副本模式的资源利用率高,采用 EC 4+2的分布式块存储资源利用率约为66.6%。