glusterfs 卷扩容与收缩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了glusterfs 卷扩容与收缩相关的知识,希望对你有一定的参考价值。

参考技术A # 卷扩容(由于副本数设置为2,至少要添加2(4、6、8..)台机器)

gluster peer probe10.0.21.243# 加节点

gluster peer probe10.0.21.244# 加节点

gluster volume add-brick gv010.0.21.243:/data/glusterfs10.0.21.244:/data/glusterfs # 合并卷

# 收缩卷(收缩卷前gluster需要先移动数据到其他位置)

gluster volume remove-brick gv010.0.21.243:/data/glusterfs10.0.21.244:/data/glusterfs start # 开始迁移

gluster volume remove-brick gv010.0.21.243:/data/glusterfs10.0.21.244:/data/glusterfs status # 查看迁移状态

gluster volume remove-brick gv010.0.21.243:/data/glusterfs10.0.21.244:/data/glusterfs commit # 迁移完成后提交

# 迁移卷

gluster peer probe10.0.21.245# 将10.0.21.246数据迁移到10.0.21.245先将10.0.21.245加入集群

gluster volume replace-brick gv010.0.21.246:/data/glusterfs10.0.21.245:/data/glusterfs start # 开始迁移

gluster volume replace-brick gv010.0.21.246:/data/glusterfs10.0.21.245:/data/glusterfs status # 查看迁移状态

gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs commit # 数据迁移完毕后提交

gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs commit -force # 如果机器10.0.21.246出现故障已经不能运行,执行强制提交

gluster volume heal gv0 full # 同步整个卷

本文介绍的是 GlusterFS 最 基础的用法 ,感觉它的最大优点就是文件使用哈希散列,而不需要单独去维护MetaData以避开单点问题,而目录则是所有节点都一致的。节点信息会在变化过程中自动同步!不过增删节点,需要做 Rebalance 数据才会重新分布。

C.在clinet上安装客户端软件:

#yum -y install glusterfs glusterfs-fuse

GlusterFS客户端连接

在客户端client.zhaogang.int上使用mount命令,把服务器上新建的GlusterFS逻辑卷gv0挂载到本地目录/mnt/glusterfs上:

[root@localhost ~]# mkdir /mnt/glusterfs

[root@localhost ~]# mount -t glusterfs 10.0.21.241:/gv0 /mnt/glusterfs

[root@localhost ~]#

确认挂载结果:

[root@localhost ~]# mount -t fuse.glusterfs

10.0.21.241:/gv0 on /mnt/glusterfs type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)

如果希望系统重启后可以自动挂载,在/etc/fstab文件中加入此行:

10.0.0.241:/data/gfsdata      /mnt/glusterfs    glusterfs  defaults        0 0

客户端测试连接

client端成功挂载逻辑卷之后,在挂载目录/mnt/glusterfs建立文件以测试GlusterFS是否正常工作。

[root@localhost glusterfs]# cd /mnt/glusterfs/

[root@localhost glusterfs]# touch file1 file2 file3

[root@localhost glusterfs]# ls -l

total 0

-rw-r--r--. 1 root root 0 Aug 29 21:07 file1

-rw-r--r--. 1 root root 0 Aug 29 21:07 file2

-rw-r--r--. 1 root root 0 Aug 29 21:07 file3

因为创建卷gv0的时候使用的是镜像存储(Replicated),所以在gv0上写入的文件应该同时出现在两个服务器的/data/gfsdata目录上。

在server1和server2查看/data/gfsdata/目录,可以看到两个服务器均出现这三个文件:

[root@server1 ~]# cd /data/gfsdata/

[root@server1 gfsdata]# ls -l

total 0

-rw-r--r--. 2 root root 0 Aug 29 21:07 file1

-rw-r--r--. 2 root root 0 Aug 29 21:07 file2

-rw-r--r--. 2 root root 0 Aug 29 21:07 file3

[root@server2 ~]# cd /data/gfsdata/

[root@server2 gfsdata]# ls -l

total 0

-rw-r--r--. 2 root root 0 Aug 29 21:07 file1

-rw-r--r--. 2 root root 0 Aug 29 21:07 file2

-rw-r--r--. 2 root root 0 Aug 29 21:07 file3

自此GlusterFS快速安装过程结束。

以上是关于glusterfs 卷扩容与收缩的主要内容,如果未能解决你的问题,请参考以下文章

详解 GFS分布式文件系统 (条带卷/复制卷/分布式条带卷/分布式复制卷)

分布式文件系统--GlusterFS

GlusterFS分布式文件系统概述

glusterfs 的存储卷类型

GlusterFS六大卷模式說明

Glusterfs 扩容缩减