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 rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详