GlusterFS系统中文管理手册

 

 

 

1文档说明

该文档主要内容出自 www.gluster.org 官方提供的英文系统管理手册《Gluster File System 3.3.0

Administration Guide》。可以看成是管理手册中文版吧。

区别在于:

(1)它是英文的,个人整理的是中文的。所以不想看英文文档的人可以参考参考~~!

(2)它是3.3.0的管理手册,个人系统管理使用实践是3.4.1(不过3.3.1也实践过了)。

(3)它包含了很多内容,本文档只摘取其中系统管理部分(系统管理命令使用),并且进行了归类整理,方便理解。

(4)另外附加了很多系统管理中很多需要注意的地方,我相信这个是比较重要的(血泪经验谈)。

写这个文档的目的一是给自己做个备份,毕竟自己看英文文档感觉也是很累的,需要的时候可以翻翻,另外就是使用实践的过程中却是遇到很多需要注意的地方,自己当时也吃亏了很多次才搞明白,所以希望这些能够对那些也是使用研究GlusterFS的人有些许的帮助。

看完这个文档,有时间还是去看官方文档《Gluster File System 3.3.0 Administration Guide》吧,呵呵,毕竟那才是正版,而且也比较全面。

2系统维护管理

2.1管理说明

在解释系统管理时会提供实例,首先给大家提供一个环境说明。所有管理实践都是在3.4.1的版本上做的,所以只针对该版本进行说明。

系统节点:

IP                                  别名        Brick
192.168.2.100         server0   /mnt/sdb1       /mnt/sdc1       /mnt/sdd1
192.168.2.101         server1   /mnt/sdb1       /mnt/sdc1       /mnt/sdd1
192.168.2.102         server2   /mnt/sdb1       /mnt/sdc1       /mnt/sdd1

实践时个人使用自己的笔记本创建了三个节点,并每台虚拟机mount三块磁盘作为Brick使用,每个brick分配了30G的虚拟容量。

实例约定:

AFR卷名:              afr_vol
DHT卷名:              dht_vol
Stripe卷名:           str_vol
客户端挂载点:     /mnt/gluster

2.2系统部署

 先从如何部署一个完整的系统说起吧。

(1) 在每个节点上启动glusterd 服务

#service glusterd start

(2) 添加节点到存储池,在其中一个节点上操作,如server0

#gluster peer probe server1
#gluster peer probe server2

//可以使用gluster peer status查看当前有多少个节点,显示不包括该节点

(3) 创建系统卷, 部署最常见的分布式卷,在server0 上操作

#gluster volume create dht_vol 192.168..{,,}:/mnt/sdb1

//分别使用server0/1/2的磁盘挂载目录/mnt/sdb1作为brick

(4) 启动系统卷,在server0 上操作

#gluster volume start dht_vol

(5) 挂载客户端,例如在server2

#mount.glusterfs server0:/dht_vol /mnt/gluster

//将系统卷挂载到server2上的/mnt/gluster目录下就可以正常使用了。该目录聚合了三个不同主机上的三块磁盘。

//从启动服务到提供全局名字空间,整个部署流程如上。

2.3基本系统管理

2.3.1节点管理

# gluster peer command

2.3.1.1节点状态

#gluster peer status       //在serser0上操作,只能看到其他节点与server0的连接状态
Number of Peers:
Hostname: server1
Uuid: 5e987bda-16dd-43c2-835b-08b7d55e94e5
State: Peer in Cluster (Connected)
Hostname: server2
Uuid: 1e0ca3aa-9ef7-4f66-8f15-cbc348f29ff7
State: Peer in Cluster (Connected)

2.3.1.2添加节点

# gluster peer probe HOSTNAME

#gluster peer probe server2                     将server2添加到存储池中

2.3.1.3删除节点

# gluster peer detach HOSTNAME

#gluster peer detach server2                   将server2从存储池中移除

// 移除节点时,需要确保该节点上没有brick ,需要提前将brick 移除

2.3.2卷管理

2.3.2.1创建卷

# gluster volume create NEW-VOLNAME [transport [tcp | rdma | tcp,rdma]]

NEW-BRICK...

创建分布式卷(DHT)

#gluster volume create dht_vol 192.168..{,,}:/mnt/sdb1

