(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