设为首页 收藏本站
查看: 1058|回复: 0

[经验分享] glusterfs分布式文件系统初探

[复制链接]

尚未签到

发表于 2019-2-1 10:42:27 | 显示全部楼层 |阅读模式
  公司有几台就服务器,正好有个项目对磁盘的容量以及性能有一定的要求,故而寻求分布式文件系统方面的知识,最终采用了glusterfs。以下对部署以及测试过程潦做记录。
  glusterfs分布式文件系统采用C/S模式,其中客户端作为对外提供服务的点,并且负责分配管理数据在后端多台server间的存储。
  实验采用6台服务器做整个分布式架构,其中4台存储端实现类似RAID 10模式的存储池,两台客户端通过挂载至存储池,两台客户端之间通过keepalived做双机热备。

  要求:glusterfs禁止在系统分区上创建glusterfs卷,所以需要server端每台机器都要有一个独立于跟分区之外的分区加入glusterfs,并且此独立分区要求大小一致(否则,到后期会遇到问题,导致无法继续支持高可用特性)。
  Server端:
  1、采用yum方式安装,首先配置glusterfs官方的yum源,执行下面命令
  vi  /etc/yum.repos.d/glusterfs-epel.repo   添加以下内容(红色部分)
  [glusterfs-epel]
  name=GlusterFS is a clustered file-system capable of scaling toseveral petabytes.
  baseurl=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/epel-$releasever/$basearch/
  enabled=1
  skip_if_unavailable=1
  gpgcheck=1
  gpgkey=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/pub.key
  [glusterfs-noarch-epel]
  name=GlusterFS is a clustered file-system capable of scaling toseveral petabytes.
  baseurl=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/epel-$releasever/noarch
  enabled=1
  skip_if_unavailable=1
  gpgcheck=1
  gpgkey=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/pub.key
  [glusterfs-source-epel]
  name=GlusterFS is a clustered file-system capable of scaling toseveral petabytes. - Source
  baseurl=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/epel-$releasever/SRPMS
  enabled=0
  skip_if_unavailable=1
  gpgcheck=1
  gpgkey=http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/pub.key

  2、yum 安装
  yum  install glusterfsglusterfs-server
  会安装下图所示软件包

  3、启动glusterd服务:执行  service glusterd start
  4、将用于存储的主机加入到“存储池”
  在配置glusterfs卷之前,首先应该创建“存储池”将实际提供存储的机器加入到“存储池”。
  执行:gluster peer probe  server(IP/hostname)
  此过程只需要在一台glusterfs-server上执行即可,以上命令对每个server执行一次,如下图

  注意:执行peer probe 的时候不需要跟本机(hostname/IP)
  在其中一台server机上查看存储池内的信息,执行glusterpeer status,如下图
  5、Create volume(创建卷)
  Glusterfs的卷有多种可选模式,我们采用其中的两种Distributed和Replicated,其中Distributed类似于磁盘的RAID 0模式;Replicated类似于磁盘的RAID1模式(glusterfs中可以制定副本的数量,这里我们存储两个副本即可)。我们利用此两种模式在4台server间做成类似于RAID 10的模式,提供高性能和高可用的存储服务。
  在任意一台server执行:
  glustervolume create ftp-volume replica 2 192.168.5.201:/data/ftp-data192.168.5.202:/data/ftp-data 192.168.5.203:/data/ftp-data192.168.5.204:/data/ftp-data
  ##上述命令中:dir为每台服务器上要加入存储池的目录(此目录最好做一个单独分区挂载至此目录)。按照上述命令server2:/dir作为server1:/dir的副本;server4:/dir作为server3:/dir的副本
  6、创建完卷后,要启动卷,执行命令:
  Gluster  volume start  test-volume,如下图
  至此,server端配置完成
  另外,可以执行以下命令查看卷信息

  Client端
  1、yum安装,配置glusterfs官方yum源参照server端设置过程
  yum  install glusterfs  glusterfs-client
  会安装下图所示安装包

  2、安装完成后,执行挂载操作
  mount -t glusterfs192.168.5.201:/ftp-volume /glusterfs/
  #此处选择任一台服务器进行载即可
  在/etc/rc.local添加如下内容,以便实现开机自动挂载
  mount -t glusterfs192.168.5.201:/ftp-volume /glusterfs/ 2>/var/log/gluster-client.err
  在client端执行df  -h查看挂载情况,如下图


  说明client端已经挂载成功,可以像使用本地目录一样使用此目录,数据会分散存储在后端4台
  Server上,并且依照我们的设置,每个文件都会存储两个副本。
  二、管理、监控等其他操作
  1、查看存储节点,在任意一台server上执行如下命令


  2、查看卷信息,任意一台server上执行如下命令


  如图所示,卷test-volume共包含了三个存储节点的6个块(brick)。
  3、扩展卷
  将新的存储节点加入到“存储池”中,在原来“存储池”中的任意一台主机执行


  在新节点上准备好要加入卷的“独立分区”(区别于跟分区,并且要跟其他节点的数据分区大小一致)以及目录,执行以
  上图表示将1.201上的两个目录作为两个“块”添加到glusterfs卷中
  查看卷信息可以看到新添加的“块”(birck)信息

  三、实测数据(通过局域网ftp方式)
  上传目录,包含众多随机大小的文件共2.1G:
  通过glusterfs,平均速度为2.59M/S
  不通过glusterfs,平均速度为2.20M/S
  上传另一目录,总大小2.7G :
  通过glusterfs,平均速度为2.76M/S
  不通过glusterfs,平均速度为2.29M/S
  下载目录2.1G
  通过glusterfs,平均速度为3.55M/S
  不通过glusterfs,平均速度为3.09M/S
  下载另一目录2.7G
  通过glusterfs,平均速度为3.81M/S
  不通过glusterfs,平均速度为3.59M/S
  上传单个大文件
  通过glusterfs,平均速度为10.61M/S
  不通过glusterfs,平均速度为6.31M/S
  说明:操作目录时整体速度偏慢,是因为通过ftp上传下载包含很多文件的目录时每个文件都要进行建立连接过程然后传输,所以会影响整体速度,但是这并不影响我们测试glusterfs文件系统能否给我们带来性能提升。
  通过以上测试可以得出结论,通过glusterfs的分布式存储,对于磁盘读写的性能是有很大提升的。
  最后附上glusterfs administrator guid
  



附件:http://down.运维网.com/data/2364487


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670363-1-1.html 上篇帖子: glusterfs实战 下篇帖子: GlusterFS 分布式存储部署使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表