环境说明:

两台虚拟主机,IP分别为192.168.1.222和192.168.1.233,分别装上glusterfs。

一、下载glusterfs源码包

  1. https://download.gluster.org/pub/gluster/glusterfs/3.6/

如:glusterfs-3.6.9.tar.gz

二、编译安装

安装必要的依赖

  1. > yum install flex bison openssl openssl-devel acl libacl libacl-devel sqlite-devel libxml2-devel python-devel

安装liburcu

  1. https://github.com/urcu/userspace-rcu
  1. > yum install autoconf automake libtool
  2. > unzip userspace-rcu-master.zip
  3. > cd userspace-rcu-master
  4. > ./bootstrap
  5. > ./configure
  6. > make && make install
  7. > ldconfig

解压并编译安装

  1. > tar xf glusterfs-3.6.9.tar.gz
  2. > cd glusterfs-3.6.9
  3. > ./configure --prefix=/data/glusterfs
  4. > make && make install

添加环境变量

  1. > echo 'export PATH=/data/glusterfs/sbin:$PATH' >> /etc/profile
  2. > source /etc/profile

  

三、使用glusterfs

分别启动两台主机上的glusterfs

  1. > /data/glusterfs/sbin/glusterd

在222主机上配置可信池

  1. > gluster peer probe 192.168.1.233

如果出现如下问题:
peer probe: failed: Probe returned with unknown errno 107
请查看防火墙是否关闭

查看可信池

  1. > gluster peer status

要使用gluster必须要创建卷,卷有三种类型:
1、分布式卷,把数据写在不同的brick上。

在两台主机上分别创建exp1和exp2目录

  1. > mkdir -p /data/exp1
  2. > mkdir -p /data/exp2

创建分布式卷,exp-volume为卷名,可自定义

  1. > gluster volume create exp-volume 192.168.1.222:/data/exp1 192.168.1.233:/data/exp2

查看卷信息

  1. > gluster volume info

查看卷状态

  1. > gluster volume status

  

2、复制卷

在两台主机上分别创建exp3和exp4目录

  1. > mkdir -p /data/exp3
  2. > mkdir -p /data/exp4

创建复制卷,复制两份,以tcp协议传输
注意brick数量与replica指定数相等

  1. > gluster volume create rep-volume replica 2 transport tcp 192.168.1.222:/data/exp3 192.168.1.233:/data/exp4

  

3、条带卷,把一个文件分开存,像条带一样

在两台主机上分别创建exp5和exp6目录

  1. > mkdir -p /data/exp5
  2. > mkdir -p /data/exp6

创建条带卷
注意brick的数量与stripe指定数量相等

  1. > gluster volume create str-volume stripe 2 transport tcp 192.168.1.222:/data/exp5 192.168.1.233:/data/exp6

分别启动我们上面创建的三种卷

  1. > gluster volume start exp-volume
  2. > gluster volume start rep-volume
  3. > gluster volume start str-volume

安装gluster-clinet

  1. > yum install glusterfs-client

挂载卷

  1. > mkdir /mnt/m1 /mnt/m2 /mnt/m3
  2. > mount.glusterfs 192.168.1.222:/exp-volume /mnt/m1
  3. > mount.glusterfs 192.168.1.222:/rep-volume /mnt/m2
  4. > mount.glusterfs 192.168.1.222:/str-volume /mnt/m3

我们创建几个文件写到/mnt/m1下

  1. > echo '1' >> /mnt/m1/test1.txt
  2. > echo '2' >> /mnt/m1/test2.txt
  3. > echo '3' >> /mnt/m1/test3.txt

上面三个文件分别放在了222和233主机下的exp1和exp2目录。

我们创建文件到复制卷/mnt/m2下

  1. > echo 'rep' >> /mnt/m2/rep.txt

rep.txt文件同时会存在222和233主机下的exp3和exp4目录下。

我们创建文件到条带卷/mnt/m3下

  1. > echo '123456789' >> /mnt/m3/str.txt

str.txt文件会被折分成多个小文件保存在222和233主机下的exp5和exp6目录下。

三、分布式复制卷的创建与使用

分别在222和233主机上创建

  1. > mkdir -p /data/t1 /data/t2

文件存放与这里的服务器顺序有关系
注意brick必须为replica指定数量K的N倍,brick以K个为一组,形成N个复制卷

  1. > gluster volume create t-volume replica 2 transport tcp \
  2. 192.168.1.222:/data/t1 \
  3. 192.168.1.233:/data/t1 \
  4. 192.168.1.222:/data/t2 \
  5. 192.168.1.233:/data/t2

启动卷

  1. > gluster volume start t-volume

挂载卷

  1. > mkdir /mnt/m4
  2. > mount.glusterfs 192.168.1.222:/t-volume /mnt/m4

创建文件测试

  1. > echo '1' >> /mnt/m4/1.txt
  2. > echo '1' >> /mnt/m4/2.txt
  3. > echo '1' >> /mnt/m4/3.txt
  4. > echo '1' >> /mnt/m4/4.txt

  

