同福

【Linux】GlusterFS学习笔记

介绍

介绍

Gluster是一个大尺度文件系统。它是各种不同的存储服务器之上的组合,这些服务器由以太网或无限带宽技术Infiniband以及远程直接内存访问RDMA互相融汇,最终所形成的一个大的并行文件系统网络。它有包括云计算在内的多重应用,诸如:生物医药科学,文档存储。Gluster是由GNU托管的自由软件,证书是AGPL。Gluster公司是Gluster的首要商业赞助商,且提供商业产品以及基于Gluster的解决方案。

Gluster是Client/Server架构。服务器典型的布置在存储砖上,每一台服务器运行一个名为glusterfsd 的守护进程,将本地文件系统作为卷进行输出。Gluster的客户端进程通过TCP/IP,InfiniBand或SDP一类客户协议连接到服务器,将远端卷组成一个大的所谓折叠式翻译器。最终的卷通过一种叫做FUSE的用户空间文件机制机载到客户机。有大量文件应用的I/O同样可以用libglusterfs 客户端库来直接连接服务器并内在的运行翻译器,而无需经过文件系统以及FUSE.大多数GlusterFS功能被实现为翻译器,包括了

  • 基于文件的镜像与赋值技术

  • 基于文件的数据存储计算领域的数据带技术

  • 基于文件的负载平衡技术

  • 卷的双机备份技术

  • 磁盘高速缓存技术以及排产技术

  • 存储分配技术

安装

安装软件

安装LVM

我们需要安装LVM工具包

yum -y install lvm2

安装Gluster

我们来安装gluster工具包

yum -y install centos-release-gluster
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

启动gluster

systemctl start glusterd

设置自动启动

systemctl enable glusterd

安装集群

我们准备了3个节点,一个管理节点

gfs1

gfs2

gfs3

gfsm

安装环境

先在3个节点和管理节点上安装软件,并且启动起来,同时设置自动启动

配置管理节点

将所有节点加入集群

[root@tongfunet]# gluster peer probe gfsm
peer probe: success. Probe on localhost not needed
[root@tongfunet]# gluster peer probe gfs1
peer probe: success.
[root@tongfunet]# gluster peer probe gfs2
peer probe: success.
[root@tongfunet]# gluster peer probe gfs3
peer probe: success.

查看节点状态

[root@tongfunet]# gluster peer status
Number of Peers: 3

Hostname: gfs1
Uuid: d6443519-9dde-4b86-9dc5-02d7d695e789
State: Peer in Cluster (Connected)

Hostname: gfs2
Uuid: cf648faf-9aae-41b8-b173-072067f27493
State: Peer in Cluster (Connected)

Hostname: gfs3
Uuid: 59e177d5-c77c-47d4-a53e-864fd70bdcb0
State: Peer in Cluster (Connected)

建立数据目录

在3个节点和管理节点上建立相同的数据目录

mkdir -p /tongfu.net/env/gluster.data

创建卷

创建全部节点的卷

[root@tongfunet]# gluster volume create gfs_test replica 4 gfsm:/tongfu.net/env/gluster.data/ gfs1:/tongfu.net/env/gluster.data/ gfs2:/tongfu.net/env/gluster.data/ gfs3:/tongfu.net/env/gluster.data/
volume create: gfs_test: success: please start the volume to access data

查看卷

查看卷信息

[root@tongfunet]# gluster volume info
Volume Name: gfs_test
Type: Replicate
Volume ID: 04411a09-920b-4f81-a53f-8b530085c270
Status: Created
Snapshot Count: 0
Number of Bricks: 1 x 4 = 4
Transport-type: tcp
Bricks:
Brick1: gfsm:/tongfu.net/env/gluster.data
Brick2: gfs1:/tongfu.net/env/gluster.data
Brick3: gfs2:/tongfu.net/env/gluster.data
Brick4: gfs3:/tongfu.net/env/gluster.data
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off

启动卷

启动卷

[root@tongfunet]# gluster volume start gfs_test
volume start: gfs_test: success

停止卷

停止卷

[root@tongfunet]# gluster volume stop gfs_test
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
volume stop: models: success

删除卷

删除卷

[root@tongfunet]# gluster volume delete gfs_test
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y
volume delete: models: success

使用

挂载

使用gluster卷需要先挂载到本地磁盘目录上

mkdir -p /tongfu.net/web/test/
mount -t glusterfs gfsm:gfs_test /tongfu.net/web/test/

注意:这里挂载任何一个节点都可以!!

测试

现在可以在这个目录下进行IO操作了