TaoCloud XDFS基于GlusterFS开源分布式文件系统,进行了系统优化、project化、定制化和产品化工作,五年以上的实践积累了大量实践经验,包含客户案例、最佳实践、定制开发、咨询服务和技术培训。XDFS推崇KISS大道至简的哲学,从架构到使用、管理都非常简便。

XDFS提供了WebGUI管理系统。这里不作介绍,感兴趣的读者能够与TaoCloud|大道科技(www.taocloudx.com ,info@taocloudx.com
)联系和咨询相关产品信息。

但命令行CLI管理往往更加高效,而且有利于更加深入地理解架构原理。这里简要介绍基于命令行方式进行XDFS高速管理。

推荐配置

XDFS很适合大文件读写的带宽型应用,诸如视频存储、HPC高性能计算、容器镜像存储、冷数据存储、日志存储、数据备份等应用场景。

XDFS并不擅长小文件读写的IOPS型应用,须要综合硬件、软件和系统进行优化。

依据XDFS的架构原理和最佳实践,实际部署应用时,我们给出例如以下推荐配置供參考。

项目

推荐配置

说明

单个集群规模

64节点

集群管理模式限制,大规模集群有压力

每卷最大client数量

<= 1000个

Brick并发连接数量不能太大

每节点brick数量

4-8个

Brick进程太多占用系统资源

单个brick容量

<= 100 TB

平衡容量与性能,本地文件系统限制

RAID/LVM

多盘组成RAID

单个Brick容量和性能,控制brick数量

Brick文件系统

XFS

稳定,16TB以上大容量,格式化快

卷类型

哈希复制卷

高可用,条带卷不成熟

数据网络

10GbE

内部通信不能有瓶颈,尤其是NAS协议

訪问协议

POSIX

原生高可用,性能





















集群管理

XDFS通过gluster peer命令管理集群,包含增加节点、删除节点、查看状态、列举节点四个操作。

命令行格式例如以下:

增加节点      gluster    peer       probe    <node name | node ip>

删除节点      gluster     peer       detach     <node name | node ip>

查看状态      gluster    peer       status

列举节点      gluster    pool       list

磁盘管理

推荐使用XFS进行磁盘格式化,通常和缺省參数mount就可以,并设置开机自己主动挂载。这里须要提示的是,/etc/fstab中採用UUID进行挂载,避免盘符发生变化导致的混乱。

格式化磁盘         mkfs.xfs         /dev/sdb

设置UUID           xfs_admin      -U `uuidgen` /dev/sdb

设置开机启动      echo "UUID=XXX  /xdfs/brick1 xfs  defaults 0 0" >>/etc/fstab

数据卷管理

XDFS数据卷实际上就是分布式文件系统。不能和SAN存储的LUN概念混为一谈。XDFS通过gluster volume命令管理卷。这条命令包括丰富的子命令。功能涉及卷管理、卷扩容修复、状态查看三大块。实际运维中,使用频繁高的仅有create, start, set, add-brick, rebalance, info, status等几条命令,并且使用极为简便。数据卷运维流程大致例如以下:

(1)   依照存储需求创建卷、设置參数、启动卷,为业务提供数据服务。

(2)   容量或性能不够时。在线扩展节点和卷,进行容量均衡,不影响业务正常使用;

(3)   节点或brick发生问题,或者迁移,或者数据发生不一致,进行在线替换作修复;

(4)   数据卷不再须要时,client卸载并停止卷,最后删除卷,假设数据不再须要则清除;

创建卷          gluster volume create   <volname> [replica <count>] <brick list>

删除卷          gluster volume delete     <volname>

启动卷          gluster volume start        <volname>

停止卷          gluster volume stop       <volname>

配置卷          gluster volume set         <volname> <key> <value>

扩展卷          gluster volume add-brick       <volname> [replica<count>]<new brick>

缩容卷          gluster volume remove-brick<volname> [replica <count>] <brick> start

glustervolume remove-brick <volname> [replica <count>] <brick>status

glustervolume remove-brick <volname> [replica <count>] <brick>commit

均衡卷          gluster volumerebalance       <volname> [fix-layout]start

替换卷          gluster volume replace-brick  <volname><brick> <new brick> start

gluster volumereplace-brick  <volname><brick> <new brick> status

gluster volume replace-brick  <volname> <brick> <newbrick> commit

修复卷          gluster volume heal              <volname>

列举全部卷         gluster volume list

查看卷配置         gluster volume info       [volname]

查看卷状态         gluster volume status     [volname]

很多其它帮助信息      gluster volume help

client挂载

XDFS支持POSIX原生协议,同一时候支持CIFS/NFS/FTP标准NAS訪问协议。

应用环境同意的情况下,优先採用POSIX协议,Linux/Unixclient採用NFS协议。Windowsclient採用CIFS协议。这里介绍POSIX协议的client挂载。提示一点,创建卷时假设採用名字或IP,则挂载时须要採用同样的方式。

XDFS挂载           mount    -t glusterfs      <nodename|node ip>:volume

[backupvolfile-server=nodename | node ip]

<mountpoint>

开机自己主动挂载      <node name|node ip>:volume

<mount point>

glusterfs

defaults, _netdev, backupvolfile-server=[nodename | node ip]  0 0



系统调优

XDFS的底层核心是GlusterFS分布式文件系统,为了满足不同的应用负载需求,它提供了很多可调节的系统參数,经常使用调优參数例如以下表所看到的。这些系统參数设置没有普遍适用的经验值,须要依据实际情况进行理论分析和实际測试。从而确定最佳的系统參数。以获得更好的总体效果。參数设置命令例如以下:

