GlusterFS分布式文件系统高速管理
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分布式文件系统高速管理的更多相关文章
- GlusterFS 分布式文件系统的使用入门-管理GlusterFS卷
GlusterFS 分布式文件系统的使用入门-管理GlusterFS卷 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.卷的扩容 您可以根据需要在群集联机且可用时扩展卷.例如,您 ...
- GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)
GlusterFS分布式文件系统部署及基本使用(CentOS 7.6) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Gluster File System 是一款自由软件,主要由 ...
- GlusterFS分布式文件系统的使用
glusterfs是一款开源的分布式文件系统. 它具备高扩展.高可用及高性能等特性,由于其无元数据服务器的设计,使其真正实现了线性的扩展能力,使存储总容量可轻松达到PB级别,支持数千客户端并发访问. ...
- GlusterFS 分布式文件系统
简介 官方文档:https://docs.gluster.org/en/latest/Quick-Start-Guide/Architecture/ Glusterfs是一个开源的分布式文件系统,是S ...
- GlusterFS分布式文件系统部署
GlusterFS是一个可伸缩的网络文件系统,使用常见的现成的硬件,您可以创建大型分布式存储流媒体解决方案.数据分析.和其他数据相关的任务.GlusterFS是自由和开源软件. 详细参考官网:http ...
- CentOS7.5 GlusterFS 分布式文件系统集群环境搭建
环境准备: 系统版本:CentOS Linux release 7.5.1804 (Core) glusterfs:3.6.9 userspace-rcu-master: 硬件资源: 10.200.2 ...
- glusterfs分布式文件系统
第一:安装依赖包: yum install libibverbs librdmacm xfsprogs nfs-utils rpcbind libaio liblvm2app lvm2-devel ...
- glusterFS分布式文件系统的搭建
准备工作 1.安装IBA yum install libradmacm librdmacm-devel libmlx4 infiniband-diags 2.配置IPOIB /etc/sysconfi ...
- GlusterFS分布式文件系统概述
一.GlusterFS概述 GlusterFS是一个开源的分布式文件系统,同时也是Scale-Out存储解决方案Gluster的核心,在存储数据方面有强大的横向扩展能力,通过扩展不同的节点可以支持PB ...
随机推荐
- 纸上得来终觉浅,绝知此事要躬行——Spring boot任务调度
前言:之前今日开讲项目的时候,用到了Quartz进行任务调度.后来做一个电商项目的时候,还用到了Quartz任务调度. 觉得挺简单的,a peace of cake. 忽略了总结,当时闭着眼睛都能捉 ...
- 【转】Unity摄像机的使用二:摄像机的切换
http://blog.csdn.net/liujunjie612/article/details/45847877 我们接着上一篇博文继续研究摄像机,这篇我们说下Unity中摄像机的切换,说到切换, ...
- Log4j官方文档翻译(二、架构设计)
log4j遵循层次化架构,每个层都有不同的对象来执行不同的任务.这种层次话的结构灵活设计.易于未来的扩展. log4j框架中有两种对象: 核心对象:框架的支撑对象,是框架必不可少的组成部分. 支撑对象 ...
- cf 843 A Sorting by Subsequences [建图]
题面: 传送门 思路: 这道题乍一看有点难 但是实际上研究一番以后会发现,对于每一个位置只会有一个数要去那里,还有一个数要离开 那么只要把每个数和他将要去的那个位置连起来,构成了一个每个点只有一个入边 ...
- BZOJ3129 [Sdoi2013]方程 【扩展Lucas】
题目 给定方程 X1+X2+. +Xn=M 我们对第l..N1个变量进行一些限制: Xl < = A X2 < = A2 Xn1 < = An1 我们对第n1 + 1..n1+n2个 ...
- 关于在redux当中 reducer是如何知道传入的state是初始化state下面的哪一条数据
首先初始化redux的数据 reducer 那么问题来了,todos这个reducer是如何知道传入的是初始化state下面的todos这条数据呢? 合并reducer 合并之后是这样的 他们之间的关 ...
- 【NOIP2009】最优贸易
描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通 ...
- .NET结束外部进程 C#结束外部进程
原文发布时间为:2011-02-15 -- 来源于本人的百度文章 [由搬家工具导入] using System;namespace ConsoleApplication2{ class Prog ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---15
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 搜狗拼音输入法LINUX版安装
搜狗拼音输入法LINUX版官方下载: http://pinyin.sogou.com/linux/?r=pinyin 一.添加fcitx的nightlyPPA 在终端中输入: sudo add-apt ...