GlusterFS简介

GlusterFS是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端。

整合了许多存储块(server)通过Infiniband RDMA或者 TCP/IP方式互联的一个并行的网络文件系统。

GlusterFS的特征:

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

环境介绍

部署GlusterFS分布式存储系统,需要给机器增加一块新磁盘,磁盘是需要被格式化的

GlusterFS最少需要两个节点,内存最低需要1G

IP HOSTNAME SYSTEM-VERSION
192.168.72.73 glusterfs-01 centos7.6
192.168.72.74 glusterfs-02 centos7.6

开始GlusterFS部署

参考centos官网提供的glusterfs部署:gluster-Quickstart

如果不是外网服务器,firewalld服务可以直接关掉,需要关闭selinux服务,重启后才会生效

selinux的关闭方式:sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
# systemctl status firewalld.service | grep active
Active: inactive (dead)
# sestatus
SELinux status: disabled

没有特殊提醒的前提下,以下所有操作,所有的机器都需要操作

配置hosts解析

# cat >> /etc/hosts <<EOF
192.168.72.73 glusterfs-01
192.168.72.74 glusterfs-02
EOF

配置GlusterFS

# yum install -y centos-release-gluster

创建文件系统

可以使用lsblk命令查看新磁盘的盘符,不要完全复制我的文档

这里要用xfs格式化磁盘,并且xfs的文件格式支持PB级的数据量

如果是centos6系列的,需要安装xfs支持包:yum install -y xfsprogs

# mkfs.xfs -i size=512 /dev/sdb
# mkdir -p /bricks/brick1
# echo '/dev/sdb /bricks/brick1 xfs defaults 0 0' >> /etc/fstab
# mount -a

安装GlusterFS

# yum install -y glusterfs-server

启动GlusterFS

# systemctl enable glusterd --now
# systemctl status glusterd | grep active
Active: active (running) since Sun 2021-05-09 00:33:20 CST; 21s ago

将节点加入到主机池

这个操作,只需要在glusterfs-01机器上操作即可

# gluster peer probe glusterfs-02
peer probe: success

查看主机池的状态

# gluster pool list
UUID Hostname State
4364f3d9-5be4-4f8f-9e8c-a47edb099bf0 glusterfs-02 Connected
3cb3da7f-f923-42b7-908e-901533468055 localhost Connected
# gluster peer status
Number of Peers: 1 Hostname: glusterfs-02
Uuid: 4364f3d9-5be4-4f8f-9e8c-a47edb099bf0
State: Peer in Cluster (Connected)

创建GlusterFS复制卷

所有节点都需要创建下面的目录

这里的目录,要和上面fstab挂载的目录是一致的

# mkdir /bricks/brick1/gv0

以下的操作,在 glusterfs-01机器上操作即可

# gluster volume create gv0 replica 2 glusterfs-01:/bricks/brick1/gv0 glusterfs-02:/bricks/brick1/gv0
# gluster volume start gv0
# gluster volume info Volume Name: gv0
Type: Replicate
Volume ID: 84ce70ca-cd50-4680-ad6c-5a82ea9bb148
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: glusterfs-01:/bricks/brick1/gv0
Brick2: glusterfs-02:/bricks/brick1/gv0
Options Reconfigured:
cluster.granular-entry-heal: on
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off

GlusterFS测试

# mount -t glusterfs glusterfs-01:/gv0 /mnt
# df -Th | grep glusterfs
glusterfs-01:/gv0 fuse.glusterfs 10G 135M 9.9G 2% /mnt

因为是复制卷,所以可用容量为一半(我是两台机器各增加了一块10G的新磁盘)

# for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done
# ls -lA /bricks/brick1/gv0
# ls -lA /mnt

可以看到,两边的文件都是一致的

到这里,GlusterFS已经部署完成了

关于GlusterFS其他卷的配置,可以看这位大佬的博客:GlusterFS分布式存储

