搭建GlusterFS文件系统

(1)环境准备

创建两个虚拟机配置如下

把仅主机第二张网卡配置如下:

 GlusterFS1

 GlusterFS2

上传文件到opt目录下

文件内容如下

(2)GlusterFS安装配置

1、安装GlusterFS软件包。

配置YUM源

[dvd]
name=dvd
baseurl=file:///opt/dvd
gpgcheck=0
priority=1
[glusterfs]
name=glusterfs
baseurl=file:///opt/glusterfs
gpgcheck=0
priority=2

 配置DNS服务。

# vi /etc/resolv.conf

在两个节点中安装GlusterFS需要的包。

# yum install -y glusterfs-server xfsprogs

安装完之后,启动服务并设置开机启动。

添加节点到GlusterFS集群。

[root@GlusterFS1 ~]# gluster peer probe 10.0.6.4

peer probe: success: on localhost not needed

[root@GlusterFS1 ~]# gluster peer probe 10.0.6.39

peer probe: success

2、查询状态。

查看各个节点的状态。

# gluster peer status

3、创建目录。

创建数据存储目录(两个节点都要执行)。

先使用fdisk分区工具将硬盘分出一个10 G的分区。然后使用lsblk命令查看。

# fdisk  /dev/sdb

#lsblk

使用XFS文件系统对分区进行格式化。

# mkfs.xfs /dev/sdb1

创建挂载目录并挂载查看

# mkdir -p /export/brick1

# mount /dev/sdb1 /export/brick1/

# df -h

创建存储目录。

# mkdir /export/brick1/gv0

GlusterFS 2节点重复上述的操作,分区、格式化、挂载、创建存储目录。

4、创建磁盘卷。

创建GlusterFS磁盘卷。

创建系统卷gv 0(副本卷)。

# gluster volume create gv0 replica 2 10.0.6.4:/export/brick1/gv0 10.0.6.39:/export/brick1/gv0

启动系统卷gv 0。

# gluster volume  start gv0

查看系统卷信息。

# gluster volume info

5、挂载文件系统。

安装客户端并挂载GlusterFS文件系统,使用GlusterFS 2节点作为客户端,在客户端挂载GlusterFS文件系统。

# mount -t glusterfs 10.0.6.4:/gv0 /mnt/

# df -h

 验证成功,副本卷gv 0的大小是10 G,因为GlusterFS的副本数为2,存储空间有一半冗余。

(3)运维操作

添加节点(将节点server ip添加到存储池中)。

# gluster peer probe server ip

 删除节点。

# gluster peers detach server ip

注意:将节点server从存储池中移除,移除节点是要保证节点上没有Brick。如果节点上有Brick,需要提前移除Brick。

查看卷信息。

# gluster volume info

查看卷状态。

# gluster volume status

启动,停止卷。

# gluster volume start/stop VOLUME

删除卷。

# gluster volume delete VOLUME
修复卷。

# gluster volume heal mamm-volume #只修复有问题的文件

# gluster volume heal mamm-volume full #修复所有文件

# gluster volume heal mamm-volume info #查看自愈详情

(4)Brick管理

添加Brick。

# gluster peer probe 10.0.6.41

# gluster peer probe 10.0.6.42

# gluster volume add-brick gv0 10.0.6.41:/export/brick1/gv0 10.0.6.42:/export/brick1/gv0

注意:添加两个Brick到gv 0,副本卷则要一次添加的Bricks数是Replica的整数倍,Stripe同样要求。

移除Brick。

# gluster volume remove-brick gv0 10.0.6.41:/export/brick1/gv0 10.0.6.42:/export/brick1/gv0 start

注意:若是副本卷,则要移除的Brick是Replica的整数倍,Stripe具有同样的要求,副本卷要移除一对Brick,在执行移除操作时,数据会移到其他节点。

在执行移除操作后,可以使用status命令对task状态进行查看。

# gluster volume remove-brick gv0 10.0.6.41:/export/brick1/gv0 10.0.6.42:/export/brick1/gv0 status

使用commit命令执行Brick移除,则不会进行数据迁移而直接删除Brick,符合不需要数据迁移的用户需求。

# gluster volume remove-brick gv0 10.0.6.41:/export/brick1/gv010.0.6.42:/export/brick1/gv0 commit

原文地址:https://www.cnblogs.com/djlsunshine/p/9774704.html