本文主要是介绍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分布式文件系统群集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!