Linux——GlusterFS分布式文件系统群集

2024-03-15 19:36

本文主要是介绍Linux——GlusterFS分布式文件系统群集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 一、GlusterFS简介

        GlusterFS是一个开源的分布式文件系统,同时也是Scale-Out存储解决方案Gluster的核心,在存储数据方面具有强大的横向扩展能力,通过开展不同的节点可以支持数PB级别的存储容量。 

GlusterFS的特点
        扩展性和高性能、高可用性、全局统一命名空间、弹性卷管理、基于标准协议。

GlusterFS术语
        Brick(存储块):指可信主机池中由主机提供的用于物理存储的专用分区,是GlusterFS中的基本存储单元,同时也是可信存储池中服务器上对外提供的存储目录。

        Volume(逻辑卷):一个逻辑卷是一组Brick的集合。

        FUSE:是一个内核模块,允许用户创建自己的文件系统,无须修改内核代码。

        VFS:内核空间对用户空间提供的访问磁盘的接口。

        Glusterd(后台管理进程):在存储群集中的每个节点上都要运行。

GlusterFS的卷类型
        分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、分布式条带复制卷

二、GlusterFS部署 

组件包:Glusterfs、Glusterfs-server、Glusterfs-fuse、Glusterfs-rdma

设备

IP

备注

Centos01

192.168.223.123

Node1

Centos02

192.168.223.126

Node2

Centos03

192.168.223.124

Node3

Centos04

192.168.223.125

Node4

1、初始化操作

        开启4台虚拟机,添加磁盘,通过fdisk分区,mkfs格式化,创建相应的挂载目录,并将格式化的磁盘挂载到相应的目录中.最后修改/etc/fsteb配置文件,使其永久生效。 Node2和Node3步骤相似,此步省略。

Node1和Node2同时操作

[root@node1 ~]# fdisk -l
磁盘 /dev/sdd:5368 MB, 5368709120 字节,10485760 个扇区设备 Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048    10485759     5241856   83  Linux磁盘 /dev/sdc:4294 MB, 4294967296 字节,8388608 个扇区设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     8388607     4193280   83  Linux磁盘 /dev/sdb:3221 MB, 3221225472 字节,6291456 个扇区设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6291455     3144704   83  Linux磁盘 /dev/sde:6442 MB, 6442450944 字节,12582912 个扇区设备 Boot      Start         End      Blocks   Id  System
/dev/sde1            2048    12582911     6290432   83  Linux
####格式化文件系统
[root@node1 ~]# mkfs.xfs /dev/sdb1 
[root@node1 ~]# mkfs.xfs /dev/sdc1 
[root@node1 ~]# mkfs.xfs /dev/sdd1 
[root@node1 ~]# mkfs.xfs /dev/sde1 
#####创建挂载文件
[root@node1 ~]# mkdir /b3 /c4 /d5 /e6
#####分别挂载到对应目录
[root@node1 ~]# mount /dev/sdb1 /b3
[root@node1 ~]# mount /dev/sdc1 /c4
[root@node1 ~]# mount /dev/sdd1 /d5
[root@node1 ~]# mount /dev/sde1 /e6
#####修改配置文件设置自动挂载
[root@node1 ~]# vim /etc/fstab 
/dev/sdb1       /b3     xfs     defaults        0 0
/dev/sdc1       /c4     xfs     defaults        0 0
/dev/sdd1       /d5     xfs     defaults        0 0
/dev/sde1       /e6     xfs     defaults        0 0

在Node1上搭建本地yum源,安装httpd服务,设置开机自启,将yum仓库移动到/var/www/html/目录下,并建立索引

[root@node1 ~]# yum -y install httpd createrepo
[root@node1 ~]# systemctl enable httpd.service --now
[root@node1 html]# ls
gfs-9
[root@node1 html]# createrepo gfs-9/
[root@node1 ~]# vim /etc/yum.repos.d/chicken.repo 
[DVD]
name=DVD
baseurl=file:///mnt
enanled=1
gpgcheck=0[gfs]
name=gfs
baseurl=http://192.168.223.123/gfs-9
enabled=1
gpgcheck=0

将本地yum配置文件复制到其他三台设备
[root@node1 ~]# scp /etc/yum.repos.d/chicken.repo root@192.168.223.124:/etc/yum.repos.d/chicken.repo  

