GFS分布式文件系统

本文详细介绍了开源分布式文件系统GlusterFS,包括其无元数据服务器的特性、弹性HASH算法、各种卷类型(分布式、条带、复制、分布式条带、分布式复制卷)及其工作原理和部署过程。此外,还进行了破坏性测试验证其高可用性和容错性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

一、GlusterFS概述

1、简介

2、特点

3、常用术语

4、模块化堆栈式架构

5、组件

二、工作原理

1、流程

2、弹性HASH算法

三、GlusterFS卷类型

1、分类

2、类型介绍

2.1  分布式卷

2.2  条带卷

2.3  复制卷

2.4  分布式条带卷

2.5   分布式复制卷

3、汇总

四、GlusterFS部署

1、环境

2、开局配置

2.1  所有的节点node都操作下面这些步骤,这里以node1:20.0.0.21为列

2.2  创建自动格式化,自动永久挂载脚本

2.3  搭建线网yum仓库

3、配置节点信息 任意一台

4、创建分布式卷

5、创建条带卷

6、创建复制卷

7、创建分布式条带

8、创建分布式复制卷

9、在客户机上安装gluster,创建挂载点后挂载

五、测试 

1、卷中写入文件,客户端操作

2、查看文件分布

3.、破坏性测试

总结


前言

  • GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。
  • GFS 也就是 google File System,Google公司为了存储海量搜索数据而设计的专用文件系统

 

一、GlusterFS概述

1、简介

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

2、特点

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

3、常用术语

Brick(存储块)(砖):
指可信主机池中由主机提供的用于物理存储的专用分区(磁盘分区),是GlusterFS中的基本存储单元,同时也是可信存储池中服务器上对外提供的存储目录。

Volum(逻辑卷):
一个逻辑卷是一组Brick的集合。卷是数据存储的逻辑设备,类似于LVM中的逻辑卷。大部分Gluster管理操作是在卷上进行的

FUSE(filesystem inuserspace):
是一个内核模块,允许用户创建自己的文件系统,无需修改内核代码

VFS:
内核空间对用户空间提供的访问磁盘的接口。(客户机访问服务器的入口接口)

Gluster(后台管理进程):
在存储集群中每个节点上都要运行。

4、模块化堆栈式架构

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

5、组件

存储服务器、客户端、NFS/Samba存储网关组成

二、工作原理

1、流程

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

2、弹性HASH算法

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

三、GlusterFS卷类型

1、分类

分布式卷
条带卷
复制卷
分布式条带卷
分布式复制卷
条带复制卷
分布式条带复制卷

2、类型介绍

2.1  分布式卷

没有对文件进行分块处理
通过扩展文件属性保存hash值
支持底层的文件系统有EXT2、EXT4、ZFS、XFS等
没有分块处理,文件只能存在于以个server中,效率不提升

分布式卷的特点:

文件分布在不同的服务器,不具备冗余性
更容易和廉价地扩展卷的大小
单点故障会造成数据丢失
依赖底层的数据保护

创建分布式卷命令:

gluster volum create fb-volum server1:/dir1 server2:/dir2 server3:/dir3 force 
#创建一个名为fb-volum的分布式卷,存储的文件将根据hash算法分布在server1、2、3:/dir1、2、3上。server1:/dir1是主机名:/挂载点

2.2  条带卷

根据偏移量将文件分成N块(N个条带点),轮询的存储在每个brick server节点
存储大文件时,性能尤为突出
不具备冗余性,类似于raid0
从多个server中同时读取文件,效率提升

条带卷的特点:

数据被分割成更小块分布到块服务器群中的不同条带区
分布减少了负载且更小的文件加速了存取的速度
没有数据冗余

创建条带卷命令:

gluster volum create td-volum stricpe 2 transport tcp server1:/dir1 server2:/dir2 force
#创建一个名为td-volume的条带卷,文件将被分块轮询存储在server1:/dir1 server2:/dir2 两个brick中

2.3  复制卷

同一文件保存一份或多份副本(类似raid1)
因为要保存副本,所以磁盘利用率较低
若多个节点上的存储空间不一致,将按照最低容量节点的容量作为该卷的总容量 

复制卷的特点:

卷中所有的服务器均保存一个完整的副本
卷的副本数量可由客户创建的时候决定
至少由两个块服务器或更多服务器
具备冗余性

创建复制卷命令:

gluster volum create fz-volum replica 2 transport tcp server1:/dir1 server2:/dir2  
#创建名为fz-volum的复制卷,文件将同时存储两个副本,分别在server1:/dir1 server2:/dir2 两个brick中

2.4  分布式条带卷

兼顾分布式卷和条带卷的功能(先条带后分布)
主要用于大文件访问处理
至少需要4台服务器

创建分布式条带卷的命令: 


gluster volum create ft-volum stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4 
#创建名为ft-volum的分布式条带卷,配置分布式条带卷时,卷重brick所包含的存储服务器数量必须是条代卷数的倍数(两倍以上)

2.5   分布式复制卷

兼顾分布式卷和复制卷的功能
用于需要冗余的情况

创建分布式复制卷:


gluster volume create ff-volum replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4 
#创建名为ff-volum的分布式条带卷,配置分布式复制卷时,卷重brick所包含的存储服务器数量必须是条带卷数的倍数(两倍以上)

3、汇总

分布式:存储brick不在一个区域范围,某一个区域内brick坏了,不影响另一个区域的brick。
条带式:多个brick形成一个整体,这个整体内的任意一块brick坏了,整个条带卷不可用。
复制卷:多个brick形成一个整体,这个整体内的每块brick都有完整的副本,由此,复制卷内任意一块brick坏了,不影响复制卷使用。

四、GlusterFS部署

1、环境

准备5台主机,分别位4台服务器和一台客户端

IP地址为:20.0.0.21,主机名为:node1,添加4块磁盘,均为20G大小

IP地址为:20.0.0.22,主机名为:node2,添加4块磁盘,均为20G大小

IP地址为:20.0.0.23,主机名为:node3,添加4块磁盘,均为20G大小

IP地址为:20.0.0.24,主机名为:node4,添加4块磁盘,均为20G大小

IP地址为:20.0.0.25,主机名为:client,当做测试机使用

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2、开局配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值