GlusterFS分布式存储概述与实操

前言:glusterFS:分布式横向扩展文件系统,可以根据存储需求快速调配存储,内含丰富的自动故障转移功能,且摈弃集中元数据服务器的思想。适用于数据密集型任务的可扩展网络文件系统,免费开源

一、概述

1.GlusterFS简介

  • Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端。是整合了许多存储块(server)通过Infiniband RDMA或者 Tcp/Ip方式互联的一个并行的网络文件系统
  • 由存储服务器、客户端以及NFS/Samba 存储网关组成
  • 无元数据服务器

2.GlusterFS特点

  • 容量可以按比例的扩展,且性能却不会因此而降低
  • 廉价且使用简单,完全抽象在已有的文件系统之上
  • 扩展和容错设计的比较合理,复杂度较低
  • 适应性强,部署方便,对环境依赖低,使用,调试和维护便利
  • 高可用性
  • 全局统一命名空间
  • 弹性卷管理
  • 基于标准协议

3.GlusterFS术语

  • Xlator=translator:glusterfs 模块的代名词
  • Brick(存储目录):是Glusterfs的基本存储单元,由可信存储池中服务器上对外输出的目录表示。存储目录的格式由服务器和目录的绝对路径构成,如:SERVER:EXPORT
  • Volume(卷):是存储目录的逻辑组合。大部分gluster 管理操作是在卷上进行的
  • FUSE=Filesystem inUserspace: 是一个内核模块,允许用户创建自己的文件系统无需修改内核代码
  • VFS:虚拟文件系统
  • Glusterd : Glusterfs 后台进程,运行在所有Glusterfs 节点上
  • DistributeVolume: 分布式卷
  • ReplicateVolume: 副本卷
  • StripeVolume: 条带卷
  • DistributeReplicate Volume: 分布式副本卷
  • SAN = Storage AreaNetwork: 存储区域网络是一种高速网络或子网络,提供在计算机与存储之间的数据传输
  • NAS = Network-attachedstorage:网络附属存储是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术

4.GlusterFS结构

  • 模块化堆栈式架构
  • 模块化、堆栈式的架构
  • 通过对模块的组合,实现复杂的功能

5.GlusterFS工作流程

  • 客户端或应用程序通过GlusterFS的挂载点访问数据
  • linux系统内核通过VFS API收到请求并处理
  • VFS将数据递交给FUSE内核文件系统, fuse文件系统则是将数据通过/dev/fuse设备文件递交给了GlusterFS client端
  • GlusterFS client 收到数据后,client根据配置文件的配置对数据进行处理
  • 通过网络将数据传递至远端的GlusterFS Server,并且将数据写入到服务器存储设备上
    在这里插入图片描述

6.弹性HASH算法

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

7.GlusterFS的卷类型

  • 常用卷类型
    • 分布(distributed)
    • 复制(replicate)
    • 条带(striped)
  • 基本卷
    • distribute volume:分布式卷
    • stripe volume:条带卷
    • replica volume:复制卷
  • 复合卷
    • distribute stripe volume:分布式条带卷
    • distribute replica volume:分布式复制卷
    • stripe replica volume:条带复制卷
    • distribute stripe replicavolume:分布式条带复制卷

1)分布式卷

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

2)条带卷

  • 根据偏移量将文件分成N块(N个条带节点),轮询的存储在每个BrickServer节点
  • 存储大文件时,性能尤为突出
  • 不具备冗余性,类似Raid0
2.1 特点
  • 数据被分割成更小块分布到块服务器群中的不同条带区
  • 分布减少了负载且更小的文件加速了存取的速度
  • 没有数据冗余
2.2 创建条带卷
  • 创建了一个名为Stripe-volume的条带卷,文件将被分块轮询的存储在Server1:/dir1和Server2:/dir2两个Brick
gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2

3)复制卷

  • 同一文件保存一份或多分副本
  • 复制模式因为要保存副本,所以磁盘利用率较低
  • 多个节点上的存储空间不一致,那么将按照木桶效应取最低节点的容量作为该卷的总容量
3.1 特点
  • 卷中所有的服务器均保存一个完整的副本
  • 卷的副本数量可由客户创建的时候决定
  • 至少由两个块服务器或更多服务器
  • 具备冗余性
3.2 创建复制卷
  • 创建名为rep-volume的复制卷,文件将同时存储两个副本,分别在Server1:/dir1和Server2:/dir2两个Brick中
gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2

4)分布式条带卷

  • 兼顾分布式卷和条带卷的功能
  • 主要用于大文件访问处理
  • 至少最少需要 4 台服务器
4.1 创建分布式条带卷
  • 创建了一个名为dis-stripe的分布式条带卷,配置分布式的条带卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍)
gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2

5)分布式复制卷

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

二、GlusterFS部署

1.部署环境

  • 使用软件:VMware软件
  • 设备列表
    • 在这里插入图片描述
      在这里插入图片描述

2.环境准备

1)磁盘配置

  • 点击添加磁盘
    在这里插入图片描述
  • 虚拟机node1 192.168.9.167 添加4块硬盘 分别是3G 4G 5G 6G fdisk 分区 mfs格式化 挂载
fdisk /dev/sdb
n            ###创建分区
p            ###创建主分区
回
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值