//DHT卷将数据以哈希计算方式分布到各个brick上,数据是以文件为单位存取,基本达到分布均衡,提供的容量和为各个brick的总和。

创建副本卷(AFR)

#gluster volume create afr_vol replica  192.168..{,,}:/mnt/sdb1

//AFR卷提供数据副本,副本数为replica,即每个文件存储replica份数,文件不分割,以文件为单位存储;副本数需要等于brick数;当brick数是副本的倍数时,则自动变化为Replicated-Distributed卷。

#gluster volume create afr_vol replica  192.168..{,,}:/mnt/sdb1 192.168..{,,}:/mnt/sdc1

//每两个brick组成一组,每组两个副本,文件又以DHT分布在三个组上,是副本卷与分布式卷的组合。

创建条带化卷(Stripe)

#gluster volume create str_vol stripe  192.168..{,,}:/mnt/sdb1

//Stripe卷类似RAID0,将数据条带化,分布在不同的brick,该方式将文件分块,将文件分成stripe块,分别进行存储,在大文件读取时有优势;stripe需要等于brick数;当brick数等于stripe数的倍数时,则自动变化为Stripe-Distributed卷。

#gluster volume create str_vol stripe  192.168..{,,}:/mnt/sdb1 192.168..{,,}:/mnt/sdc1

//没三个brick组成一个组,每组三个brick,文件以DHT分布在两个组中,每个组中将文件条带化成3块。

创建Replicated-Stripe-Distributed

#gluster volume create str_afr_dht_vol stripe  replica  192.168..{,,}:/mnt/sdb1 192.168..{,,}:/mnt/sdc1 192.168..{,}:/mnt/sdd1

//使用8个brick创建一个组合卷,即brick数是stripe*replica的倍数,则创建三种基本卷的组合卷,若刚好等于stripe*replica则为stripe-Distrbuted卷。

2.3.2.2卷信息

#gluster volume info

//该命令能够查看存储池中的当前卷的信息,包括卷方式、包涵的brick、卷的当前状态、卷名及UUID等。

2.3.2.3卷状态

#gluster volume status

//该命令能够查看当前卷的状态,包括其中各个brick的状态,NFS的服务状态及当前task执行情况,和一些系统设置状态等。

2.3.2.4启动/停止卷

# gluster volume start/stop VOLNAME

//将创建的卷启动,才能进行客户端挂载;stop能够将系统卷停止,无法使用;此外gluster未提供restart的重启命令

2.3.2.5删除卷

# gluster volume delete VOLNAME

//删除卷操作能够将整个卷删除,操作前提是需要将卷先停止

2.3.3 Brick管理

2.3.3.1添加Brick

若是副本卷,则一次添加的Bricks 数是replica 的整数倍;stripe 具有同样的要求。

# gluster volume add-brick VOLNAME NEW-BRICK
#gluster volume add-brick dht_vol server3:/mnt/sdc1

//添加server3上的/mnt/sdc1到卷dht_vol上。

2.3.3.2移除Brick

若是副本卷,则移除的Bricks 数是replica 的整数倍;stripe 具有同样的要求。

# gluster volume remove-brick VOLNAME BRICK start/status/commit
# gluster volume remove-brick dht_vol start

//GlusterFS_3.4.1版本在执行移除Brick的时候会将数据迁移到其他可用的Brick上,当数据迁移结束之后才将Brick移除。执行start命令,开始迁移数据,正常移除Brick。

#gluster volume remove-brick dht_vol status

//在执行开始移除task之后,可以使用status命令进行task状态查看。

#gluster volume remove-brick dht_vol commit

//使用commit命令执行Brick移除,则不会进行数据迁移而直接删除Brick,符合不需要数据迁移的用户需求。

PS :系统的扩容及缩容可以通过如上节点管理、Brick 管理组合达到目的。

(1) 扩容时,可以先增加系统节点,然后添加新增节点上的Brick 即可。

(2) 缩容时,先移除Brick ,然后再进行节点删除则达到缩容的目的,且可以保证数据不丢失。

2.3.3.3替换Brick

# gluster volume replace-brick VOLNAME BRICKNEW-BRICK start/pause/abort/status/commit
# gluster volume replace-brick dht_vol server0:/mnt/sdb1 server0:/mnt/sdc1 start

//如上,执行replcace-brick卷替换启动命令,使用start启动命令后,开始将原始Brick的数据迁移到即将需要替换的Brick上。

