Gluster分布式文件系统

概述

GlusterFS (Gluster File System) 是一个开源的分布式文件系统,GlusterFS 是 Scale-Out 存储解决方案 Gluster 的核心,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。 RDMA 网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS 基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。

基本术语

名称 解释
Brick 最基本的存储单元,表示为trusted storage pool中输出的目录,供客户端挂载用。
Volume 一个卷。在逻辑上由N个bricks组成。
FUSE Unix-like OS上的可动态加载的模块,允许用户不用修改内核即可创建自己的文件系统。
Glusterd Gluster management daemon,要在trusted storage pool中所有的服务器上运行。
POSIX 一个标准,GlusterFS兼容。

GlusterFS卷类型

为了满足不同应用对高性能、高可用的需求,GlusterFS 支持 7 种卷,即 distribute 卷、stripe 卷、replica 卷、distribute stripe 卷、distribute replica 卷、stripe Replica 卷、distribute stripe replica 卷。其实不难看出,GlusterFS 卷类型实际上可以分为 3 种基本卷和 4 种复合卷,每种类型的卷都有其自身的特点和适用场景。

基本卷:

分布式卷

  • 没有对文件进行分块处理

  • 通过扩展文件属性保存HASH值

  • 支持的底层文件系统有ext3、ext4、ZFS、XFS等

特点:

  • 文件分布在不同的服务器,不具备冗余性

  • 更容易和廉价地扩展卷的大小

  • 单点故障会造成数据丢失

  • 依赖底层的数据保护

条带卷

  • 根据偏移量将文件分成N块(N个条带节点),轮询的存储在每个Brick Server节点

  • 存储大文件时,性能尤为突出

  • 不具备冗余性,类似Raid0

特点:

  • 数据被分割成更小块分布到块服务器群中的不同条带区

  • 分布减少了负载且更小的文件加速了存取的速度

  • 没有数据冗余

复制卷

  • 同一文件保存一份或多分副本

  • 复制模式因为要保存副本,所以磁盘利用率较低

  • 多个节点上的存储空间不一致,那么将按照木桶效应取最低节点的容量作为该卷的总容量

特点:

  • 卷中所有的服务器均保存一个完整的副本

  • 卷的副本数量可由客户创建的时候决定

  • 至少由两个块服务器或更多服务器

  • 具备冗余性

分布式条带卷

  • 兼顾分布式卷和条带卷的功能

  • 主要用于大文件访问处理

  • 至少最少需要 4 台服务器

分布式复制卷

  • 兼顾分布式卷和复制卷的功能

  • 用于需要冗余的情况下

条带复制卷

同时具有条带卷和复制卷的特点

分布式条带复制卷

三种基本卷的复合卷

命令 功能
gluster peer probe 添加节点
gluster peer detach 移除节点
gluster volume create 创建卷
gluster volume start 启动卷
gluster volume stop 停止卷
gluster volume delete 删除卷
gluster volume quota enable 开启卷配额
gluster volume quota disable 关闭卷配额
gluster volume quota limit-usage 设定卷配额

案例

实验环境:四台节点服务器、一台客户端

一台node1(192.168.1.1)

一台node2(192.168.1.2)

一台node3(192.168.1.3)

一台node4(192.168.1.4)

一台客户端(192.168.1.51)

1、配置IP地址及所需环境

vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl  restart  network##需要将每台节点服务器配置节点
hostname node1  #临时更改主机名
bash
hostname node2
bash
hostname node3
bash
hostname node4
bash
打开配置文件 vi /etc/sysconfig/network  ##永久修改主机名
修改内容:HOSTNAME=你修改主机名
保存并退出 :wq
重启系统 reboot#客户端和节点服务器都需要添加类似dns查找
vim /etc/hosts
192.168.1.1 node1
192.168.1.2 node2
192.168.1.3 node3
192.168.1.4 node4

2、安装Gluster文件系统服务(rpm安装包 用yum 安装、四台节点服务器都需要安装)

rm -rf /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo
[yum]
name=yum
baseurl=file:///media
enabled=1
gpgcheck=0
##就不需要挂载光盘了  但要确保media下有相关的rpm软件包
yum -y clean all
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
systemctl restart glusterd #重启服务
systemctl enable glusterd #开机自启

3、在节点服务器(node1)上添加所有节点

 gluster peer probe node1gluster peer probe node2gluster peer probe node3gluster peer probe node4peer probe: success. gluster peer status  #查看状态Number of Peers: 3Hostname: node2