CentOS 7.6 部署 GlusterFS 分布式存储系统的更多相关文章

  1. GlusterFS分布式存储系统中更换故障Brick的操作记录

    前面已经介绍了GlusterFS分布式存储集群环境部署记录,现在模拟下更换故障Brick的操作: 1)GlusterFS集群系统一共有4个节点,集群信息如下: 分别在各个节点上配置hosts.同步好系 ...

  2. GlusterFS分布式存储系统中更换故障Brick的操作记录1

    前面已经介绍了GlusterFS分布式存储集群环境部署记录,现在模拟下更换故障Brick的操作: 1)GlusterFS集群系统一共有4个节点,集群信息如下: 分别在各个节点上配置hosts.同步好系 ...

  3. Linux实战教学笔记52:GlusterFS分布式存储系统

    一,分布式文件系统理论基础 1.1 分布式文件系统出现 计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量 ...

  4. GlusterFS分布式存储系统

    一,分布式文件系统理论基础 1.1 分布式文件系统出现 计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量 ...

  5. 在CentOS上安装部署MooseFS分布式文件系统

    参考资料: http://www.moosefs.org/tl_files/manpageszip/moosefs-step-by-step-tutorial-cn-v.1.1.pdf 环境介绍:OS ...

  6. GlusterFS分布式存储系统复制集更换故障Brick操作记录

    场景: GlusterFS 3节点的复制集,由于磁盘故障,其中一个复制集需要重装系统,所以需要重装glusterfs并将该节点加入glusterfs集群 一. 安装GlusterFS 首先在重装系统节 ...

  7. GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)

    GlusterFS分布式文件系统部署及基本使用(CentOS 7.6) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Gluster File System 是一款自由软件,主要由 ...

  8. GlusterFS ——分布式卷

    GlusterFS概述 全部部署GlusterFS文件系统地址:https://www.cnblogs.com/Mercury-linux/p/12050389.html GlusterFS系统是一个 ...

  9. Tachyon---基于内存的分布式存储系统

    Tachyon是一个以内存为核心的开源分布式存储系统,也是目前发展最迅速的开源大数据项目之一.Tachyon为不同的大数据计算框架(如Apache Spark,Hadoop MapReduce, Ap ...

随机推荐

  1. Hive分区表和桶表的使用

    原文链接: https://www.toutiao.com/i6766897068138037763/?group_id=6766897068138037763 我们看官网文档中这个地方 我们先创建好 ...

  2. vue实现引用less,sass全局变量

    1.npm install sass-resources-loader --save-dev: 2.build/utils.js中,修改 function resolveResource(name) ...

  3. 深入理解Java虚拟机之Java内存区域与内存溢出异常

    Java内存区域与内存溢出异常 运行时数据区域 程序计数器 用于记录从内存执行的下一条指令的地址,线程私有的一小块内存,也是唯一不会报出OOM异常的区域 Java虚拟机栈 Java虚拟机栈(Java ...

  4. 【代码优化】Bean映射之MapStruct

    [代码优化]Bean映射之MapStruct 一.背景 领域模型相互转换就只能靠手工的 get()/set()? 普遍的做法有以下几种: 手工 get()/set(): 构造器: BeanUtils ...

  5. Sentry 开发者贡献指南 - Django Rest Framework(Serializers)

    Serializer 用于获取复杂的 python 模型并将它们转换为 json.序列化程序还可用于在验证传入数据后将 json 反序列化回 Python 模型. 在 Sentry,我们有两种不同类型 ...

  6. X-Forwarded-for漏洞解析

    首先了解X-Forwarded-for(简称:XFF) X-Forwarded-for:简称XFF,它代表客户端,也就是HTTP的请求真实的IP,只有在通过了HTTP代理或者负载均衡器时才会添加该项. ...

  7. 【源码阅读】VictoriaMetrics中理解vm-backup中设置origin地址的用途

    lib/backup/actions/backup.go: // 118 行 partsToCopy := common.PartsDifference(srcParts, dstParts) //要 ...

  8. elasticsearch算法之词项相似度算法(一)

    一.词项相似度 elasticsearch支持拼写纠错,其建议词的获取就需要进行词项相似度的计算:今天我们来通过不同的距离算法来学习一下词项相似度算法: 二.数据准备 计算词项相似度,就需要首先将词项 ...

  9. CesiumJS下载量超过1百万次

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ CesiumJS的下载总量已经超过100万.这一里程碑对我们(C ...

  10. AtCoder AGC003 简要题解

    A 首先横向和纵向互相独立,因此只考虑横向的情况. 那么显然只要不只往一边走都一定存在一种构造方式,直接判断即可,复杂度 \(\mathcal{O}(|S|)\). B 首先相邻两个数同时配对两次可以 ...