2024年最新GFS分布式文件系统_mount glusterfs,2024年最新十年开发经验大数据开发架构师

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2.安装、启动GlusterFS。(所有node节点上操作)

3.添加节点到存储信任池中(在node1 节点上操作)

4.创建卷

(1)创建分布式卷

(2)创建条带卷

(3) 创建复制卷

(4)创建分布式条带卷

(5)创建分布式复制卷

5.Gluster客户端

(1)安装客户端软件

(2)创建挂载目录

(3)配置/etc/hosts 文件

(4)挂载Gluster 文件系统

6.测试Gluster 文件系统

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

(2)查看文件分布

7.破坏性测试

8.其他的维护命令

(1)查看GlusterFs卷

(2)查看所有卷的信息

(3)查看所有卷的状态

(4)停止一个卷

(5)删除一个卷

(6)设置卷的访问控制


一、GlusterFS

1.GlusterFS简介

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

GlusterFs(分布式文件系统)
FS:文件系统

文件系统组成:
1)文件系统接口
2)对对像管理的软件集合
3)对象及属性

文件系统作用

从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
       负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取文件系统的挂载使用。
       除根文件系统以外的文件系统创建后要使用需要先挂载至挂载点后才可以被访问,挂载点即分区设备文件关联的某个目录文件,类比: NES。

元数据服务器的作用:存储元数据,帮用户定位文件的位置、索引等信息

2.GlusterFS特点

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

3.GlusterFS术语

1)Brick:存储服务器:实际存储用户数据的服务器
2)Volume: 本地文件系统的“分区”
3)FUSE:用户空间的文件系统(类比EXT4),“这是一个伪文件系统”,FUSE (用户空间的文件系统)伪文件系统用户端的交互模块。
4)VFS
5)Glusterd

VES (虚拟端口) :内核态的虚拟文件系统,用户是先提交请求交给VES然后VFS交给FUSE再交给GFS客户端,最后由客户端交给远端的存储。

以本地文件系统为例,用户想要读写一个文件,会借助于EXT4文件系统,然后把数据写在磁盘上,而如果是远端的GFS,客户端的请求则应该交给FUSE(为文件系统),就可以实现跨界点存储在GFS上。

使用GFS会使用到以上的虚拟文件系统
        glusterd (服务)是运行在存储节点的进程
        客户端运行的是gluster client
        整个GFS之间的交互是由Gluster client和glusterd完成的 (GFS使用过程)。

4.模块化堆栈式架构

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

GFS的架构
存储服务器,存储节点信息

GFS 提供了一个全局统一命名空间
        此命名空间提供了一个API,此API 是用户访问GFS服务器中数据的唯一入口。
弹性卷管理: RAIN (基于容错、读写性能等技术)可以在分布式文件系统之上可以使用RAID卷的集中管理。
         基于标准协议:客户端和存储服务器交互需要借助网络,而相关的网络协议包括TCP/IP协议。

模块化:
        类似linux编译安装
        很多功能都可以做定制的,通常都是通过软件开发的方式封装为模块,按需使用/不适用

GlusterFs

把功能封装为一个个模块,通过加载/调用/启用的方式就可以对应的功能。

堆栈式架构设计:
        通过对模块不同功能的组合米实现复杂功能

VES:虚拟的内核文件系统,通过VES的API接受请求、处理请求(根据请求,加载模块)
I/O cache:I/O缓存
read ahead :内核文件预读
distribute/stripe: 分布式、条带卷

通过加载模块,然后联合多个client端,组成所需要的分布式卷、条带卷等

gige: 千兆网/千兆接口
TCP/IP :网络协议

InfiniBand

网络协议,与TCP/IP相比,TCP/IP具有转发丢失数据包的特性,基于此通讯协议可能导致通讯变慢,而IB使用基于信任的、流控制的机制来确保连接完整性,数据包丢失几率小。

RDMA:负责数据传输,有一种数据传输协议,功能:为了解决传输中客户端与服务器端数据处理的延迟。

POSIX:可移植操作系统接口,主要解决不同操作系统间的移植性,然后再转换为逻辑存储(EXT4 +BRICK)。

可以提高GFS的工作效率

