继吉 发表于 2019-2-1 10:54:53

GlusterFS 3.5.3 实战

  最近在学习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两目录里,二个目录又互相复制同步。
  

  注意:ALU 调度算法在glusterfs 3.0 以后已经不支持了!!!
  

  说下这个glusterfs 分布调度策略
  官方文档:http://gluster.org/community/documentation/index.php/Translators/cluster/unify#GlusterFS_Schedulers
  

  有几种 什么 switch啊、random啊、rr啊、还有什么NUFA啊,ALU啊
  我们主要就是主要的就说说ALU这种调度。
  

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

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

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

  也欢迎讨论。
  

  

  ================ 2014/12/25 更新 =======================
  

  如果想给glusterfs做防火墙。
  

  请在/etc/hosts 绑定 HOSTS ,否则 volume info , volume status 特别会卡住,
  

  像外面解析brick地址 。
  

  另外,glusterfs 3.5.3 好像不支持 auth.allow 了 。
  

  所以,像限制CLIENT ,还是用iptables吧 。
  

  如果你的客户端崩溃,dmesg里提示类似这样的消息。
INFO: task bonnie++:31785 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.  然后真个机器卡死了,不能退出。
  

  那么建议升级内核,或是关闭performance.io-cache 试试。我碰到这样问题就是yum update kernel 解决的 。
  

  

  




页: [1]
查看完整版本: GlusterFS 3.5.3 实战