zoukankan      html  css  js  c++  java
  • GlusterFS Dispersed Volume(纠错卷)总结

    https://blog.csdn.net/daydayup_gzm/article/details/52748812

    一、概念

    Dispersed Volume是基于ErasureCodes(纠错码)的一种新类型的Volume(3.6版本正式发布该特性),类似于RAID5/6。通过配置Redundancy(冗余)级别提高可靠性,在保证较高的可靠性同时,可以提升物理存储空间的利用率。

    文件是被分割成大小相同的Chunk(块),而每个Chunk又被分割成fragment,而冗余信息的Fragment也随之生成,且同一个Fragment只会保存一个Brick上。

    Redundancy是均匀分布存储在所有的Brick,磁盘的有效空间是Brick-Redundancy。

    在数据恢复时,只要Brick-Redundancy个Fragment(可以是数据,也可以是冗余信息)可用,就能正常恢复数据,如下图所示。

    二、特性

    1、可配置的Redundancy

    若Redundancy设置为0时,DispersedVolume等同于分布式卷;若Redundancy设置为brick/2时,DispersedVolume等同于复制卷。具体Redundancy的配置,根据具体的应用场景,在存储利用和可靠性做均衡选择。

    官方经典的配置为:6个Brick配置2个Redundancy。

    2、读写开销

    读时,在数据未丢失下,一般不会去读取冗余信息,而是直接读取有效数据,额外开销为0。

          写时,需要访问每一个可用的Brick,并且需要读取冗余信息,开销如下图所示。

    三、创建disperse卷

    创建规则1,同一个peer,只允许存在onebrick of a disperse set

    1、创建disperse卷

    #glustervolume create [disperse [<count>]] [redundancy <count>] [transporttcp | rdma | tcp,rdma]

    disperse至少配置为2,redundancy配置至少为1,所以配置disperse卷最少需要3brick。

    如果不指定disperse的数量,所有的volume被认为就是一个disperse集合。如果不指定redundancy数量,系统将根据disperse计算出最佳的redundancycount。

    例1:以下这个命令,未具体配置disperse和redundancy数量,系统会提示用户,并计算出最佳配置(4  brick配置1  redundancy)。

    #gluster volume create test-volume disperse 4 server{1..4}:/bricks/test-volume

    例2:系统计算得到6  brick配置2  redundancy

    #gluster volume create test-volume disperse 4 server{1..4}:/bricks/test-volume

    2、创建Distributed Dispersed Volumes

    #glustervolume create disperse <count> [redundancy <count>] [transport tcp| rdma | tcp,rdma]

    要求disperse<count>必填,redundancy 数量和dispersedvolume相同。

    四、Volume性能分析

    根据官方文档的例子,对比经典分布式EC卷和分布式复制卷的几项性能。

    硬盘环境如下:6台服务器,每台配置4个4TB的SATA磁盘(总容量为96TB),每个磁盘的IOPS为90,且每个磁盘只配置一个brick

    1、【场景1】分布式+  Replica 2 卷

    磁盘可利用空间:48TB

    读IOPS:2160(6*4*90)

    写IOPS:1080

    Maximum failedbricks: 1

    Maximum failedservers: 1

    2、【场景2】分布式+ EC 6.2卷

    经典模式,6个Brick中2个做冗余,如下图所示

    磁盘可利用空间:64TB(96*4/6)

    读IOPS:540

    写IOPS:360

    Maximum failedbricks: 2

    Maximum failedservers: 2

    五、个人总结

    从上述的性能分析示例中,可以得到,相对于分布式复制卷,经典分布式EC卷的优点是较高的磁盘利用率和容错性,但是其IOPS性能下降较多。

    若用户对磁盘利用率有较高期望的时,我们可以采用分布式EC集群搭建GlusterFS服务。

    若用户对IOPS要求较高时,分布式复制GlusterFS集群是最优选择。
    ---------------------
    作者:dream-wing
    来源:CSDN
    原文:https://blog.csdn.net/daydayup_gzm/article/details/52748812
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Centos7-两台Centos机器间复制文件
    Centos7-卸载自带的jdk 安装jdk8
    java网络编程_IP地址
    多线程下单例模式的实现_ThreadLocal_ReentrantLock
    线程定时调度
    线程通信
    线程同步学习一
    java线程学习2
    java线程学习1
    工单系统的设计与实现(3)
  • 原文地址:https://www.cnblogs.com/dhcn/p/11045463.html
Copyright © 2011-2022 走看看