#gluster volume replace-brick dht_vol server0:/mnt/sdb1 server0:/mnt/sdc1 status

//在数据迁移的过程中,可以查看替换任务是否完成。

#gluster volume replace-brick dht_vol server0:/mnt/sdb1 server0:/mnt/sdc1 abort

//在数据迁移的过程中,可以执行abort命令终止Brick替换。

#gluster volume replace-brick dht_vol server0:/mnt/sdb1 server0:/mnt/sdc1 commit

//在数据迁移结束之后,执行commit命令结束任务,则进行Brick替换。使用volume info命令可以查看到Brick已经被替换。

2.4系统扩展维护

2.4.1系统配额

2.4.1.1开启/关闭系统配额

# gluster volume quota VOLNAME enable/disable

//在使用系统配额功能时,需要使用enable将其开启;disable为关闭配额功能命令。

2.4.1.2设置(重置)目录配额

# gluster volume quota VOLNAME limit-usage /directory limit-value
# gluster volume quota dht_vol limit-usage /quota 10GB

//如上,设置dht_vol卷下的quota子目录的限额为10GB。

PS:这个目录是以系统挂载目录为根目录”/”,所以/quota即客户端挂载目录下的子目录quota

2.4.1.3配额查看

# gluster volume quota VOLNAME list
# gluster volume quota VOLNAME list /directory name

//可以使用如上两个命令进行系统卷的配额查看,第一个命令查看目的卷的所有配额设置,第二个命令则是执行目录进行查看。

//可以显示配额大小及当前使用容量,若无使用容量(最小0KB)则说明设置的目录可能是错误的(不存在)。

2.4.2地域复制(geo-replication)

# gluster volume geo-replication MASTER SLAVE start/status/stop

地域复制是系统提供的灾备功能,能够将系统的全部数据进行异步的增量备份到另外的磁盘中。

#gluster volume geo-replication dht_vol 192.168.2.104:/mnt/sdb1 start

//如上,开始执行将dht_vol卷的所有内容备份到2.104下的/mnt/sdb1中的task,需要注意的是,这个备份目标不能是系统中的Brick。

2.4.3 I/O信息查看

 Profile Command 提供接口查看一个卷中的每一个 brick IO 信息。

#gluster volume profile VOLNAME start

//启动profiling,之后则可以进行IO信息查看

#gluster volume profile VOLNAME info

//查看IO信息,可以查看到每一个Brick的IO信息

# gluster volume profile VOLNAME stop

//查看结束之后关闭profiling功能

2.4.5 Top监控

Top command 允许你查看bricks 的性能例如:read, write, file open calls, file read calls, file write calls, directory open calls, and directory real calls

所有的查看都可以设置top 数,默认100

# gluster volume top VOLNAME open [brick BRICK-NAME] [list-cnt cnt]

//查看打开的fd

#gluster volume top VOLNAME read [brick BRICK-NAME] [list-cnt cnt]

//查看调用次数最多的读调用

#gluster volume top VOLNAME write [brick BRICK-NAME] [list-cnt cnt]

//查看调用次数最多的写调用

# gluster volume top VOLNAME opendir [brick BRICK-NAME] [list-cnt cnt]
# gluster volume top VOLNAME readdir [brick BRICK-NAME] [list-cnt cnt]

//查看次数最多的目录调用

# gluster volume top VOLNAME read-perf [bs blk-size count count] [brick BRICK-NAME] [list-cnt cnt]

//查看每个Brick的读性能

# gluster volume top VOLNAME write-perf [bs blk-size count count] [brick BRICK-NAME] [list-cnt cnt]

//查看每个Brick的写性能

