标签(linux): glusterfs

笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流

今天我们来从实战中学习glusterfs


环境准备:

gluster-server两台,各添加一块10G硬盘:

db02 db03

实现目标:

将文件系统挂载到web服务器的www站点用户上传目录

提示:提前就搭建好web服务器nginx,www站点。

=环境准备==

关闭防火墙:

systemctl disable firewalld
systemctl stop firewalld

selinux:

[root@db02 ~]# getenforce
Disabled

系统版本

[root@db03 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@db03 ~]# uname -r
3.10.0-327.el7.x86_64

hosts解析

[root@db02 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.52 db02
172.16.1.53 db03
172.16.1.250 docker

将添加的磁盘写入文件系统

mkfs.xfs -i size=512 /dev/sdb

创建挂载目录

mkdir -p /bricks/brick1

加入fstab开机自动挂载

echo "/dev/sdb                                  /bricks/brick1          xfs     defaults        1 2" >> /etc/fstab
[root@db03 ~]# tail -1 /etc/fstab
/dev/sdb /bricks/brick1 xfs defaults 1 2
#挂载/etc/fstab里面的所有条目
mount -a

以下如无特殊说明均在两台节点操作

安装:

所有服务器

yum install centos-release-gluster -y
yum install glusterfs-server -y

查看glusterfs版本

[root@db03 ~]# gluster --version
glusterfs 3.10.1
Repository revision: git://git.gluster.org/glusterfs.git
Copyright (c) 2006-2016 Red Hat, Inc. <https://www.gluster.org/>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
It is licensed to you under your choice of the GNU Lesser
General Public License, version 3 or any later version (LGPLv3
or later), or the GNU General Public License, version 2 (GPLv2),
in all cases as published by the Free Software Foundation.

启动服务

systemctl start gluster
systemctl enable glusterd

在任意一台节点上添加信任池

[root@db02 ~]# gluster peer probe db03
peer probe: success.

查看状态,如果从一个节点能看到其它节点说明OK

[root@db02 ~]# gluster peer status
Number of Peers: 1 Hostname: db03
Uuid: 6465d902-4ec6-4e21-a5dc-f196b499a07e
State: Peer in Cluster (Connected)

设置GlusterFS卷

[root@db02 ~]# mkdir /bricks/brick1/{www,bbs,blog,jpress}
[root@db02 ~]# tree /bricks/
/bricks/
└── brick1
├── bbs
├── blog
├── jpress
└── www

在任意一台机器上创建复制卷(可用性高,写性能不佳.读取速度快,可类比RAID 1)

[root@db02 ~]# gluster volume create www replica 2 db02:/bricks/brick1/www db03:/bricks/brick1/www
volume create: www: success: please start the volume to access data
[root@db02 ~]# for i in bbs blog jpress;do gluster volume create $i replica 2 db02:/bricks/brick1/$i db03:/bricks/brick1/$i;done
volume create: bbs: success: please start the volume to access data
volume create: blog: success: please start the volume to access data
volume create: jpress: success: please start the volume to access data

启动卷

[root@db02 ~]# for i in www bbs blog jpress;do gluster volume start $i;done
volume start: www: success
volume start: bbs: success
volume start: blog: success
volume start: jpress: success

确认卷显示“已启动”:

[root@db02 ~]# gluster volume info

Volume Name: bbs
Type: Replicate
Volume ID: d1776666-d035-4855-8758-fe199b6c1198
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: db02:/bricks/brick1/bbs
Brick2: db03:/bricks/brick1/bbs
Options Reconfigured:
transport.address-family: inet
nfs.disable: on Volume Name: blog
Type: Replicate
Volume ID: d21a6a25-9da0-4940-a831-045257dc4550
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: db02:/bricks/brick1/blog
Brick2: db03:/bricks/brick1/blog
Options Reconfigured:
transport.address-family: inet
nfs.disable: on Volume Name: jpress
Type: Replicate
Volume ID: b9835dcc-da68-4858-9009-2821e31b1cb3
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: db02:/bricks/brick1/jpress
Brick2: db03:/bricks/brick1/jpress
Options Reconfigured:
transport.address-family: inet
nfs.disable: on Volume Name: www
Type: Replicate
Volume ID: 3c541856-f55b-4c03-82e9-d0fe58e6b2f2
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: db02:/bricks/brick1/www
Brick2: db03:/bricks/brick1/www
Options Reconfigured:
transport.address-family: inet
nfs.disable: on

创建www用户,由于

[root@db02 brick1]# useradd -s /sbin/nologin -M -u 1000 www

web服务器挂载卷

mount -t glusterfs db02:/www /application/nginx/html/www/uploads

GlusterFS最佳实践的更多相关文章

  1. JuiceFS CSI Driver 的最佳实践

    文章根据 Juicedata 工程师朱唯唯,在云原生 Meetup 杭州站所作主题演讲<JuiceFS CSI Driver 的最佳实践>整理而成. 大家好,我是来自 Juicedata ...

  2. ASP.NET跨平台最佳实践

    前言 八年的坚持敌不过领导的固执,最终还是不得不阔别已经成为我第二语言的C#,转战Java阵营.有过短暂的失落和迷茫,但技术转型真的没有想象中那么难.回头审视,其实单从语言本身来看,C#确实比Java ...

  3. 《AngularJS深度剖析与最佳实践》简介

    由于年末将至,前阵子一直忙于工作的事务,不得已暂停了微信订阅号的更新,我将会在后续的时间里尽快的继续为大家推送更多的博文.毕竟一个人的力量微薄,精力有限,希望大家能理解,仍然能一如既往的关注和支持sh ...

  4. ASP.NET MVC防范CSRF最佳实践

    XSS与CSRF 哈哈,有点标题党,但我保证这篇文章跟别的不太一样. 我认为,网站安全的基础有三块: 防范中间人攻击 防范XSS 防范CSRF 注意,我讲的是基础,如果更高级点的话可以考虑防范机器人刷 ...

  5. 快速web开发中的前后端框架选型最佳实践

    这个最佳实践是我目前人在做的一个站点,主要功能: oauth登录 发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”.支持自定义排版.插图.建立相 ...

  6. Spring Batch在大型企业中的最佳实践

    在大型企业中,由于业务复杂.数据量大.数据格式不同.数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理.而有一些操作需要定期读取大批量的数据,然后进行一系列的后续处理.这样的过程就是" ...

  7. Atitit.log日志技术的最佳实践attilax总结

    Atitit.log日志技术的最佳实践attilax总结 1. 日志的意义与作用1 1.1. 日志系统是一种不可或缺的单元测试,跟踪调试工具1 2. 俩种实现[1]日志系统作为一种服务进程存在 [2] ...

  8. PHP核心技术与最佳实践——全局浏览

    难得买到并喜欢一本好书,‘PHP核心技术与最佳实践’. 几天时间,先看了个大概,总结一下整体是什么样子的,怎么看怎么学. 1.总共14章: 2.第1.2章讲PHP的OOP: 其中第一章侧重于PHP的O ...

  9. Abp集成Swagger的最佳实践

    1.在项目中添加nuget包 Abp.Web.Api.SwaggerTool 2.在项目Abp模块的DependsOn添加AbpWebApiSwaggerToolModule Run It,启动项目, ...

随机推荐

  1. 大数据分析中Redis怎么做到220万ops

    大数据时代,海量数据分析就像吃饭一样,成为了我们每天的工作.为了更好的为公司提供运营决策,各种抖机灵甚至异想天开的想法都会紧跟着接踵而来!业务多变,决定了必须每天修改系统,重新跑数据,这就要求极高的海 ...

  2. Windows2008/2012多用户同时远程连接终端服务授权

    Windows服务器多用户同时登录问题,仅提供要点,其它自行百度: 1,Windows Server 远程桌面默认只能2个连接 2,安装终端服务(远程桌面会话主机).终端授权(远程桌面授权) 3,终端 ...

  3. 第一个 spring-boot 程序

    本例使用 maven 作为项目管理工具 新建 pom.xml 文件,添加 spring-boot-starter-web 依赖: <dependency> <groupId>o ...

  4. javascript初识

    1.什么是js 基于对象和事件驱动并且具有相对安全性的客户端脚本语言,由网景公司开发.     2.js数据类型   1.基本数据类型 undefined,null,number,boolean,st ...

  5. deeplearning.ai 人工智能行业大师访谈 Pieter Abbeel 听课笔记

    1. Pieter Abbeel小时候想做一个篮球运动员 - -!上学的时候喜欢数学和物理,上大学之后很自然的学工程.Pieter定义工程问题是"解决实际中应用物理和数学的问题". ...

  6. CodeForces832-B. Petya and Exam

    补的若干年以前的题目,水题,太菜啦_(:з」∠)_    B. Petya and Exam time limit per test 2 seconds memory limit per test 2 ...

  7. myEclipse配置SVN

    方法三:直接解压      下载SVN插件:site-1.6.10.zip      解压后将其全部文件拷贝至:D:\Program Files\Genuitec\MyEclipse 8.5\drop ...

  8. UEP-查询方式总结

    public void retrieve() { QueryParamList params = getQueryParam("dataWrap"); //获取页面上的参数,即查询 ...

  9. [国嵌笔记][027][ARM协处理器访问指令]

    协处理器作用 协处理器用于执行特定的处理任务,如数学协处理器可以执行控制数字处理,以减轻处理器的负担.ARM处理器最多可以支持16个协处理器,其中CP15是最重要的一个协处理器 CP15的作用 CP1 ...

  10. oracle和mysql分页

    mysql分页 关键字limit,limit m,n 其中m表示起始位置的下标,下标从0开始.n表示要显示的条数,比如要查询一个表的第2到5条数据. ,; oracle分页 关键字rownum, ro ...