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
版权声明:本文为博主原创文章,转载请附上博文链接!

Centos7下GlusterFS 分布式文件系统环境搭建的更多相关文章

  1. [过程记录]Centos7 下 Hadoop分布式集群搭建

    过程如下: 配置hosts vim /etc/hosts 格式: ip hostname ip hostname 设置免密登陆 首先:每台主机使用ssh命令连接其余主机 ssh 用户名@主机名 提示是 ...

  2. centos7下Maven Java selenium3环境搭建

    centos7下Maven Java selenium3环境搭建 一.Jdk安装 我这里用的是open-jdk. [adawang@localhost src]$ sudo yum search op ...

  3. GlusterFS分布式文件系统概述

    一.GlusterFS概述 GlusterFS是一个开源的分布式文件系统,同时也是Scale-Out存储解决方案Gluster的核心,在存储数据方面有强大的横向扩展能力,通过扩展不同的节点可以支持PB ...

  4. Centos7下Java开发基本环境搭建

    一.Centos7安装JDK 首先查看自己的机器上是否已经自带openjdk,命令如下: rpm -qa | grep jdk 如果存在,则按照如下命令进行依次卸载: yum -y remove fi ...

  5. Centos7下rc.local文件开机不执行…

    在Centos7下,rc.local文件,开机默认是不执行的 /etc/rc.local链接的是  /etc/rc.d/rc.local文件,该文件默认不开机启动,官方建议添加一个service来实现 ...

  6. CentOS7.5 GlusterFS 分布式文件系统集群环境搭建

    环境准备: 系统版本:CentOS Linux release 7.5.1804 (Core) glusterfs:3.6.9 userspace-rcu-master: 硬件资源: 10.200.2 ...

  7. Centos7下GlusterFS分布式存储集群环境部署记录

    0)环境准备 GlusterFS至少需要两台服务器搭建,服务器配置最好相同,每个服务器两块磁盘,一块是用于安装系统,一块是用于GlusterFS. 192.168.10.239 GlusterFS-m ...

  8. CentOS7 下 Hadoop 分布式部署

    Hadoop 服务划分 使用三台节点,集群部署规划如下 服务\主机 hadoop1 hadoop2 hadoop3 HDFS NameNode DataNode DataNode SecondaryN ...

  9. centos7+hadoop完全分布式集群搭建

    Hadoop集群部署,就是以Cluster mode方式进行部署.本文是基于JDK1.7.0_79,hadoop2.7.5.  1.Hadoop的节点构成如下: HDFS daemon:  NameN ...

随机推荐

  1. ISAPI筛选器及对ASP源文件的保护

    ISAPI筛选器及对ASP源文件的保护 2009-04-21 01:45:57 标签:ISAPI 筛选器 ASP 源文件 保护 摘要:本文介绍了利用ISAPI筛选器保护ASP源文件的方法,并给出一个实 ...

  2. jQuery-4.动画篇---jQuery核心

    jQuery中each方法的应用 jQuery中有个很重要的核心方法each,大部分jQuery方法在内部都会调用each,其主要的原因的就是jQuery的实例是一个元素合集 如下:找到所有的div, ...

  3. leftBarButtonItem 的颜色

    修改系统:leftBarButtonItem, rightBarButtonItem 的颜色 在你需要修改的页面,ViewDidload()方法里面贴上下面代码 self.navigationCont ...

  4. 20175120彭宇辰 《Java程序设计》第八周学习总结

    教材学习内容总结 第十五章 泛型与集合框架 一.泛型 泛型的主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据结构. 1.泛型类声明 class People<E> Peop ...

  5. MySQL查询操作——2

    -----------查询操作--------------------------- 查询表中的所有字段SELECT * FROM employees; 查询常量值SELECT 100;SELECT ...

  6. 锋利的jQuery初学(4)

    css选择器与jQuery选择器 css选择器 符号 说明 用法 #id 选择器 #id{} .class 类选择器 .class{} Element 标签选择器 p{} , 并集选择器 div,p{ ...

  7. 小妖精的完美游戏教室——人工智能,A*算法,导航网络篇

    //================================================================//// Copyright (C) 2017 Team Saluk ...

  8. CentOS 7安全加固

    本次实验使用的centos 7 版本 一.查找系统中是否存在空密码账户 1.使用命令: awk -F: '($2==""){print $1}' /etc/shadow 直接查看. ...

  9. Python线程的用法 函数式线程_thread和threading 样例

    函数式线程写起来比较简单,但是功能没有threading那么高级,先来个函数式编程样例: #!/usr/bin/python #coding: utf-8 #————————————————————— ...

  10. npm -D -S 的区别

    npm -D -S 的区别   我们在使用npm install 安装模块或插件的时候,有两种命令把他们写入到 package.json 文件里面去,比如: --save-dev --save 在 p ...