Application:客户端或应用程序通过GlusterFSync的挂载点访问数据。
VES: linux 系统内核通过VFS API收到请求并处理
FUSE : VES 将数据递交给FUSE内核文件系统,fuse文件系统则是将数据通过/dev/fuse设备文件递交给了GlusterFS client端。
GlusterFS Client :通过网络将数据传递至远端的GlusterFS Server,并且写入到服务器存储设备上。
read ahead :内核文件预读
工作流程:
          客户端在本地发出读写请求,然后交由VES的API接受请求,接受请求后会交给FUSE (内核伪文件系统)FUSE可以模拟操作系统,所以可以对文件系统进行转存,转存的设备位置为: /dev/fuse (用于传输的设备-虚拟设备文件)交给GFS客户端,client 会根据配置文件对数据进行处理,然后再通过TCP网络发送到GFS服务端,并且将数据写到服务器存储设备上。

5.GlusterFS的卷类型

1)分布式卷
2)条带卷
3)复制卷
4)分布式条带卷
5)分布式复制卷
6)条带复制卷
7)分布式条带复制卷

(1)分布式卷

1)没有对文件进行分块处理
2)通过扩展文件属性保存HASH值
3)支持的底层文件系统有EXT3、EXT4、ZFS、 XFS等
4)没有分块处理,文件只能存在一个server中,效率不提升

分布式卷的特点

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

(2)条带卷

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

特点

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

创建条带卷

创建了一个名为Stripe-volume的条带卷,文件将被分块轮询的存储在Server1:/dir1和Server2:/dir2两个Brick中。

(3)复制卷

1)同一文件保存一份或多份副本
2)因为要保存副本,所以磁盘利用率较低
3)若多个节点上的存储空间不一致,将按照木桶效应取最低节点的容量作为该卷的总容量

特点

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

创建复制卷

创建名为rep-volume的复制卷,文件将同时存储两个副本,分别在Server1 :/dir1和Server2:/dir2两个Brick中

(4)分布式条带卷

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

(5)分布式复制卷

1)兼顾分布式卷和复制卷的功能
2)用于需要冗余的情况
3)创建分布式复制卷
4)创建名为dis-rep的分布式条带卷,配置分布式复制卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2倍)

条带卷(默认):类似RAID0,文件被分成数据块并以轮询的方式分布到多个BrickServier上,文件存储以数据块为单位,支持大文件存储,文件越大,读取效率越高。

复制卷(Replica volume) :将文件同步到多个Brick上,使其具备多个文件副本, 属于文件级RAID
       具有容错能力。因为数据分散在多个Brick 中,所以读性能得到很大提升,但写性能下降。

分布式条带卷(Distribute Stripe volume) : Brick Server 数量是条带数(数据块分布的Brick
数量)的倍数,兼具分布式卷和条带卷的特点。

分布式复制卷(Distribute Replica volume) : Brick Server数量是镜像数(数据副本
数量)的倍数,兼具分布式卷和复制卷的特点。

条带复制卷(stripe Replica volume) :类似RAID 10,同时具有条带卷和复制卷的特点。

分布式条带复制卷(Distribute Stripe Replicavolume) :三种基本卷的复合卷,通常用于类Map Reduce 应用。

二、GlusterFS 集群

Node1节点: node1/192.168.22.126

磁盘挂载点
/dev/sdb1/data/sdb1
/dev/sdc1/data/sdc1
/dev/sdd1/data/sdd1
/dev/sde1/data/sde1

Node2节点: node2/192.168.22.168

磁盘挂载点
/dev/sdb1/data/sdb1
/dev/sdc1/data/sdc1
/dev/sdd1/data/sdd1
/dev/sde1/data/sde1

Node3节点: node1/192.168.22.196

磁盘挂载点
/dev/sdb1/data/sdb1
/dev/sdc1/data/sdc1
/dev/sdd1/data/sdd1
/dev/sde1/data/sde1

Node4节点: node1/192.168.22.206

磁盘挂载点
/dev/sdb1/data/sdb1
/dev/sdc1/data/sdc1
/dev/sdd1/data/sdd1
/dev/sde1/data/sde1

客户端节点: 192.168.22.186

1.准备环境(所有node节点上操作)

