Gluster的模式及介绍在此不表,这里只记录安装及配置过程。

1.整体环境

server1 : gfs1.cluster.com

server2 : gfs2.cluster.com

Client:

2.安装Gluster

  • 下载软件

https://access.redhat.com/downloads/content/186/ver=3/rhel---7/3.4/x86_64/product-software

下载 Red Hat Gluster Storage Server 3.4 on RHEL 7 Installation DVD

安装RHEL 7.6的最小软件安装,将iso文件mount成cdrom, 然后修改yum源

mkdir -p /repo/base
mount /dev/cdrom /repo/base
vi /etc/yum.repos.d/base.repo
[rhel7.]
name=rhel7.
baseurl=file:///repo/base/
enabled=
gpgcheck=
  • 安装
yum install -y redhat-storage-server
systemctl start glusterd
systemctl enable glusterd

systemctl status glusterd验证一下

[root@gfs1 mnt]# systemctl status glusterd
● glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled)
Active: active (running) since Fri -- :: CST; 6min ago
Process: ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=/SUCCESS)
Main PID: (glusterd)
Tasks:
CGroup: /system.slice/glusterd.service
├─ /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO
├─ /usr/sbin/glusterfs -s localhost --volfile-id gluster/glustershd -p /var/run/gluster/glustershd/glustershd.pid -l /var/lo...
└─ /usr/sbin/glusterfsd -s gfs1.cluster.com --volfile-id gv0.gfs1.cluster.com.data-gluster-gv0 -p /var/run/gluster/vols/gv0/... Feb :: gfs1.cluster.com systemd[]: Starting GlusterFS, a clustered file-system server...
Feb :: gfs1.cluster.com systemd[]: Started GlusterFS, a clustered file-system server.
  • 配置防火墙

简单起见直接关闭了,以后补充开放具体网段

systemctl stop firewalld
systemctl disable firewalld
  • 修改主机名以及/etc/hosts

每台机器执行,并修改/etc/hosts

hostnamectl set-hostname gfs1.cluster.com
  • 添加存储

在每台glusterfs的server上加入一块存储盘,并进行初始化

fdisk /dev/sdb

mkfs.ext4 /dev/sdb1

在每个节点上运行以下命令挂载

mkdir -p /data/gluster
mount /dev/sdb1 /data/gluster
echo "/dev/sdb1 /data/gluster ext4 defaults 0 0" | tee --append /etc/fstab

3.配置Glusterfs

在节点1上运行

gluster peer probe gfs2.cluster.com

验证

[root@gfs1 mnt]# gluster peer status
Number of Peers: Hostname: gfs2.cluster.com
Uuid: 818cc628-85a7-4f5e-bd4e-34932c05de97
State: Peer in Cluster (Connected) [root@gfs1 mnt]# gluster pool list
UUID Hostname State
818cc628-85a7-4f5e-bd4e-34932c05de97 gfs2.cluster.com Connected
dbcc01fc-3d2c-466f--57c46a9974be localhost Connected

volume和brick的概念

3.1 复制卷

创建GFS卷gv0并配置复制模式

mkdir -p /data/gluster/gv0(在gfs1和gfs2上都建立brick)
gluster volume create gv0 replica gfs1.cluster.local:/data/gluster/gv0 gfs2.cluster.local:/data/gluster/gv0

启动gv0卷

gluster volume start gv0
gluster volume info gv0
[root@gfs1 mnt]# gluster volume info gv0

Volume Name: gv0
Type: Replicate
Volume ID: 26d05ac6---ada4-5a423793fa20
Status: Started
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: gfs1.cluster.com:/data/gluster/gv0
Brick2: gfs2.cluster.com:/data/gluster/gv0
Options Reconfigured:
performance.client-io-threads: off
nfs.disable: on
transport.address-family: inet

3.2 分布式卷(Distributed volume)

mkdir -p /data/gluster/brick

gluster volume create gv1 gfs1.cluster.com:/data/gluster/brick gfs2.cluster.com:/data/gluster/brick

