Dispersed Volume是基于ErasureCodes(纠错码)的一种新类型的卷,类似RAID5/6。这种卷通过配置冗余Redundancy级别来提高可靠性,在保证较高可靠性的同时还可以提升物理存储空间的利用率。
文件被分割成大小相同的单位:Chunk(块),每个块又被分割成fragment,而冗余信息的Fragment也随之生成,且同一个Fragment只会保存在一个Brick上。
Redundancy是均匀分布存储在所有的Brick,磁盘的有效空间是Brick-Redundancy。
在数据恢复时,只要Brick-Redundancy个Fragment(可以是数据,也可以是冗余信息)可用,就能正常恢复数据,如下图所示。
一. 特性
1. 可配置的Redundancy
若Redundancy设置为0时,DispersedVolume等同于分布式卷;若Redundancy设置为brick/2时,Dispersed Volume等同于复制卷。具体Redundancy的配置,根据具体的应用场景,在存储利用和可靠性做均衡选择。
官方经典的配置为:6个Brick配置2个Redundancy。
2. 读写开销
读时,在数据未丢失下,一般不会去读取冗余信息,而是直接读取有效数据,额外开销为0。
写时,需要访问每一个可用的Brick,并且需要读取冗余信息,开销如下图所示。