美文网首页
GlusterFS源码安装

GlusterFS源码安装

作者: 海铭威_38cf | 来源:发表于2018-09-17 15:32 被阅读0次

    GlusterFS系统是一个可扩展的网络文件系统,相比其他分布式文件系统,GlusterFS具有高扩展性、高可用性、高性能、可横向扩展等特点,并且其没有元数据服务器的设计,让整个服务没有单点故障的隐患

    一 环境准备

    准备两台服务器

    • 每台主机至少两块磁盘,一块用于安装OS,其它的用于GlusterFS storage;
    • 安装CentOS7 操作系统(xfs文件系统);
    • 主机名分别命名为server1和server2;

    格式化并挂接存储块

    假设/dev/sdb1分区为准备好的GlusterFS storage(安装时已分配)。第一步的格式化非必要,CentOS的磁盘已经被格式化未xfs格式。

    #mkfs.xfs -i size=512 /dev/sdb1    
    #mkdir -p /data/brick1    
    #echo '/dev/sdb1 /data/brick1 xfs defaults 1 2' >> /etc/fstab    
    #mount -a && mount
    

    二 源码编译&安装

    以下四个步骤在两台服务器都需要运行。

    epel库安装###

    由于有几个依赖在系统自带的source源里面没有,所以先安装了一个epel源。

    # wget https://mirrors.ustc.edu.cn/epel//7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
    # rpm -ivh epel-release-7-11.noarch.rpm
    # yum clean all
    # yum update
    

    依赖安装

    GlusterFS源码编译所需要的依赖库。

    yum install autoconf automake bison cmockery2-devel dos2unix flex fuse-devel glib2-devel libacl-devel libaio-devel libattr-devel libcurl-devel libibverbs-devel librdmacm-devel libtirpc-devel libtool libxml2-devel lvm2-devel make openssl-devel pkgconfig pyliblzma python-devel python-eventlet python-netifaces python-paste-deploy python-simplejson python-sphinx python-webob pyxattr readline-devel rpm-build sqlite-devel systemtap-sdt-devel tar userspace-rcu-devel
    

    源码编译&安装

    两台服务器都需要进行源码的编译和安装。

    # wget https://download.gluster.org/pub/gluster/glusterfs/4.1/4.1.4/glusterfs-4.1.4.tar.gz
    # tar -xzvf glusterfs-4.1.4.tar.gz
    # cd glusterfs-4.1.4
    # ./autogen.sh
    # ./configure --without-libtirpc
    # make && make install
    

    启动gluster

    # glusterd
    

    GlusterFS 默认地把动态生成的配置数据存放于/var/lib/glusterd目录下,日志数据放于/var/log下。

    三 卷设置

    设置可信任的存储池

    在两台服务器的/etc/hosts上做好相互之间的主机名和IP的解析映射:

    10.19.85.150 server1
    10.19.85.148 server2
    

    在主机server1上:

    #gluster peer probe server2
    

    在主机server2上:

    #gluster peer probe server1
    

    建立一个GlusterFS 卷

    GlusterFS 卷共有三基本类型,分别是Distributed(分布存储)、Striped(将一个文件分成多个固定长度的数据,分布存放在所有存储块,相当于RAID0)、Replicated(镜像存储,相当于RAID1)。基于striped和replicated,结合使用distributed后,又可以扩展出分布式分片存储卷和分布式镜像存储卷两种新的类型。而后两种扩展类型并没有新的命令格式,仅是通过设置数据冗余份数和添加进逻辑卷的bricks数量来动态定义的。Striped类型的卷可以在单台机器上设置成功,其他两个类型至少需要两台机器。详细内容参照Setting up GlusterFS Volumes

    设置Replicated类型的卷

    在两台主机上:

    # mkdir /data/brick1/gv0
    

    在两台主机中的任一个上面执行以下命令:

    #gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0 #gluster volume start gv0
    

    查看存储卷的状态:

    #gluster volume info
    
    设置Striped类型的卷

    在两台主机上:

    # mkdir /data/brick1/gv1
    

    在两台主机中的任一个上面执行以下命令:

    # gluster volume create gv1 stripe 2 transport tcp server1:/data/brick1/gv1 server2:/data/brick1/gv1
    
    设置Distributed类型的卷

    在两台主机上:

    # mkdir /data/brick1/gv2
    

    在两台主机中的任一个上面执行以下命令:

    #gluster volume create gv2 server1:/data/brick1/gv2 server2:/data/brick1/gv2
    

    启动卷

    设置完了之后需要启动卷

    #gluster volume start gv0
    

    四 使用方法

    把已启动的卷挂载到指定目录下

    #mount -t glusterfs server1:/gv0 /mnt
    

    挂载成功后就可以尽情的玩耍了!

    相关文章

      网友评论

          本文标题:GlusterFS源码安装

          本文链接:https://www.haomeiwen.com/subject/dmnlnftx.html