gluster volume start gv1
[root@gfs1 mnt]# mkdir -p /data/gluster/brick
[root@gfs1 mnt]# gluster volume create gv1 gfs1.cluster.com:/data/gluster/brick gfs2.cluster.com:/data/gluster/brick
volume create: gv1: success: please start the volume to access data
[root@gfs1 mnt]# gluster volume start gv1
volume start: gv1: success
[root@gfs1 mnt]# gluster volume info gv1 Volume Name: gv1
Type: Distribute
Volume ID: 4782dd87-a411-44b3--70dfb072b5d0
Status: Started
Snapshot Count:
Number of Bricks:
Transport-type: tcp
Bricks:
Brick1: gfs1.cluster.com:/data/gluster/brick
Brick2: gfs2.cluster.com:/data/gluster/brick
Options Reconfigured:
transport.address-family: inet
nfs.disable: on

3.3 条带化卷(Stripe Volume)

mkdir -p /data/gluster/stripebrick

gluster volume create gv3 stripe  transport tcp gfs1.cluster.com:/data/gluster/stripebrick  gfs2.cluster.com:/data/gluster/stripebrick

gluster volume start gv3
[root@gfs1 mnt]# mkdir -p /data/gluster/stripebrick
[root@gfs1 mnt]# gluster volume create gv3 stripe transport tcp gfs1.cluster.com:/data/gluster/stripebrick gfs2.cluster.com:/data/gluster/stripebrick
volume create: gv3: success: please start the volume to access data
[root@gfs1 mnt]# gluster volume start gv3
volume start: gv3: success
[root@gfs1 mnt]# gluster volume info gv3 Volume Name: gv3
Type: Stripe
Volume ID: c25a10b8-a943-4c40-93be-088b972cbbaa
Status: Started
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: gfs1.cluster.com:/data/gluster/stripebrick
Brick2: gfs2.cluster.com:/data/gluster/stripebrick
Options Reconfigured:
transport.address-family: inet
nfs.disable: on

3.4 分布式复制卷

更详细拓扑结构和管理说明参考官方文档,值得你阅读

https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3/html/administration_guide/

4.客户端配置

支持的客户端协议

yum install -y glusterfs-client
mkdir -p /mnt/glusterfs
mount -t glusterfs gfs1.cluster.com:/gv0 /mnt/glusterfs

验证挂载

[root@master ~]# df -hP /mnt/glusterfs
Filesystem Size Used Avail Use% Mounted on
gfs1.cluster.com:/gv0 .8G 136M .2G % /mnt/glusterfs

在node1和node2上也mount上glusterfs gv0,便于查看里面内容

[root@gfs1 ~]# mount -t glusterfs gfs2.cluster.com:/gv0 /mnt
[root@gfs2 ~]# mount -t glusterfs gfs1.cluster.com:/gv0 /mnt

然后基于客户端进行文件创建删除,同时将node1进行停机的高可用测试。

