数据池定义了数据的冗余策略,包括副本和纠删码。
副本:将原始数据复制多份,每一份称为一个副本。副本是分别存放在不同存储节点的不同磁盘上。当磁盘出现故障时,只要其余健康磁盘中任一个磁盘拥有副本,用户就可以获取该数据。副本个数越多,安全性越高,但存储数据所需空间也成倍增长。
纠删码:通过算法将原始数据进行编码得到冗余,并将数据和冗余一起存储,以达到容错的目的。例如,将n块原始数据通过一定计算得到m块冗余元素(校验块);对于这n+m块的元素,当其中任意的m块元素出错(包括原始数据和冗余数据)时,均可以通过对应的重构算法恢复出原来的n块数据。生成校验的过程称为编码,恢复丢失数据块的过程称为解码。
纠删码相比副本而言,具有较高的磁盘利用率,但数据恢复和更新的代价更高。当硬盘故障重建数据时,消耗的CPU资源和网络负载较高,数据恢复所需时间长;数据更新相当于将原始数据重新编码,因此纠删码常用于只读数据或冷数据,比如虚拟化环境中的虚拟机备份文件、虚拟机模板等。
数据池管理包括增加数据池、删除数据池等操作。
系统初始化部署完成后,首先需要创建数据池,最多支持增加5个数据池。
存储节点数小于4时,不允许创建冗余策略为纠删码的数据池。
选择顶部“云资源”页签,单击左侧导航树[存储/分布式存储/数据池管理]菜单项,进入数据池列表页面。
单击<增加>按钮,弹出增加数据池对话框。
设置相关参数,关于参数的详细介绍,请参见参数说明。
单击<确定>按钮完成操作。
选择顶部“云资源”页签,单击左侧导航树[存储/分布式存储/数据池管理]菜单项,进入数据池列表页面。
选择待删除的数据池。
单击<删除>按钮,弹出确认对话框。
单击<确定>按钮完成操作。
增加数据池:
冗余策略:数据池的冗余策略,包括副本和纠删码。
副本:将数据存储为多个副本,副本个数越多,数据安全性越高。
纠删码:将数据分割成片段,对数据块扩展和编码,并将其存储在不同的位置,例如磁盘、存储节点或者其它物理位置。当冗余策略为纠删码时,需要设置数据块个数、校验块个数及条带大小。
副本个数:数据备份的副本的个数,使用N副本的可用容量是裸容量的N分之一。
数据块个数:存储数据分割后的个数,一个数据块存储在一个存储节点的一块磁盘上。因此数据块数量=存储数据块的存储节点数量=恢复数据时需要的存储节点数量。
校验块个数:校验数据分割后的个数,一个校验块存储在一个存储节点的一块磁盘上,校验块与数据块需存储在不同的存储节点上。因此校验块数量=存储校验块的存储节点数量=允许同时故障的存储节点数量。校验块个数越多,可靠性越高,但所需存储空间越大。
条带大小:纠删码中用于编码/解码的数据块大小。操作员可根据使用场景来选择条带大小,小条带适用于小块随机读写;大条带适用于大块顺序读写。普通虚拟机建议选择较大的条带,数据库应用建议选择较小的条带。
数据池列表:
数据池详情:当冗余策略为副本时,显示冗余策略设置的副本个数。当冗余策略为纠删码时,显示冗余策略设置的数据块个数、校验块个数和条带大小,例如2+1+8k,其中2表示数据块个数,1表示校验块个数,8K表示条带大小。应用此纠删码策略的数据(2个数据块、1个校验块)会分别存储在3个存储节点各自的一块磁盘上。此时系统允许同时故障1块磁盘,存储利用率是66.67%。
有效使用容量:应用数据池的所有块设备存储的有效数据的容量总和。
有效总容量:数据池提供的有效容量总空间。
实际占用容量:应用数据池的所有块设备存储的数据实际占用物理磁盘的容量。
实际总容量:数据池实际提供的总容量空间。
状态:数据池状态,包括正常,异常,亚健康。