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. poj2002 hash+邻接表优化Squares

    Squares Time Limit: 3500MS   Memory Limit: 65536K Total Submissions: 17487   Accepted: 6643 Descript ...

  2. springdata jpa

    (转自:http://www.cnblogs.com/ityouknow/p/5891443.html) 首先了解JPA是什么? JPA(Java Persistence API)是Sun官方提出的J ...

  3. 3984: 玩具(toy)

    3984: 玩具(toy) 题目描述 这个故事发生在很久以前,在 IcePrincess_1968 和 IcePrince_1968 都还在上幼儿园的时候. IcePrince_1968 最近迷上了一 ...

  4. Fabric 和 Sawtooth 技术分析(下)

    http://blog.talkingdata.com/?p=6172 在前一篇文章(Fabric和Sawtooth技术分析(上))中,我们着重跟大家分享了 Fabric 相关的内容,在本篇文章中,我 ...

  5. 短文对话的神经反应机 -- Neural Responding Machine for Short-Text Conversation学习笔记

    最近学习了一篇ACL会议上的文章,讲的是做一个短文对话的神经反映机, 原文: 会议:ACL(2015) 文章条目:    Lifeng Shang, Zhengdong Lu, Hang Li: Ne ...

  6. 【12】react 之 redux(1)

    TodoList小demo 效果展示 项目地址 (单向)数据流 数据流是我们的行为与响应的抽象:使用数据流能帮我们明确了行为对应的响应,这和react的状态可预测的思想是不谋而合的. 常见的数据流框架 ...

  7. 手机横屏时候提示请竖屏浏览纯css实现

    //今天无意间浏览nike公众号看到的 最近也正在做着就记录下来备忘<!DOCTYPE html> <html lang="en"> <head> ...

  8. hdu 3549 Flow Problem 最大流 Dinic

    题目链接 题意 裸的最大流. 学习参考 http://www.cnblogs.com/SYCstudio/p/7260613.html Code #include <bits/stdc++.h& ...

  9. android的布局-----LinearLayout(线性布局)

    学习导图(图片在网上下载) 知识点详解(演示效果方便组件没有设置id) (1)gravity和Layout_gravity android:gravity 属性是对该view中内容的限定.比如一个bu ...

  10. AC日记——灾后重建 洛谷 P1119

    灾后重建 思路: 看到n<=200,思考弗洛伊德算法: 如何floyed呢? floyed是一种动态规划求最短路的算法: 它通过枚举中间点来更新两点之间最短路: 回到这个题本身: 所有点的重建完 ...