1.概述.
冗余技术(redundancy)是分布式存储系统的一个重要技术手段。最简单、最传统的冗余存储技术是副本技术(replication):通过拷贝多个原始数据,并将它们分别存储在不同节点上,从而增加数据可靠性。Gluster文件系统通过多分冗余来保持其系统文件的高可用性。
Glusterfs冗余示意图
副本技术存在显著缺点是存储开销巨大——为应对部分数据丢失的风险而需要将整个原始文件拷贝存储,为此,为提高存储效率,纠删码(erasure coding)技术被引入到分布式系统中。
因此这方面,有待我们改进,通过差分编码等实现gluster的高可用性。
逻辑卷的创建的时候,可以指定冗余的份数,则以后上传一份文件就会上传到多个存储节点。
2.功能验证
1.冗余卷的配置文件如下:
2.将文件glusterfs.txt上传到glusterfs存储系统,如下图上传了3份文件。并且确认3份数据内容一样
3.查看afr方式上传的文件的元数据相关信息:
由显示的元数据键可知,afr的三个子卷名均记录在了扩展属性内部;
任意查看一个键的值:
4.手动将文件放入某个brick,在客户端是不可见的:
[root@09:57:22@/mnt/v1]#ls 没有文件
而某一个brick下有文件 [root@09:56:12@/mnt/test5]#ls glusterfs-3.2.5.tar.gz |
5.文件
3.冗余设计思想分析
在冗余部分,我们主要结合文件的创建,读写方式来分析冗余是如何实现的。在概要部
分已经提及上传一个文件,会通过在冗余卷的部分,将一个文件上传到多个节点;而在进行文件的读取部分,则只会从一个节点读取一个文件。
Gluster写文件示意图
Gluster读文件示意图
在af