參数设置      gluster    volume   set   <key>     <value>

很多其它參数      gluster    volume   set  help

參数选项

參数说明

缺省值

合法值

Auth.allow / Auth.reject

IP訪问授权

*(allow all)

IP地址

Cluster.min-free-disk

剩余磁盘空间阈值

10%

百分比

Cluster.stripe-block-size

条带大小

128KB

字节

Network.frame-timeout

请求等待时间

1800s

0-1800

Network.ping-timeout

client等待时间

42s

0-42

Nfs.disabled

关闭NFS服务

Off

Off|on

Performance.io-thread-count

IO线程数

16

0-65

Performance.cache-refresh-timeout

缓存校验周期

1s

0-61

Performance.cache-size

读缓存大小

32MB

字节

GlusterFS分布式文件系统高速管理的更多相关文章

  1. GlusterFS 分布式文件系统的使用入门-管理GlusterFS卷

    GlusterFS 分布式文件系统的使用入门-管理GlusterFS卷 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.卷的扩容 您可以根据需要在群集联机且可用时扩展卷.例如,您 ...

  2. GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)

    GlusterFS分布式文件系统部署及基本使用(CentOS 7.6) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Gluster File System 是一款自由软件,主要由 ...

  3. GlusterFS分布式文件系统的使用

    glusterfs是一款开源的分布式文件系统. 它具备高扩展.高可用及高性能等特性,由于其无元数据服务器的设计,使其真正实现了线性的扩展能力,使存储总容量可轻松达到PB级别,支持数千客户端并发访问. ...

  4. GlusterFS 分布式文件系统

    简介 官方文档:https://docs.gluster.org/en/latest/Quick-Start-Guide/Architecture/ Glusterfs是一个开源的分布式文件系统,是S ...

  5. GlusterFS分布式文件系统部署

    GlusterFS是一个可伸缩的网络文件系统,使用常见的现成的硬件,您可以创建大型分布式存储流媒体解决方案.数据分析.和其他数据相关的任务.GlusterFS是自由和开源软件. 详细参考官网:http ...

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

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

  7. glusterfs分布式文件系统

    第一:安装依赖包: yum install libibverbs librdmacm xfsprogs nfs-utils rpcbind libaio liblvm2app  lvm2-devel ...

  8. glusterFS分布式文件系统的搭建

    准备工作 1.安装IBA yum install libradmacm librdmacm-devel libmlx4 infiniband-diags 2.配置IPOIB /etc/sysconfi ...

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

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

随机推荐

  1. [python][django学习篇][4]django完成数据库代码翻译:迁移数据库(migration)

    上一篇我们已经完成数据库的设计,但是仅仅是python语言,并没有真正创建了数据库表.翻译成数据库语言,真正创建数据库表由django manage.py来实现,这一过程专业术语:迁移数据库 切换到m ...

  2. 微信小程序--问题汇总及详解之图片上传和地图

    地图用的是百度的地图,链接:http://lbsyun.baidu.com/index.php?title=wxjsapi/guide/getlocation 获取日期时间可以用小程序里自带的js文件 ...

  3. jsp运行机制

    一.JSP机制概述 可以把执行JSP页面的执行分成两个阶段,一个是转译阶段,一个是请求阶段. 转译阶段:JSP页面转换成Servlet类. 请求阶段:Servlet类执行,将响应结果发送至客户端. 1 ...

  4. Hadoop入门第四篇:手动搭建自己的hadoop小集群

    前言 好几天没有更新了,本来是应该先写HDFS的相关内容,但是考虑到HDFS是我们后面所有学习的基础,而我只是简单的了解了一下而已,后面准备好好整理HDFS再写这块.所以大家在阅读这篇文章之前,请先了 ...

  5. (Mac)centos 6.5安装 JDK+mysql

    为了把自己的网站放到外网,购买了阿里云的centos 6.5服务器,以下是安装 JDK 一.JDK安装: 方法一: 1.创建目录,命令行:(这里可以不加sudo) sudo mkdir /jdk 2. ...

  6. Pointcut is not well-formed: expecting 'identifier' at character position 0 ^ || Pointcut is not well-formed: expecting ')' at character position 11 ^

    错误提示: 解决方法1:指定execution 在执行目标方法之前指定execution 解决方法2:可能是execution写错了.请仔细检查. 其他——execution参数设置(带问好的可以不配 ...

  7. mapserver+QGIS+openlayers的安装和配置

    1.下载MS4W,不要怀疑MS4W就是mapserver,只是里面集成了一些其他的工具和库,下载地址:http://www.maptools.org/ms4w/index.phtml?page=dow ...

  8. chrome浏览器无法安装非应用商店插件的解决办法

    不久前,安装了一个非chrome应用商店的第三方应用,今天突然发现无法使用,打开chrome的扩展程序后,发现该插件以及被禁用,在网上查找了解决方法,设置“开发者模式”,修改了chrome的参数,仍然 ...

  9. 【EX_BSGS】BZOJ1467 Pku3243 clever Y

    1467: Pku3243 clever Y Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 425  Solved: 238[Submit][Status ...

  10. POJ1848 Tree 【树形dp】

    题目链接 POJ1848 题解 由题,一个环至少由三个点组成,一个点作为根时,可以单独成链,可以与其一个儿子成链,或者与其两个儿子成环,与其一个剩余链长度大于等于2的儿子成环. 那么我们设最小代价 \ ...