Uuid: e9800bba-1289-48b0-a885-91360aac3d8b
State: Peer in Cluster (Connected)Hostname: node3
Uuid: c1a92622-eef2-4c6c-8fca-824b46fa6ae9
State: Peer in Cluster (Connected)Hostname: node4
Uuid: 891c1e8d-5719-4a59-957b-e0cbe17ace53
State: Peer in Cluster (Connected)

4、安装客户端

yum -y install glusterfs glusterfs-fuse  #系统本身自带可以不安装但也不一定
mkdir -p /test/{dis,stripe,rep,dis-stripe,dis-rep}  #添加测试目录便于测试

5、在节点服务器上创建目录(便于测试)

mkdir /data{1..10}

创建分布式卷

gluster volume create dis-volume node1:/data1 node2:/data1 force
#创建一个分布式卷名字叫dis-volume连接到node1和node2上,写到data1目录上
gluster volume info stripe-volume  ##查看条带卷信息
gluster volume start stripe-volume ##启用条带卷

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FksrPNxP-1617156906588)(image-20210331090707698.png)]

客户端验证

在客户端上挂载node1上的dis-volume卷到 /test/dis

mount -t glusterfs node1:dis-volume /test/dis
cd /test/dis
touch {1..12}.txt

最后查看node1上和node2上的/data1下的文件 会随机放入node1上和node2

创建条带卷

gluster volume create stripe-volume stripe 2 node1:/data2 node2:/data2 force
gluster volume start stripe-volume

客户端验证

在客户端上挂载node1上的stripe-volume卷到 /test/stripe

mount -t glusterfs node1:stripe-volume /test/stripe
cd /test/stripe/
dd if=/dev/zero of=aa bs=1MB count=80
#调用/dev/zero文件写入到aa中 大小为1mb次数为80次  注意aa的位置
dd: 调用文件
if:源文件
of:目的文件
bs:大小
count:次数

最后查看node1上和node2上的/data2下的文件 会平均放入node1上和node2

ls  -lhd /data2/aa
-rw-r--r--. 2 root root 39M 3月  31 09:39 /data2/aals:查看命令
-l:以列表形式查看
-h:以便于人阅读的方式查看大小
-d:查看目录本身

创建复制卷

gluster volume create rep-volume replica 2 node1:/data3 node2:/data3 force  #创建复制卷
gluster volume start rep-volume #打开辅助卷

客户端验证

mount -t glusterfs node1:rep-volume /test/rep  #连接复制卷
cd /test/rep
touch 1.txt

创建分布式条带卷

最少四台节点服务器

gluster volume create dis-stripe stripe 2 node1:/data4 node2:/data4 node3:/data4 node4:/data4 force  #创建分布式条带卷
gluster volume start  ##打开分布式条带卷

客户端验证

mount -t glusterfs node1:dis-stripe /test/dis-stripe
cd /test/dis-stripedd if=/dev/zero of=/test/dis-stripe/cc bs=1MB  count=80dd if=/dev/zero of=/test/dis-stripe/dd bs=1MB count=80

节点服务器上查看/data4 既满足分布式的随机分布又满足条带式的平均分布

创建分布式复制卷

最少需要四台节点服务器

gluster volume create dis-rep replica 2 node1:/data5 node2:/data5 node3:/data5 node4:/data5 force  ##创建分布式复制卷
gluster volume start dis-rep  #打开分布式复制卷

客户端验证

mount -t glusterfs node1:dis-rep /test/dis-rep
cd /test/dis-rep
dd if=/dev/zero of=ee bs=1MB count=80
dd if=/dev/zero of=ff bs=1MB count=80

节点服务上查看/data5 既满足分布式的随机分布又满足复制卷的复制

ls -lhd /data5/ee
-rw-r--r--. 2 root root 77M 3月  31 10:07 /data5/ee

还有,条带式复制卷,分布式条带复制卷需要八台节点服务器因为太多了就不做了 道理懂就好了

客户端设置开机自动挂载方便直接写入数据

vim  /etc/fstab
node1:dis-volume  /test/dis  glusterfs   defaults,_netdev 0 0
node1:stripe-volume  /test/stripe  glusterfs   defaults,_netdev 0 0
node1:rep-volume  /test/rep  glusterfs   defaults,_netdev 0 0
node1:dis-stripe  /test/dis-stripe  glusterfs   defaults,_netdev 0 0
node1:dis-rep  /test/dis-rep  glusterfs   defaults,_netdev 0 0

设置卷访问控制

