码迷,mamicode.com
首页 > 其他好文 > 详细

GlusterFS 3.5.3 实战

时间:2014-11-28 18:26:51      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:glusterfs scheduler 调度策略

最近在学习glusterfs 


我使用的是分布式复制策略。


两台服务器

g1:10.100.15.111

g2:10.100.15.112


client:10.0.6.149


G1\G2 没个主机上分别有一个10G 硬盘,用于存放在用户数据,分别是挂载/data下。


操作步骤如下,操作全部在G1服务器上、并且两天服务器gluster服务器全部启动,通讯正常:

1、先建立存储池

gluster peer probe 10.100.15.112

#这里注意下啊,文档上说可以用域名,用hosts不成功,不知道是不是必须对外直接解析。


2、查看状态

gluster peer status


会看到刚才加的主机,并且状态是连接的。


3、创建卷

gluster volume create test-volume replica 2 transport tcp 10.100.15.111:/data/test-volume 10.100.15.112:/data/test-volume


test-volume是卷名,可以随便叫。

replica是数据分布策略,2是指,1份数据,两机器个保存一份。


glusterfs 不建议直接用/data/ ,所以在里面又创建了test-volume 目录 。


这样一个集群就做完了。 下面说下,当这个复制集群满了,是如何扩容的。


是我测试的情况是在G1\G2 上可又各添加了一个10G硬盘,挂载在/data2


4、添加brick 

gluster volume add-brick test-volume 10.100.15.111:/data2/test-volume 10.100.15.112:/data2/test-volume


这样添加过后,客户端看到挂载的磁盘由10G变成了20G,但这时候客户端写入文件的时候发生变化了。不再将所有的文件写在/data目录下了,而是通过策略写在/data2和/data两目录里,二个目录又互相复制同步。


说下这个glusterfs 分布调度策略

官方文档:http://gluster.org/community/documentation/index.php/Translators/cluster/unify#GlusterFS_Schedulers 


有几种 什么 switch啊、random啊、rr啊、还有什么NUFA啊,ALU啊

我们主要就是主要的就说说ALU这种调度。


ALU 是一个非常高级的调度策略。

ALU有很多子的调度策略,什么磁盘空间,磁盘的读写,磁盘速率。根据这些子策略来调度,文件写在那个磁盘上。


为什么说ALU高级呢,就是它通过,这些子策略,不断使调度策略变化。


下面来看看官方文档给的一些选项例子


option scheduler alu 

这个就是说,使用那个策略

option alu.limits.min-free-disk  5%

这个选项告诉glusterfs限制磁盘最小的可用空间,就像上面的例子,我们通常当可用空间快要满了,到一定程度就会扩容,但是扩容完以后从何出现空间大小不一致问题,后面的扩容的硬盘可能需要很长一段时间才能追赶上,或是使用rebalance功能自动平衡,这样就可能把先前磁盘写满,这个选项就是告诉它当磁盘空间使用95%的时候就不要往这个硬盘写数据了。


option alu.limits.max-open-files 10000

这个选择不太理解应用在什么场景中,翻译文档的意思就是当打开文件数大于10000的话,就不再创建文件。不太理解。可能用途也挺多 。


option alu.order disk-usage:read-usage:write-usage:open-files-usage:disk-speed-usage

这就是说ALU只用那些子策略,但是不知道是不是顺序优先级问题?


子策略选项

option alu.disk-usage.entry-threshold 2GB 

option alu.disk-usage.exit-threshold  60MB

这就是说,当有硬盘容量大于2GB,就开始使用这调度策略,还是那上面的例子说:/data的容量大于/data2容量2G,那么开始将文件写入/data2,知道他们连个容量差距小于60MB ,退出这个子调度

option alu.open-files-usage.entry-threshold 1024

option alu.open-files-usage.exit-threshold 32

这个和上面的差不多就是打开文件数据量启动。

option alu.read-usage.entry-threshold 20% 

option alu.read-usage.exit-threshold 4%

这个就是当两个硬盘间读取率相差大于20%使用这个策略。

option alu.write-usage.entry-threshold 20%

option alu.write-usage.exit-threshold 4%

这个就是写入

option alu.disk-speed-usage.entry-threshold

option alu.disk-speed-usage.exit-threshold

这个是磁盘速度,文档上不建议设置这个数值。



这些主要是让分布的更加平衡。


好吧,今儿线到这里,这东西还有很多坑 。


理解或是有说的不对的地方,欢迎指正。


也欢迎讨论。

本文出自 “大撸子” 博客,请务必保留此出处http://chris1986.blog.51cto.com/8067169/1584264

GlusterFS 3.5.3 实战

标签:glusterfs scheduler 调度策略

原文地址:http://chris1986.blog.51cto.com/8067169/1584264

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!