Centos7下GlusterFS 分布式文件系统环境搭建

Centos7下 GlusterFS 环境搭建

准备工作

  • glusterfs-3.6.9.tar.gz
  • userspace-rcu-master.zip
  • 三台服务器:192.168.133.53192.168.133.54192.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.gzuserspace-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

2)添加环境变量,命令和示例图如下所示:

vi /etc/profile

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

Centos7下GlusterFS 分布式文件系统环境搭建_第1张图片

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

Centos7下GlusterFS 分布式文件系统环境搭建_第2张图片

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

Centos7下GlusterFS 分布式文件系统环境搭建_第3张图片

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

Centos7下GlusterFS 分布式文件系统环境搭建_第4张图片

五、部署客户端并挂载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

Centos7下GlusterFS 分布式文件系统环境搭建_第5张图片

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服务器

你可能感兴趣的:(linux,glusterFS)