(1)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
(2)磁盘分区,并挂载
vim /opt/fdisk.sh

#! /bin/bash
echo "the disks exist list:"   
fdisk -l |grep '磁盘 /dev/sd[a-z]'  
echo "=================================================="
PS3="chose which disk you want to create:"    
select VAR in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit   
do
    case $VAR in   
    sda)
        fdisk -l /dev/sda
        break ;;
    sd[b-z])
        echo "n
              p
                
                
           
              w"  | fdisk /dev/$VAR

        #make filesystem
        mkfs.xfs -i size=512 /dev/${VAR}"1" &> /dev/null   
        #mount the system
        mkdir -p /data/${VAR}"1" &> /dev/null
        echo -e "/dev/${VAR}"1" /data/${VAR}"1"  xfs  defaults 0 0\n" >> /etc/fstab
        mount -a &> /dev/null
        break ;;
    quit)
        break;;
    *)
        echo "wrong disk,please check again";;
    esac
done

chmod +x /opt/fdisk.sh
cd /opt/
./fdisk.sh

使用df-hT确认是否全部分区挂载完成
(3)配置/etc/hosts文件

以Node1节点为例:

echo "192.168.22.126 node01" >> /etc/hosts 
echo "192.168.22.168 node02" >> /etc/hosts
echo "192.168.22.196 node03" >> /etc/hosts
echo "192.168.22.206 node04" >> /etc/hosts

 

2.安装、启动GlusterFS。(所有node节点上操作)

cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bak
unzip gfsrepo.gzip
vim glfs.repo

[glfs]
name=glfs
baseurl=file:///opt/gfsrepeo
gpgcheck=0
enabled=1

yum clean all && yum makecache
yum -y install centos-release-gluster
如采用官方yum 源安装,可以直接指向互联网仓库

yum -y install glusterfs-server glusterfs-rdma glusterfs glusterfs-fuse 

systemctl start glusterd.service
systemctl enable glusterd.service
systemctl status glusterd.service

安装时出现以下错误,现在装的rpm版本比repo源里的版本高。先查询后,找到名字在卸载

先安装glusterfs-server glusterfs-rdma

 

 

添加DNS,进行时间同步

ntpdate ntp1.aliyun.com

3.添加节点到存储信任池中(在node1 节点上操作)

只要在一台Node节点上添加其它节点即可

gluster peer probe node01
gluster peer probe node02
gluster peer probe node03
gluster peer probe node04

在每个Node节点上查看群集状态

gluster peer status

4.创建卷

根据规划创建

卷名称卷类型Brick
dis-volume分布式卷node1 (/data/sdb1)、node2 (/data/ sdb1)
stripe-volume条带卷node1 (/data/sdc1)、node2 (/data/ sdc1)
rep-volume复制卷node3 (/data/sdb1)、node4 (/data/ sdb1)
dis-stripe分布式条带卷node1 (/data/sdd1)、node2 (/data/sdd1)、 node3 (/data/sdd1)、node4 (/data/sdd1)
dis-rep分布式复制卷node1 (/data/sde1)、node2 (/data/sde1)、node3(/data/sde1)、 node4 (/data/sde1)
(1)创建分布式卷

1)创建分布式卷,没有指定类型,默认创建的是分布式卷

gluster volume create dis-volume node1: /data/sdb1 node2:/data/sdb1 force

2)查看卷列表

gluster volume list

3)启动新建分布式卷

gluster volume start dis-volume

4)查看创建分布式卷信息

gluster volume info dis-volume

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

| 分布式复制卷 | node1 (/data/sde1)、node2 (/data/sde1)、node3(/data/sde1)、 node4 (/data/sde1) |

(1)创建分布式卷

1)创建分布式卷,没有指定类型,默认创建的是分布式卷

gluster volume create dis-volume node1: /data/sdb1 node2:/data/sdb1 force

2)查看卷列表

gluster volume list

3)启动新建分布式卷

gluster volume start dis-volume

4)查看创建分布式卷信息

gluster volume info dis-volume

[外链图片转存中…(img-TgvJY17K-1715297123388)]
[外链图片转存中…(img-J3Ld1W6c-1715297123388)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值