学习复习使用。只学习创建不同卷,不测试不同卷性能差别。
四个虚拟机进行测试
关闭防火墙 设置selinux为permissive
三个服务端
192.168.199.81 gluster-1
192.168.199.82 gluster-2
192.168.199.83 gluster-3
一个客户端 测试挂载卷
192.168.199.84 gluster-client
服务端每个服务器添加两块10G的硬盘并挂载用作 brick点。
硬盘挂载和gluster软件安装
硬盘挂载以gluster-1 为例
查看硬盘是否添加。 我的虚拟机上显示的/dev/sdb //dev/sdc 表示新加的两块硬盘设备。
gluster使用yum 方式安装。
所有节点都要安装gluster源。版本选择6。41尽管是长期支持版本,但是似乎glusterfs-fuse 依赖库之类有冲突。。。
三个服务端安装
用户端安装
只有在使用Infiniband时才需要安装RDMA模块。这应该是一个不同于tcp/ip的 络协议。。。
glusterfs是基础包,也是服务软件和客户软件的依赖包。会自动安装。
服务端安装完成查看 安装软件。。。看着软件版本和源版本好像不一致。。。没关系。安装上就行。
配置受信任池
在gluster-1节点 将gluster-2 gluster-3加入受信任池。
测试安装不同卷。。。
brick: gluster基本存储单元,由受信任存储池中服务器上的导出目录表示。
brick通过以下格式将服务器与导出目录组合来表示。SERVER:EXPORT
如
创建卷命令
[] 表示可省略
过于长。。。其实不是特别复杂。先放这里,不用太在意
transport <tcp|rdma|tcp,rdma> 这一块,表明使用的 络协议,默认是tcp。我想大多数人都使用的tcp协议吧。如果有使用其他 络协议的,那应该比我懂多了。。。
1.基础卷 Distribute(分布式卷)
分布式卷。这种类型卷数据没有冗余,只是将数据分布到不同的brick 中。也就是说数据没有备份。一旦数据丢失就真的丢失了。因此一般不常用。
默认创建不加额外参数就是 分布式卷
创建一个包含3个brick的分布式卷。卷名 gv-distributed
末尾 加上force是因为我们直接将 挂载目录也就是brick导出目录设置数据存储点了,如果不想加force 可以设置
/gluster/disk1/brick中 brick目录不用我们手动创建。
开启卷,查看该卷信息
将message文件复制100份写入到挂载的目录。
成功后可以在gluster-1 gluster-2 gluster-3服务节点查看作为brick的硬盘中数据。
我的文件分布如下
gluster-1
客户端挂载该卷并写入数据查看数据分布
有时候可以手动恢复副本群中 文件不同的brick。比如 现在删除 gluster-1的brick中的copy-test-001 不会使用程序删除
客户端数据正常
3.基础卷 Stripe (条带卷)。4.0版本之后应该移除了。
不知道什么原因,gluster似乎移除了该类型卷。条带卷的意思将一个文件数据均匀的存储在构成卷的 brick 中。每个brick都存放的是文件的一部分,不是完整的文件。。。该类型卷优势是,读取大文件时,文件所在的不同brick同时读取文件,速度较快。
不过已经移除了。。。就不再多说了。相对应的复合卷什么的也就没了。
4.复合卷 Distributed Replicated(分布式复制卷)
前面说过,复制卷的副本数如果和组成该卷的brick 数量一致,那么就是一个基础副本卷。
如果组成改卷的brick数目是副本数的倍数,那么该卷就是一个分布式复制卷
注,一定要是倍数关系,brick少一个 多一个 卷的建立都会失败。。。
删除刚才的卷,准备测试创建新卷
如果硬盘上面有数据,将硬盘数据也清除掉。
创建一个3副本 的分布式存储卷 卷名 gv-dis-rep
由6个brick组成的三副本的分布式复制卷,在该卷中,
互为副本,这三个brick中存储的数据一致。看做副本群1。三个brick的大小要一致。
互为副本,这三个brick中存储的数据一致。看做副本群2。三个brick的大小要一致。
副本群1 和 副本群2 构成一个分布式,数据会比较均衡的分布在这两个副本群中。副本群1中brick和副本群2中brick大小可以不一致。。。但最好构成gluster集群的brick大小都是一致的为好。
开启卷,查看卷信息
gluster-2 /gluster/disk1
gluster-1 /gluster/disk2
gluster-3 /gluster/disk2
如此指定的话创建方式可以 省略分散集的 count 。结果是一样的。
disperse 也可以省略。看到 redundancy 关键字 gluster也会知道在创建分散卷。
不指定 disperse count 的话默认就是创建单一分散卷。由所有brick构成一个分散集群。
可以不指定redundancy 1 只设置关键字disperse,会自动计算冗余brick,有三个brick的话,自动计算结果应该也是1。
对于分散卷。。。知道如何使用就可以了吧。。。
6. Distributed Dispersed(分布式分散卷)
可以看做多个不同的分散集群构成一个分布式的卷。每一个分散集群保存维护一份数据,多个集群构成完整的数据。
创建上与单一分散卷创建类似,只不过要设置 分散集群的brick数目。且构成分布式分散卷的brick 数目是 分散集群群brick数目的倍数。至少2倍。redundancy count的设置依然是根据 分散集群brick数目( disperse count)设置的。
设置一个6个brick构成的分布式分散卷gv-dis-dis,分散集群brick 数目为3 冗余为1。
查看分布式分散群 文件分布
手动进行数据均衡
需要耗费一段时间
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!