glusterFS系统中文管理手册(转载)的更多相关文章

  1. OA系统权限管理设计(转载)

    不论什么系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统加入亮点. l         不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是 ...

  2. ERP设计之系统基础管理(BS)-日志模块设计(转载)

    原文地址:8.ERP设计之系统基础管理(BS)-日志模块设计作者:ShareERP 日志模块基本要素包括: 用户会话.登录.注销.模块加载/卸载.数据操作(增/删/改/审/弃/关等等).数据恢复.日志 ...

  3. jpgraph中文使用手册之文本和字体控制教程

    摘要:在之前的php jpgraph安装配置教程中已介绍过jpgraph字体的安装与配置方法,jpgraph类库中字体和文本的使用是非常重要的,jpgraph既可以控 制文本的旋转.对齐方式.字体大小 ...

  4. mysql最新版中文参考手册在线浏览

    MySQL是最流行的开放源码SQL数据库管理系统,具有快速.可靠和易于使用的特点.同时MySQL也是一种关联数据库管理系统,具有很高的响应速度和灵活性.又因为mysql拥有良好的连通性.速度和安全性, ...

  5. Linux 安装中文man手册

    Centos 安装中文man 虽然在CentOS操作系统中具有多语言包,但其man手册是英文的,对于新手来说能够使用中文man手册将加快学习速度. .首先需要确认的是有没有安装中文支持,如果没有请安装 ...

  6. LSI系列芯片Raid卡配置方法、管理手册

    说明 本手册适用于LSI芯片Raid卡 包括但不限于Inspur 2008/2108 Raid卡.LSI 9240/9260/9261/ 9271 等Raid卡. 不同型号的Raid卡在某些功能上的支 ...

  7. Linux下的cman中文帮助手册配置

    Linux下的帮助命令man功能很强大,很好用,但显示的结果是英文,有时候看着还是吃力,就想着要是有man的中文显示结果该多好.网上搜寻一番后,终于找到解决方案,很简单,亲测有效.具体步骤如下: su ...

  8. CentOS7 安装中文帮助手册

    1.首先确定系统安装中文字体否 locale 2.rpm安装中文帮助手册 挂在光盘 将man-pages-zh-CN-1.5.2-4.el7.noarch.rpm拷贝到本机 rpm -ivh man- ...

  9. Net力软快速信息化系统开发框架 + 开发手册+数据库说明

    源码目录结构说明LeaRun.Cache –缓存层LeaRun.Resource –本地语言LeaRun.Utilities –公共类库LeaRun.DataAccess –数据库访问核心组件LeaR ...

随机推荐

  1. shell parameter expansitions

    type testtype -a test math calculate:echo $((1+2*3)) parameter expansition:bash-4 introduced feature ...

  2. 帆软报表FineReport2016年1月份产品更新一览

    .条件属性可使用页码参数插件 由于报表计算逻辑关系,条件属性中取不到页码公式.但是有些场景下又是需要在条件属性中取到页码的,比如标题只要偶数页显示,比如奇数页标题标红等等. 插件安装完成后,条件属性里 ...

  3. Catalan数应用整理

    应用一: codevs 3112 二叉树计数  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 一个有n个结点的二叉树总共有 ...

  4. codevs 1015 计算器的改良 2000年NOIP全国联赛普及组

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题目描述 Description NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委 ...

  5. HttpClient学习整理

    HttpClient简介HttpClient 功能介绍    1. 读取网页(HTTP/HTTPS)内容    2.使用POST方式提交数据(httpClient3)    3. 处理页面重定向    ...

  6. JavaScript模板引擎artTemplate.js——template.compile()方法

    template.compile(source, options) source:必传,渲染模板的内容. options:可选,通常不传.(其实是我还没研究明白) return:一个渲染函数. 示例如 ...

  7. C 语言学习 第二次作业总结

    本次作业内容,主要有以下几点: 新建 coding 帐号,且使用 coding 上传本次作业的代码 Printf及条件判断语句的使用 作业总结 作业总结: 同学们开始渐入佳境,能够较为流畅的写出合理的 ...

  8. 1323 union解题报告

    http://codeup.cn/problem.php?id=1323 1323: 算法2-1:集合union 时间限制: 1 Sec 内存限制: 32 MB 提交: 2884 解决: 688 题目 ...

  9. Ceph RGW 的 OSPF负载均衡 + quagga的配置

      随着开源技术的发展,以及商业设备价格的不断攀升.大公司总是希望能使用开源的方案来替换过去使用的商业设备.比如之前大家用的很多的F5和A10,现在已经在逐步被LVS替换.传统的单个lvs的性能是比不 ...

  10. 通过CAGradientLayer制作渐变色效果(转)

    转载自:http://blog.it985.com/7986.html 看了极客学院的视频之后写的一篇博客,觉得不错,还是作为笔记使用. 简单介绍一下CAGradientLayer吧. Gradien ...