GlusterFS3.7.3源码编译安装

Table of Contents

一、背景简介

    最近在学习性能测试,首先想到如果能真是搭建个基础网站架构,肯定对进一步的学习有帮助,肯定比lordrunner自带的那个网站程序更有帮助。在搭建的过程中,因为是要建立个远程文件服务器,glusterfs是个不错的选择,搭建glusterfs服务器费了不少周折,折腾了一个多星期才搞定,在这里有必要总结下。

 

二、系统环境 

    环境中共3台服务器,IP分别是172.17.1.135  172.17.1.134  172.17.1.133,其中133和134作为glusterfs服务器端,135作为客户端挂载服务器端的卷。

    三个服务器172.17.1.135  172.17.1.134  172.17.1.133的信息依次如下图所示,

 

 

 

三、编译安装

    三台服务器上均执行以下安装步骤

#  添加 epel 软件源

    rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

 

#  安装必要的依赖包

    yum install -y aclocal autoconf aotuheader automake libtool

    yum install -y  automake autoconf libtool flex bison openssl-devel libxml2-devel python-devel libaio-devel libibverbs-devel librdmacm-devel readline-devel lvm2-devel glib2-devel userspace-rcu-devel libcmocka-devel  

    yum -y install libacl-devel

 

#  扫描整个磁盘,发现有以前安装过的glusterfs版本文件即删除,请酌情使用,本人就在这一点被坑了一个多星期,原因是反复安装了好多次glusterfs多个版本,多余的版本文件未清除,导致后来的glusterfs挂载出现版本不一致的问题。

    find / | grep -i  gluster | grep -Ei -v '/home|/tmp' | xargs rm -rf

    yum -y remove `rpm -qa | grep -i gluster` 2>/dev/null

    
#  官网下载源码包并编译安装,编译耗时大概2分钟,有问题看报错,寻找解决办法。
    wget -c -P /tmp http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.3/glusterfs-3.7.3.tar.gz
    cd /tmp
    tar xvf glusterfs-3.7.3.tar.gz
    cd glusterfs-3.7.15
    ./configure --enable-debug     --disable-tiering
    make && make install
    gluster --version   

 

四、glusterfs文件系统的挂载使用

    #  两个glusterfs服务器均添加两块硬盘,这里是/dev/sdb,然后在两台服务器上分别创建lv卷饼格式化为xfs文件系统饼挂载

  parted -s -- /dev/sdb mktable gpt
  parted -s -- /dev/sdb mkpart primary 2048s 100%
  parted -s -- /dev/sdb set 1 lvm on
  partx -a /dev/sdb
  pvcreate /dev/sdb1
  vgcreate vgglus1 /dev/sdb1
  lvcreate -l 100%VG -n gbrick1 vgglus1
  mkfs.xfs -i size=512 /dev/vgglus1/gbrick1
  echo -e '/dev/vgglus1/gbrick1\t/data/gluster\txfs\tinode64,nobarrier\t0 0' >> /etc/fstab
  mkdir -p /data/gluster/v1
  mount /data/gluster

    #  两个glusterfs服务器组成一个存储池,在172.17.1.134上执行以下命令,

    gluster peer probe 172.17.1.133

    #  创建glusterfs卷并启动,这里使用replica

    gluster volume create gvol0 replica 2 172.17.1.133:/data/gluster/v1 172.17.1.134:/data/gluster/v1

    gluster volume start gvol0

    gluster volume info

    #  客户端172.17.1.135挂载glusterfs卷

    mkdir -p /data/gvol0

    mount -t glusterfs 172.17.1.134:/gvol0 /data/gvol0