[root@node1 ~]# scp /etc/yum.repos.d/chicken.repo root@192.168.223.125:/etc/yum.repos.d/chicken.repo  

[root@node1 ~]# scp /etc/yum.repos.d/chicken.repo root@192.168.223.126:/etc/yum.repos.d/chicken.repo  

2、安装GlusterFS 

所有机器同步操作,修改/etc/hosts文件,配置本地主机解析,并安装软件

[root@node1 ~]# cat << EOF >> /etc/hosts
192.168.223.123 node1
192.168.223.126 node2
192.168.223.124 node3
192.168.223.125 node4
EOF
[root@node1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
[root@node1 ~]# systemctl start glusterd
####添加节点
[root@node1 ~]# gluster peer probe node1
[root@node1 ~]# gluster peer probe node2
[root@node1 ~]# gluster peer probe node3
[root@node1 ~]# gluster peer probe node4

查看群集状态,通过以下命令在每个节点上查看群集状态,正常情况下.每个节点的输出结果为,State,Peer inCluster (Connected)。如果显示 Disconnected,请检查hosts文件配置。

[root@node1 ~]# gluster peer status 
Number of Peers: 3Hostname: node2
Uuid: 7d927573-0d64-4877-9967-078012e805df
State: Peer in Cluster (Connected)Hostname: node3
Uuid: e57f1e7c-1c95-417b-bd6f-f02b4f7d244d
State: Peer in Cluster (Connected)Hostname: node4
Uuid: 50237de6-f189-4245-80b4-0e32469227a7
State: Peer in Cluster (Connected)

创建卷分布式卷

[root@node1 ~]# gluster volume create dis-volume node1:/e6 node2:/e6 force
[root@node1 ~]# gluster volume start dis-volume

 创建条带卷

[root@node1 ~]# gluster volume create stripe-volume node1:/d5 node2:/d5 force
[root@node1 ~]# gluster volume start dis-volume

创建复制卷

[root@node1 ~]# gluster volume create rep-volume replica 2 node3:/d5 node4:/d5 force
[root@node1 ~]# gluster volume start rep-volume

分布式条带卷

[root@node1 ~]# gluster volume create dis-stripe stripe 2 节点:/目录 节点:/目录 节点:/目录 节点:/目录
[root@node1 ~]# gluster volume start dis-stripe

分布式复制卷

[root@node1 ~]# gluster volume create dis-rep replica 2 节点:/目录 节点:/目录 节点:/目录 节点:/目录
[root@node1 ~]# gluster volume start dis-rep

查看卷列表

[root@node1 ~]# gluster volume list

查看卷信息

[root@node1 ~]# gluster volume info dis-volume		查看分布式卷
[root@node1 ~]# gluster volume info stripe-volume	查看条带卷
[root@node1 ~]# gluster volume info rep-volume		查看复制卷
[root@node1 ~]# gluster volume info dis-stripe		查看分布式条带卷
[root@node1 ~]# gluster volume info dis-rep			查看分布式复制卷

客户端挂载GFS磁盘需提前创建挂载目录

[root@node1 ~]# mount -t glustersf node1:/dis-volume /test/dis_volume		挂载分布式卷 
[root@node1 ~]# mount -t glustersf node1:/stripe-volume /test/stripe_volume	挂载条带卷
[root@node1 ~]# mount -t glustersf node1:/rep-volume /test/rep_volume		挂载复制卷
[root@node1 ~]# mount -t glustersf node1:/dis-stripe /test/dis_stripe		挂载分布式条带卷
[root@node1 ~]# mount -t glustersf node1:/dis-rep /test/dis_rep			挂载分布式复制卷

这篇关于Linux——GlusterFS分布式文件系统群集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/813045

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

[Linux]:进程(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 进程终止 1.1 进程退出的场景 进程退出只有以下三种情况: 代码运行完毕,结果正确。代码运行完毕,结果不正确。代码异常终止(进程崩溃)。 1.2 进程退出码 在编程中,我们通常认为main函数是代码的入口,但实际上它只是用户级

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

如何编写Linux PCIe设备驱动器 之二

如何编写Linux PCIe设备驱动器 之二 功能(capability)集功能(capability)APIs通过pci_bus_read_config完成功能存取功能APIs参数pos常量值PCI功能结构 PCI功能IDMSI功能电源功率管理功能 功能(capability)集 功能(capability)APIs int pcie_capability_read_wo