阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

GlusterFS分布式文件系统初探

238次阅读
没有评论

共计 3498 个字符,预计需要花费 9 分钟才能阅读完成。

公司有几台就服务器,正好有个项目对磁盘的容量以及性能有一定的要求,故而寻求分布式文件系统方面的知识,最终采用了 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
    会安装下图所示软件包
    GlusterFS 分布式文件系统初探

  3. 启动 glusterd 服务:执行 service glusterd start

  4. 将用于存储的主机加入到“存储池”

    在配置 glusterfs 卷之前,首先应该创建“存储池”将实际提供存储的机器加入到“存储池”。

    执行:gluster peer probe server(IP/hostname)

    此过程只需要在一台 glusterfs-server 上执行即可,以上命令对每个 server 执行一次,如下图
    GlusterFS 分布式文件系统初探
    注意:执行 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 端配置完成

    另外,可以执行以下命令查看卷信息
    GlusterFS 分布式文件系统初探

Client 端

  1. yum 安装,配置 glusterfs 官方 yum 源参照 server 端设置过程。

    yum install glusterfs glusterfs-client

    会安装下图所示安装包
    GlusterFS 分布式文件系统初探

  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 查看挂载情况,如下图
    GlusterFS 分布式文件系统初探

    说明 client 端已经挂载成功,可以像使用本地目录一样使用此目录,数据会分散存储在后端 4 台

    Server 上,并且依照我们的设置,每个文件都会存储两个副本。

管理、监控等其他操作

  1. 查看存储节点,在任意一台 server 上执行如下命令
    GlusterFS 分布式文件系统初探
  2. 查看卷信息,任意一台 server 上执行如下命令
    GlusterFS 分布式文件系统初探
    如图所示,卷 test-volume 共包含了三个存储节点的 6 个块(brick)。
  3. 扩展卷

    将新的存储节点加入到“存储池”中,在原来“存储池”中的任意一台主机执行
    GlusterFS 分布式文件系统初探
    在新节点上准备好要加入卷的“独立分区”(区别于跟分区,并且要跟其他节点的数据分区大小一致)以及目录,执行以
    GlusterFS 分布式文件系统初探
    上图表示将 1.201 上的两个目录作为两个“块”添加到 glusterfs 卷中

    查看卷信息可以看到新添加的“块”(birck)信息
    GlusterFS 分布式文件系统初探

性能测试

这部分由于之前的测试场景比较简单,不足以说明问题,待续吧 O(∩_∩)O

CentOS 7 搭建 GlusterFS  http://www.linuxidc.com/Linux/2015-10/124331.htm

使用 GlusterFS 作为 KVM 后端存储 http://www.linuxidc.com/Linux/2013-08/89108.htm

分布式存储系统 GlusterFS 初体验 http://www.linuxidc.com/Linux/2013-08/89107.htm

GlusterFS 全局统一命名空间 http://www.linuxidc.com/Linux/2013-08/89106.htm

设计新 Xlator 扩展 GlusterFS http://www.linuxidc.com/Linux/2013-08/89105.htm

GlusterFS Rebalance 简析 http://www.linuxidc.com/Linux/2013-08/89104.htm

CentOS 6.0-x86_64 下体验 Glusterfs  http://www.linuxidc.com/Linux/2015-01/111211.htm

GlusterFS 的详细介绍 :请点这里
GlusterFS 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/136216.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3498字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中