第一章 GFS分布式文件系统

GlusterFS

GlusterFS是一个开源的分布式文件系统,由Z RESEARCH公司负责开发,旨在提供高性能、可扩展性和可靠性,特别适用于现代数据中心和云环境。

GlusterFS简介

  • 开源的分布式文件系统
  • 由存储服务器、客户端以及NFS/Samba 存储网关组成
  • 无元数据服务器

GlusterFS特点

  • 扩展性和高性能
  • 高可用性
  • 全局统一命名空间
  • 弹性卷管理
  • 基于标准协议

GlusterFS术语

  • Brick

    • 定义:Brick是GlusterFS中的基本存储单元,它指的是可信主机池中由主机提供的用于物理存储的专用分区。在GlusterFS的语境下,Brick通常是一个服务器上的目录,用于实际存储用户数据。
  • Volume

    • 定义:Volume(逻辑卷)在GlusterFS中是一组Brick的集合。它提供了一个逻辑上的数据存储设备,类似于LVM(逻辑卷管理)中的逻辑卷。大部分GlusterFS的管理操作都是在卷上进行的。
  • FUSE

    • 定义:FUSE(Filesystem in Userspace)是一个允许用户空间程序创建自己的文件系统的内核模块。在GlusterFS中,FUSE充当了用户空间文件系统与内核空间之间的桥梁。
  • VFS

    • 定义:VFS(Virtual File System)是内核空间对用户空间提供的访问磁盘的接口。在GlusterFS的工作流程中,VFS接收来自用户空间的文件操作请求,并将其传递给FUSE处理。
  • Glusterd

    • 定义:Glusterd是GlusterFS的后台管理进程,负责在存储群集中的每个节点上运行,并管理GlusterFS集群的状态和配置。

模块化堆栈式架构

  • 模块化、堆栈式的架构

  • 通过对模块的组合,实现复杂的功能

GlusterFS工作原理

工作流程

弹性HASH算法

  • 通过HASH算法得到一个32位的整数
  • 划分为N个连续的子空间,每个空间对应一个Brick
  • 弹性HASH算法的优点
    • 保证数据平均分布在每一个Brick中
    • 解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈

GlusterFS卷类型

  • 分布式卷

    • 没有对文件进行分块处理
    • 通过扩展文件属性保存HASH值
    • 支持的底层文件系统有EXT3、EXT4、ZFS、XFS等
      • 分布武卷的特点
        • 文件分布在不同的服务器,不具备冗余性
        • 更容易和廉价地扩展卷的大小
        • 单点故障会造成数据丢失
        • 依赖底层的数据保护
      • 创建分布式卷
        • 创建一个名为dis-volume的分布式卷,文件将根据HASH分布在server1:/dir1、server2:/dir2和server3:/dir3中
#gluster volume create dist-volume server1:/dir1 server2:/dir2 server3:/dir3
  • 条带卷

    • 特点:类似于RAID 0,文件被分成数据块并以轮询的方式分布到多个Brick Server上。文件存储以数据块为单位,支持大文件存储,文件越大,读取效率越高。但是,没有数据冗余。
  • 复制卷

    • 同一文件保存一份或多分副本
    • 因为要保存副本,所以磁盘利用率较低
    • 若多个节点上的存储空间不一致,将按照木桶效应取最低节点的容量作为该卷的总容量
      • 特点
        • 卷中所有的服务器均保存一个完整的副本

        • 具备冗余性
        • 至少有两个块Brik
        • 卷的副本数量可由客户创建的时候决定
      • 创建复制卷
        • 创建名为rep-volume的复制卷,文件将同时存储两个副本,分别在Server1:/dir1和Server2:/dir2两个Brick中
# gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2
  • 分布式条带卷

    • 特点:结合了分布式卷和条带卷的特点,既实现了数据的横向扩展和负载均衡,又提高了读写性能。每个文件会被分割成固定大小的块,并分别存储在多个服务器上。
  • 分布式复制卷

    • 兼顾分布式个复制卷的功能
    • 用于需要冗余的情况
  • 条带复制卷

    • 特点:类似于RAID 10,同时具备条带卷和复制卷的特点。每个文件被分割成多个块,并且每个块都有多个副本,这些副本分布在不同的服务器上。
  • 分布式条带复制卷

    • 兼顾分布式卷和复制卷的功能
    • 用于需要冗余的情况
      • 创建分布式复制卷
        • 创建名为dis-rep的分布式条带卷,配置分布式复制卷时,卷中Brick所包含的存储服务器数必须是复制数的倍数(>=2倍)
# gluster volume create dist-rep replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4
  • 分散卷

    • 是基于ErasureCodes(纠错码)的一种新类型的Volume(3.6版本正式发布该特性),类似于RAID5/6——分散卷基于纠错码。存储大文件时,性能尤为突出
    • 通过配置Redundancy(冗余)级别提高可靠性,在保证较高的可靠性同时,可以提升物理存储空间的利用率。
      • 特点
        • redundanc(冗余)必须大于0,并且bricks的总数必须大于2*redundancy

        • 类似raid5/raid6,可以防止单点故障(HA),提升IO性能(LB)。

        • dispersed卷必须至少包含3个bricks。

      • 创建分散卷
        • 创建一个冗余级别为 1,(2+1)的三节点分散卷
# gluster volume create disp-volume disperse 3 redundancy 1 server1:/exp1 server2:/exp2 server3:/exp3
  • 分布式分散卷

    • 分布式分散卷在分散的子卷上分发文件。
    • 分布式分散卷等效于分布式复制卷,但是使用分散子卷而不是复制子卷
    • 结合distibuted和dispersed的优点,HA+LB+可扩容,HA+LB+可扩容

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值