CentOS 7.6 部署 GlusterFS 分布式存储系统

简介: CentOS 7.6 部署 GlusterFS 分布式存储系统

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

创建文件系统

  • 这一步不是必须的,只是实验使用,所以新增了磁盘,单独给 gfs 使用,一定要切记,如果要和下面的步骤一致,一定要使用新的没有数据的磁盘来操作,否则会造成数据的丢失

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

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

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

所有节点都需要执行下面的操作

# mkfs.xfs -i size=512 /dev/sdb
# mkdir -p /data/glusterfs_data
# echo '/dev/sdb /data/glusterfs_data 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复制卷

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

# gluster volume create online-share replica 2 glusterfs-01:/data/glusterfs_data glusterfs-02:/data/glusterfs_data
# gluster volume start online-share
# gluster volume info
Volume Name: online-share
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:/data/glusterfs_data
Brick2: glusterfs-02:/data/glusterfs_data
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: unknown filesystem type 'glusterfs' 需要安装一下 glusterfs-fuse,使用命令:yum install -y glusterfs-fuse
# mount -t glusterfs glusterfs-01:/online-share /mnt
# df -Th | grep glusterfs
glusterfs-01:/online-share       fuse.glusterfs   10G  135M  9.9G   2% /mnt

也可以写进 fstab,实现重启后自动挂载,但是也会有缺点,如果 gfs 有问题,挂载失败了,会导致开机异常

# vim /etc/fstab
glusterfs-01:online-share /mnt defaults 0 0
# mount -a  # 不报错表示挂载成功了

也可以写进 rc.local 里面,这样就是有问题,也不会影响重启后进入操作系统

# echo 'mount -t glusterfs glusterfs-01:/online-share /mnt' >> /etc/rc.local
# chmod +x /etc/rc.local

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

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

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

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

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

目录
相关文章
|
8月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1449 69
|
6月前
|
监控 关系型数据库 MySQL
在CentOS系统中,如何统计哪个进程打开了文件描述符?
利用上述方法,你可以有效地监控和统计CentOS系统中的进程打开的文件描述符数量,以帮助排查错误或优化系统配置。通过组合使用各种工具和命令,可以获得对系统状态和行为的深入了解,进而做出相应的调整和
311 5
|
7月前
|
存储 算法 安全
“卧槽,系统又崩了!”——别慌,这也许是你看过最通俗易懂的分布式入门
本文深入解析分布式系统核心机制:数据分片与冗余副本实现扩展与高可用,租约、多数派及Gossip协议保障一致性与容错。探讨节点故障、网络延迟等挑战,揭示CFT/BFT容错原理,剖析规模与性能关系,为构建可靠分布式系统提供理论支撑。
346 2
|
7月前
|
机器学习/深度学习 算法 安全
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
新型电力系统下多分布式电源接入配电网承载力评估方法研究(Matlab代码实现)
243 3
|
8月前
|
缓存 监控 Linux
CentOS系统如何查看当前内存容量。
以上方法都不需要特殊软件或者复杂配置即可执行,在CentOS或其他Linux发行版中都适合运行,并且它们各自透露出不同角度对待问题解答方式:从简单快速到深入详尽;从用户态到核心态;从操作层数到硬件层数;满足不同用户需求与偏好。
654 8
|
8月前
|
存储 Linux 数据安全/隐私保护
确定CentOS系统分区表类型(MBR或GPT)
以上方法均能够帮助用户准确地识别出CentOS下连接硬件所应用得具体磁盘标准,并根据实际需求做进一步处理与管理工作。
845 0
|
8月前
|
Ubuntu Linux 云计算
CentOS与Ubuntu:Linux系统的双璧
选择Ubuntu还是CentOS,取决于用户的具体需求,如是否需要图形化界面、对稳定性的要求、软件包管理的偏好以及对商业支持的需求等。两者都是优秀的Linux发行版,只是在设计理念和目标用户群体上有所不同。#深度好文计划#
|
Linux 网络安全 开发工具
centos7部署l2tp ipsec
1、查询操作系统版本 #cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 2、查询系统是否支持ppp,返回yes代表通过。 #modprobe ppp-compress-18 && echo yes 3、查询系统是否开启了tun,返回File descriptor in bad state代表通过。
8882 0
|
7月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
3225 3
|
8月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
732 78