关于gluster分布式副本仲裁复用研究

本文探讨了GlusterFS中副本模式的数据一致性问题,提出了仲裁复用方案,包括无序复用和有序复用,通过实战测试对比了不同配置的效果,指出独立数据/仲裁或有序复用能实现最佳的哈希分布和性能。
摘要由CSDN通过智能技术生成

 

1.背景

GlusterFS使用DHT模块来聚合多台机器的物理存储空间,形成一个单一的全局命名空间,并使用卷(Volume)这一逻辑概念来表示这样的空间。每个卷可以包含一个或多个子卷(Subvolume),子卷也可称为DHT子卷,同样是一个逻辑概念,一个子卷可以是单个brick、一个副本卷(Replica)或一个EC(Erasure Coding)卷,而副本卷和EC卷自身又都是由一组brick构成。而brick则是GlusterFS中的最基本存储单元,表示为一个机器上的本地文件系统导出目录。

 2.副本模式

副本模式作为一种高可用数据冗余方式被应用在各个场景,但是2副本天生的问题数据不一致性也是我们需要考虑的因素,而仲裁就可以很好的解决这个问题,并且仲裁功能只保留元数据占用的容量基本可以忽略不记,由此衍生出一种副本仲裁数据复用的方案场景。

2.1双副本模式

下面均以3节点,每节点2块50G盘为例。首先2副本我们需要考虑要跨节点,模型如下:

 

2.2仲裁模式

此时加入仲裁的场景有多个模式,优先要保证仲裁分布在3个节点。同时关于容量的说明为:每个子卷有3个数据盘,如果有2个做了复用则glus容量识别为25GB,如果1个盘做了复用则glus容量识别为50GB

2.2.1 无序复用

第一种我们直接以三个节点的brick1做为ar复用盘,如下如。(蓝色框表示复用磁盘)这时有个问题可以看到第一个子卷(1brick1+2brick1)同时复用了ar,而(2brick2+3brick2)没有复用ar,按照gluster识别容量方式vol3子卷(2brick2+3brick2)将呈现50GB的容量,而其他两个子卷只呈现25GB的容量,这就导致其哈希值的范围vol3是其余两个的2倍。这时候的数据写入vol3就会成为瓶颈。

 

2.2.2 有序复用

第二种仲裁复用模式,如下图。此种方式可以看到每个子卷均有磁盘参与仲裁复用,最终3子卷容量均呈现为25GB,前端数据写入的时候数据能较均匀的同时分布到3个子卷,每个盘都能承载写压力。最终性能比较好。

 

 

3.实战测试

3.1 无序复用data/ar

服务器

3节点,每节点2盘,ar与data复用

磁盘复用

当2+1中指定的有2个是复用的,则容量显示其一半;当只有1个事复用,则容量为整容量

3*(

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值