Glusterfs初试的更多相关文章

  1. CentOS 6 部署GlusterFS

    首先需要关闭CentOS的防火墙和selinux,否则glusterfs将可能无法正常工作. /etc/init.d/iptables status 会得到一系列信息,说明防火墙开着. /etc/in ...

  2. Ubuntu Server 12.04下部署glusterfs

    1.安装环境 Linux:Ubuntuserver 12.04.1 LTS 64bit 2台 分布式文件系统:Gluster 测试环境:一台作文件服务器端(192.168.56.133),一台作客户端 ...

  3. glusterFS系统中文管理手册(转载)

    GlusterFS系统中文管理手册       1文档说明 该文档主要内容出自 www.gluster.org 官方提供的英文系统管理手册<Gluster File System 3.3.0 A ...

  4. caffe初试(一)happynear的caffe-windows版本的配置及遇到的问题

    之前已经配置过一次caffe环境了: Caffe初试(一)win7_64bit+VS2013+Opencv2.4.10+CUDA6.5配置Caffe环境 但其中也提到,编译时,用到了cuda6.5,但 ...

  5. centos7 搭建GlusterFS

    centos7 搭建GlusterFS 转载http://zhaijunming5.blog.51cto.com/10668883/1704535 实验需求:4台机器安装GlusterFS组成一个集群 ...

  6. glusterfs 中的字典查询

    glusterfs文件系统是一个分布式的文件系统,但是与很多分布式文件系统不一样,它没有元数服务器,听说swift上也是应用了这个技术的.glusterfs中每个xlator的配置信息都是用dict进 ...

  7. glusterfs 内存管理方式

    glusterfs中的内存管理方式: 首先来看看glusterfs的内存管理结构吧: struct mem_pool { struct list_head list; int hot_count; i ...

  8. 初试Nodejs——使用keystonejs创建博客网站2(修改模板)

    上一篇(初试Nodejs——使用keystonejs创建博客网站1(安装keystonejs))讲了keystonejs的安装.安装完成后,已经具备了基本的功能,我们需要对页面进行初步修改,比如,增加 ...

  9. 项目中初试PHP单元测试

    只能叫初试,前面虽然做了一些PHPUnit与团队所用框架的整合,但在整个团队还没有人可以主动推动这个事情,而作为Leader最重要的一种能力应该是"让正确的事情发生",所以今天开始 ...

随机推荐

  1. day5作业购物商城+ATM

    模拟实现一个ATM + 购物商城程序 1.额度 15000或自定义 2.实现购物商城,买东西加入购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.每月22号出账单,每月10号为还款日,过期未还 ...

  2. nginx一些细节知识点补充

    1.upstream 配置代理 upstream local_tomcat { server localhost:8080; } server{ location / { proxy_pass htt ...

  3. thinkphp和ueditor自定义后台处理方法整合

    先了解一下ueditor后台请求参数与返回参数格式规范: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...

  4. Django Template Language 模板语言

    一.标签 tags 1.普通变量 普通变量用{{ }} 变量名由数字.字母.下划线组成 点.在模板语言中用来获取对象相应的属性值 示例 {# 取variable中的第一个参数 #} {{ variab ...

  5. 【数论】Codeforces Round #483 (Div. 2) [Thanks, Botan Investments and Victor Shaburov!] C. Finite or not?

    题意:给你一个分数,问你在b进制下能否化成有限小数. 条件:p/q假如已是既约分数,那么如果q的质因数分解集合是b的子集,就可以化成有限小数,否则不能. 参见代码:反复从q中除去b和q的公因子部分,并 ...

  6. C# 微信小程序获取openid sessionkey

    项目介绍 1.微信小程序获取openid和session_key 2.后台使用C#开发 项目流程 准备工作 1 获取appid 1.1 下载微信web开发工具 https://developers.w ...

  7. ZOJ 2819 Average Score 牡丹江现场赛A题 水题/签到题

    ZOJ 2819 Average Score Time Limit: 2 Sec  Memory Limit: 60 MB 题目连接 http://acm.zju.edu.cn/onlinejudge ...

  8. Python学习笔记(六)—元组的操作

    元祖也是一个列表,它和list的区别是元祖里面的元素无法修改: 如果元祖里面只有一个元素的话,那么你必须在这个元素后边加上逗号,这样才是元祖的类型:否则类型会显示其他类型 元组的定义: 元祖中的方法: ...

  9. mysql数据库cup飙升处理思路

    1.先top查看是那一个进程,哪个端口占用CPU多. 2.show processeslist查看是否由于大量并发,锁引起的负载问题. 3.否则,查看慢查询,找出执行时间长的sql:explain分析 ...

  10. spring---aop(5)---Spring AOP的配置的背后的配置

    写在前面 Spring AOP中Pointcut,dvice 和 Advisor三个概念 1)切入点 Pointcut 在介绍Pointcut之前,有必要先介绍 Join Point(连接点)概念. ...