Gluster分布式文件系统
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分布式文件系统相关推荐
- 开源的分布式文件系统GlusterFS(Gluster File System)
GlusterFS(全称为Gluster File System)是一个开源的分布式文件系统,它可以将多台服务器的存储空间合并成一个大的.可扩展的存储池,提供高可靠性和高性能的文件共享和存储服务 Gl ...
- GFS 分布式文件系统从入门到实践
文章目录 一.GlusterFS 概述 1.1 GlusterFS简介 1.2 GlusterFS的特点 (一)扩展性和高性能 (二)高可用性 (三)弹性卷管理 (四)基于标准协议 二.Gluster ...
- GFS分布式文件系统简介及部署——让存储变得更高级
GFS分布式文件系统简介及部署 一.GFS概述 1.文件系统 ①.文件系统组成 ②.文件系统的作用 ③.专业术语 二.GFS特点 三.GFS工作原理 四.GFS卷 1.GFS卷类型 2.三大基本卷的特 ...
- 分布式文件系统对比与选型参考
一.分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.分布式文件系统的设计基于客户 ...
- glusterfs java_GlusterFS分布式文件系统使用简介
0 术语简介 GlusterFS是一个开源的分布式文件系统.更多特性介绍附录的参考文档. Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录.可以通过主机名和目录名来标识,如 ...
- Windows Server 2016系统高级管理系列-DFS分布式文件系统
https://blog.csdn.net/wmcoo/article/details/105309345 DFS分布式文件系统在线视频观看地址:https://edu.51cto.com/cours ...
- Glusterfs(distribute) + DRBD + heartbeat + mon 实现分布式文件系统1
由于最新公司业务使用的NFS系统偶尔发生故障,恢复起来需要很多时间,于是学习了下文件系统,之前一直在做mfs的测试,但是由于mfs有单点故障的存在,也就放下了,希望以后mfs可以解决单点的问题,那就造 ...
- glusterfs分布式文件系统初探
公司有几台就服务器,正好有个项目对磁盘的容量以及性能有一定的要求,故而寻求分布式文件系统方面的知识,最终采用了glusterfs.以下对部署以及测试过程潦做记录. glusterfs分布式文件系统采用 ...
- GlusterFS分布式文件系统
分布式系统要做的任务就是把多台机器有机的组合.连接起来,让其协同完成一件任务,可以是计算任务,也可以是存储任务.如果一定要给近些年的分布式系统研究做一个分类的话,大概可以包括三大部分: 1. 分布式存 ...
最新文章
- es6 中的generator函数控制流程
- 通过VNC Viewer使用VMware虚拟机的远程桌面连接
- 64位汇编之linux系统调用
- liunx 下巧妙使用代理服务器(squid)
- 阻止button刷新页面
- wxWidgets:wxDataViewTreeCtrl类用法
- kvm服务器中心管理,IP KVM如何在公共场所数据中心合理应用
- 分离圆环图显示百分比_Tableau制作圆环图
- OC代码调用C++代码的回调函数步骤
- 由ViewStateException: The client disconnected想到的
- 零基础学python电子书-资料│最适合大学生零基础学的Python视频+电子书
- 利用pca分析fmri的生理噪声
- Linux SHELL 命令入门题目(一)
- c语言图书管理系统课设报告总结,c语言图书管理系统课设报告.docx
- android studio 快捷键修改
- Android Studio导致的假死机问题的解决
- jQ知识补全(供已经入门jq开发者)
- 关于Gradle的Instant Run
- 你知道怎么在wind上找公司评级信息吗?
- java atd_Android R.java问题汇总