Glusterfs:冗余(Replication)源码分析

本文深入分析了Glusterfs的冗余技术,特别是副本(Replication)的实现原理。从文件的创建、读写、创建文件夹到删除文件的操作流程,探讨了如何在多个节点上确保数据的高可用性和一致性。通过源码分析,揭示了Glusterfs在加锁、数据同步等方面的策略,并讨论了潜在的优化方向。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值