海康威视视频云存储技术之EC纠删码介绍
纠删码(erasure coding,EC)是一种数据保护方法,它将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的位置,比如磁盘、存储节点或者其它地理位置
名称解释
p纠删码空间利用率:N/(N+M); PS:即EC纠删码损失=M/(N+M)
p数据块重构:当发生硬盘或设备故障导致数据块缺失(包括有效数据块或校验数据块),通过剩余数据块通过EC算法完成缺失数据块恢复
视频录像的写入切片存储步骤:
步骤1:实时视频数据接入存储系统。
步骤2:视频数据切成N(即4)个有效数据块。
步骤3:N (即4)个有效数据块通过EC算法计算出M(即1)个校验数据块。
步骤4:将N+M(即4+1)个块写入不同存储节点中。写入原则为尽可能多的分散到不同设备的不同硬盘中。
存储设备故障重构过程:
步骤1:存储系统自动检测到存储节点2故障,并触发数据块D2重构任务。
步骤2:各存储节点根据存储系统指令,将3个有效数据块和1个校验数P1据块通过设备数据内网汇聚到存储节点6。
步骤3:存储节点6根据EC算法恢复数据块D2。
步骤4:视频数据则回到有效数据块和校验数据块初始状态,后续又可抵御设备故障风险。
EC纠删码容量计算
p纠删码空间利用率:N/(N+M); PS:即EC纠删码损失=M/(N+M) p纠删码所需最少存储节点数:(N+M)/M*K;
举例:
N+M:K=4+2:1 则利用率66.67%,最少存储节点3台;可故障设备数1台
N+M:K=4+2:2 则利用率66.67%,最少存储节点6台;可故障设备数2台
N+M:K=8+2:2 则利用率80%,最少存储节点10台;可故障设备数2台
N+M:K=14+2:1 则利用率87.5%,最少存储节点8台;可故障设备数1台
结论:
1)N越大同时M越小,利用率越高;
2)K越大可故障设备数越多,系统可靠性越高;
3)需注意:如果项目容量较小,而选择高可靠EC级别,则需要根据EC级别确定项目台数
EC纠删码特性