四、卷的设置

启用卷的配额

  1. > gluster volume quota exp-volume enable

关闭卷的配额

  1. > gluster volume quota exp-volume disable

设置配额大小,以系统挂载目录为根目录,即/mnt/m1/data

  1. > gluster volume quota exp-volume limit-usage /data 10GB

查看卷的配额列表

  1. > gluster volume quota exp-volume list

增加brick

  1. > gluster volume add-brick exp-volume 192.168.1.222:/data/exp8

重新均衡一下卷,上面增加的卷才生效

  1. > gluster volume rebalance exp-volume start

删除brick

  1. > gluster volume remove-brick exp-volume 192.168.1.222:/data/exp8 force
  2. > gluster volume rebalance exp-volume start

  

centos7下的glusterfs的安装与使用的更多相关文章

  1. SVN CentOS7 下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. 七. 一.      实践环境 CentOS 7操作系统(CentO ...

  2. centos7下源码方式安装gitlab8.9+发送邮件+ldap

    CentOS7下源码方式安装gitlab 环境描述 操作系统: centos7 redis: >=2.8 mysql >=5.5.14 git >=2.7.4 架构设计 一台gitl ...

  3. centos7下mysql5.7的安装与配置

    centos7下MySQL5.7的安装与配置 下载 下载地址 根据系统和版本选择红框中的四个RPM包下载即可,然后放到centos7系统中的/opt目录下,等待稍后安装. 安装前的准备 1. 检查系统 ...

  4. inux centos7下源码 tar安装5.7.26详解

    inux centos7下源码 tar安装5.7.26图文详解 官网地址 https://dev.mysql.com/downloads/mysql/ 1.卸载Linux系统上自带的mysql插件(o ...

  5. CentOS7下MySQL5.7的安装-RPM方式

    Installing MySQL on Linux Using RPM Packages 下载安装包 mysql下载地址:https://dev.mysql.com/downloads/mysql/ ...

  6. CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

    一 CentOS下通过rpm方式安装MySQL CentOS版本:CentOS-7 MySQL版本:MySQL-5.6.22 在网上搜了一下,Linux下安装MYSQL有三种方式: 1) 通过yum命 ...

  7. centos7下keepalived1.3.4安装与使用

    keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. 一.下载keepalived http://www.keepalived.org/ 如 ...

  8. 【CentOS】在Centos7 下无图形界面安装 Oracle11g

    目标 - 在虚拟机CentOS7中无图形界面安装Oracle11G R2版本 ① 系统要求以及准备 1. 物理内存不小于1G: 查看方式: # grep MemTotal /proc/meminfo ...

  9. centos7下redis和php-redis安装

    centos7下redis安装和php-redis扩展安装 //一直yes就可以了 yum install redis //配置 whereis redis.conf vi /etc/redis.co ...

随机推荐

  1. node-sass:npm install node-sass --save

    从git上拉下来的项目,要先安装依赖, 再运行. 缺少node-sass:npm install node-sass --save

  2. easyUi onLoadSuccess:、onChange这些事件不能嵌套使用!!!!

    easyUi  onLoadSuccess:.onChange这些事件不能嵌套使用!!!!

  3. Python学习第二步骤

    第一步的基本的语法,在Linux或者mac(别喷)上直接输入Python,查看版本,如果显示就是已经内置了 第二步当然是进行数据库的操作了 我选择的是mysql 那几个踩到的雷 分别是: 1:MySQ ...

  4. Swift 2.0学习笔记(Day 16)——字典集合

    Swift字典表示一种非常复杂的集合,允许按照某个键来访问元素.字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合.键集合是不能有重复元素的,而值集合是可以重复的,键和值是成 ...

  5. Android sdk 目录结构说明

    1.add-on:附加的包:2.docs:HTML格式的离线文档:3.platforms:sdk核心内容:4.tool:工具. 在platforms中包含了的各个Android SDK版本的目录中,包 ...

  6. linux系统上项目部署

    步骤:(特别注意:虚拟机安装的一般是32位的操作系统,jdk也必须使用32位的)查看虚拟机版本:sudo uname --m i686 //表示是32位 x86_64 // 表示是64位 查看是否已经 ...

  7. Bootstrap 代码

    [Bootstrap 代码] Bootstrap 允许您以两种方式显示代码: 第一种是 <code> 标签.如果您想要内联显示代码,那么您应该使用 <code> 标签. 第二种 ...

  8. cdh 安装系列1-- manager 6.01 安装

    一.如果是远程centos安装,请参考我得博客,通过xmanager 链接centos桌面 二.Non-production Installation Ideal for trying Clouder ...

  9. metasploitable使用

    DVWA默认的用户有5个,用户名密码如下(一个足以): admin/password gordonb/abc123 1337/charley pablo/letmein smithy/password

  10. java集合: LinkedList源码浅析

    LinkedList 数据结构是双向链表,插入删除比较方便.LinkedList 是线程不安全的,允许元素为null  . 构造函数: 构造函数是空的. /** * Constructs an emp ...