zoukankan      html  css  js  c++  java
  • Centos7下GlusterFS 分布式文件系统环境搭建

    Centos7下 GlusterFS 环境搭建
    准备工作
    glusterfs-3.6.9.tar.gz
    userspace-rcu-master.zip
    三台服务器:192.168.133.53、192.168.133.54、192.168.133.55
    如果您的环境没有网络,请先阅读centos7 配置本地yum源
    以下出现的简写 含义
    53 192.168.133.53:主节点
    54 192.168.133.54:从节点
    55 192.168.133.55:客户端
    (53) 仅在53节点操作
    (53&54) 53和54两个节点均需操作
    (55) 仅在55节点操作
    一、安装依赖(53&54)
    yum install -y flex bison openssl openssl-devel acl libacl libacl-devel sqlite-devel libxml2-devel python-devel make cmake gcc gcc-c++ autoconf automake libtool unzip zip
    注:以上是一条命令

    二、安装userspace-rcu-master(53&54)
    1)创建software目录并将glusterfs-3.6.9.tar.gz和userspace-rcu-master.zip上传,如下图所示:


    2)解压并编译安装,命令如下:

    unzip /usr/local/software/userspace-rcu-master.zip -d /usr/local/
    cd /usr/local/userspace-rcu-master/
    ./bootstrap
    ./configure
    make && make install
    ldconfig
    三、安装userspace-rcu-master(53&54)
    1)解压并编译安装,命令如下:

    tar -zxvf /usr/local/software/glusterfs-3.6.9.tar.gz -C /usr/local/
    cd /usr/local/glusterfs-3.6.9/
    ./configure --prefix=/usr/local/glusterfs
    make && make install
    1
    2
    3
    4
    2)添加环境变量,命令和示例图如下所示:

    vi /etc/profile

    #最上面添加如下配置
    export GLUSTERFS_HOME=/usr/local/glusterfs
    export PATH=$PATH:$GLUSTERFS_HOME/sbin
    1
    2
    3


    source /etc/profile #刷新配置使之生效

    3)启动glusterfs

    /usr/local/glusterfs/sbin/glusterd

    4)关闭防火墙

    systemctl stop firewalld.service
    systemctl disable firewalld.service
    四、建立集群(53)
    为什么是53节点?没啥为什么,随便选一个。

    1)执行以下命令,将192.168.133.54节点加入到集群:

    gluster peer probe 192.168.133.54

    2)查看集群状态:

    gluster peer status

    3)查看 volume 信息(由于还没有创建volume所以显示的是暂无信息):

    gluster volume info

    4)创建数据存储目录(在53和54两个节点上都运行):

    mkdir -p /opt/gluster/data

    5)创建复制卷 models,指定刚刚创建的目录(replica 2表明存储2个备份,后面指定服务器的存储目录)

    gluster volume create models replica 2 192.168.133.53:/opt/gluster/data 192.168.133.54:/opt/gluster/data force

    6)再次查看 volume 信息

    gluster volume info

    7)启动 models

    gluster volume start models

    8)gluster 性能调优

    开启 指定 volume 的配额
    gluster volume quota models enable

    限制 models 总目录最大使用 5GB 空间(5GB并非绝对,您可根据实际硬盘大小配置)
    gluster volume quota models limit-usage / 5GB


    设置 cache 大小(128MB并非绝对,您可根据实际硬盘大小配置)

    gluster volume set models performance.cache-size 128MB


    开启异步,后台操作
    gluster volume set models performance.flush-behind on


    设置 io 线程 32
    gluster volume set models performance.io-thread-count 32


    设置 回写 (写数据时间,先写入缓存内,再写入硬盘)
    gluster volume set models performance.write-behind on


    9)查看调优之后的volume信息

    gluster volume info

    五、部署客户端并挂载GlusterFS文件系统(55)
    到目前为止,大部分工作已经做完了,接下来就是挂载一个目录,然后通过对这个挂载目录操作,实现数据同步至文件系统。写文件试试^_^

    1)安装gluster-client,命令如下:

    yum install -y glusterfs glusterfs-fuse

    2)建立挂载点目录,命令如下:

    mkdir -p /opt/gfsmount

    3)挂载,命令如下:

    mount -t glusterfs 192.168.133.53:models /opt/gfsmount/

    4)令检查挂载情况,命令如下:

    df -h

    5)测试

    time dd if=/dev/zero of=/opt/gfsmount/hello bs=10M count=1

    mkdir /opt/gfsmount/test


    6)查看集群存储情况 (在53和54两个节点上都运行):

    cd /opt/gluster/data/ && ll

    备注:查看得知gluster服务器的每个节点上都有备份,符合步骤创建复制卷 models,指定刚刚创建的目录(replica 2表明存储2个备份)

    六、GlusterFS相关命令
    查看GlusterFS中所有的volume:

    gluster volume list

    启动磁盘:

    gluster volume start models //启动名字为 models 的磁盘

    停止磁盘:

    gluster volume stop models //停止名字为 models 的磁盘

    删除磁盘:

    gluster volume delete models //删除名字为 models 的磁盘

    七、结束语
    至此,GlusterFS的分布式环境已经搭建完成。

    1.如果机器重启,

    glusterFS服务需要启动
    磁盘models需要启动
    目录/opt/gfsmount/需要重新挂载
    挂载完目录/opt/gfsmount/需要重新进入
    systemctl stop firewalld.service
    gluster volume start models
    mount -t glusterfs 192.168.133.53:models /opt/gfsmount/
    cd /opt/gfsmount/

    注意:两个分区挂到同一个分区,第一个挂的那个不是被覆盖,而是被暂时隐藏。比如:你先挂的mount /dev/sda1 /opt/gfsmount/,又挂的mount /dev/sda2 /opt/gfsmount/,那/dev/sda1内的就暂时被隐藏,你只要umount /dev/sda2,把第二个分区卸载了,在cd /opt/gfsmount/就可以看到挂的第一个分区的内容了。

    结合ftp、java实现文件上传下载删除等必将锦上添花:Centos7搭建ftp服务器
    ---------------------
    作者:no_ob
    来源:CSDN
    原文:https://blog.csdn.net/no_ob/article/details/78679031
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    无法重用Linq2Entity Query
    The Joel Test
    MSBuilder directly instead of default VSComplie with keyborad shotcut 原创
    客户端缓存(Client Cache)
    关于代码重构和UT的一些想法,求砖头
    ExtJS2.0实用简明教程 应用ExtJS
    Perl information,doc,module document and FAQ.
    使用 ConTest 进行多线程单元测试 为什么并行测试很困难以及如何使用 ConTest 辅助测试
    史上最简单的Hibernate入门简介
    汽车常识全面介绍 传动系统
  • 原文地址:https://www.cnblogs.com/EikiXu/p/10490771.html
Copyright © 2011-2022 走看看