gluster volume set 卷名 auth.allow 192.168.1.*

Gluster分布式文件系统相关推荐

  1. 开源的分布式文件系统GlusterFS(Gluster File System)

    GlusterFS(全称为Gluster File System)是一个开源的分布式文件系统,它可以将多台服务器的存储空间合并成一个大的.可扩展的存储池,提供高可靠性和高性能的文件共享和存储服务 Gl ...

  2. GFS 分布式文件系统从入门到实践

    文章目录 一.GlusterFS 概述 1.1 GlusterFS简介 1.2 GlusterFS的特点 (一)扩展性和高性能 (二)高可用性 (三)弹性卷管理 (四)基于标准协议 二.Gluster ...

  3. GFS分布式文件系统简介及部署——让存储变得更高级

    GFS分布式文件系统简介及部署 一.GFS概述 1.文件系统 ①.文件系统组成 ②.文件系统的作用 ③.专业术语 二.GFS特点 三.GFS工作原理 四.GFS卷 1.GFS卷类型 2.三大基本卷的特 ...

  4. 分布式文件系统对比与选型参考

    一.分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.分布式文件系统的设计基于客户 ...

  5. glusterfs java_GlusterFS分布式文件系统使用简介

    0 术语简介 GlusterFS是一个开源的分布式文件系统.更多特性介绍附录的参考文档. Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录.可以通过主机名和目录名来标识,如 ...

  6. Windows Server 2016系统高级管理系列-DFS分布式文件系统

    https://blog.csdn.net/wmcoo/article/details/105309345 DFS分布式文件系统在线视频观看地址:https://edu.51cto.com/cours ...

  7. Glusterfs(distribute) + DRBD + heartbeat + mon 实现分布式文件系统1

    由于最新公司业务使用的NFS系统偶尔发生故障,恢复起来需要很多时间,于是学习了下文件系统,之前一直在做mfs的测试,但是由于mfs有单点故障的存在,也就放下了,希望以后mfs可以解决单点的问题,那就造 ...

  8. glusterfs分布式文件系统初探

    公司有几台就服务器,正好有个项目对磁盘的容量以及性能有一定的要求,故而寻求分布式文件系统方面的知识,最终采用了glusterfs.以下对部署以及测试过程潦做记录. glusterfs分布式文件系统采用 ...

  9. GlusterFS分布式文件系统

    分布式系统要做的任务就是把多台机器有机的组合.连接起来,让其协同完成一件任务,可以是计算任务,也可以是存储任务.如果一定要给近些年的分布式系统研究做一个分类的话,大概可以包括三大部分: 1. 分布式存 ...

最新文章

  1. es6 中的generator函数控制流程
  2. 通过VNC Viewer使用VMware虚拟机的远程桌面连接
  3. 64位汇编之linux系统调用
  4. liunx 下巧妙使用代理服务器(squid)
  5. 阻止button刷新页面
  6. wxWidgets:wxDataViewTreeCtrl类用法
  7. kvm服务器中心管理,IP KVM如何在公共场所数据中心合理应用
  8. 分离圆环图显示百分比_Tableau制作圆环图
  9. OC代码调用C++代码的回调函数步骤
  10. 由ViewStateException: The client disconnected想到的
  11. 零基础学python电子书-资料│最适合大学生零基础学的Python视频+电子书
  12. 利用pca分析fmri的生理噪声
  13. Linux SHELL 命令入门题目(一)
  14. c语言图书管理系统课设报告总结,c语言图书管理系统课设报告.docx
  15. android studio 快捷键修改
  16. Android Studio导致的假死机问题的解决
  17. jQ知识补全(供已经入门jq开发者)
  18. 关于Gradle的Instant Run
  19. 你知道怎么在wind上找公司评级信息吗?
  20. java atd_Android R.java问题汇总

热门文章

  1. 干货分享 | Windows系统下载SRA数据方法——生信小白亲测可行
  2. 小程序开发需要什么步骤?步骤教程分享
  3. 崖山数据库系统YashanDB荣获“2022年度信创卓越贡献奖”
  4. 正点原子的TPAD键用不了
  5. 【阿里天猫精灵专题】TB-02 RGB冷暖灯控制
  6. 全球屏占比最高!华为MatePad Pro震撼发布
  7. ARTS-第-22-期
  8. 7z格式、LZMA压缩算法和7-Zip详细介绍
  9. 如何在小程序中直接跳到关注微信公众号页面
  10. 学完大数据基础,可以按照我写的顺序学下去