关键词:
TaoCloud XDFS基于GlusterFS开源分布式文件系统,进行了系统优化、工程化、定制化和产品化工作,五年以上的实践积累了大量实践经验,包括客户案例、最佳实践、定制开发、咨询服务和技术培训。XDFS推崇KISS大道至简的哲学,从架构到使用、管理都很简便。
XDFS提供了WebGUI管理系统,这里不作介绍,感兴趣的读者可以与TaoCloud|大道科技(www.taocloudx.com ,info@taocloudx.com )联系和咨询相关产品信息。但命令行CLI管理往往更加高效,并且有利于更加深入地理解架构原理。这里简要介绍基于命令行方式进行XDFS快速管理。
推荐配置
XDFS非常适合大文件读写的带宽型应用,诸如视频存储、HPC高性能计算、容器镜像存储、冷数据存储、日志存储、数据备份等应用场景。XDFS并不擅长小文件读写的IOPS型应用,需要综合硬件、软件和系统进行优化。根据XDFS的架构原理和最佳实践,实际部署应用时,我们给出如下推荐配置供参考。
项目 | 推荐配置 | 说明 |
单个集群规模 | 64节点 | 集群管理模式限制,大规模集群有压力 |
每卷最大客户端数量 | <= 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) 数据卷不再需要时,客户端卸载并停止卷,最后删除卷,如果数据不再需要则清除;
创建卷 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
客户端挂载
XDFS支持POSIX原生协议,同时支持CIFS/NFS/FTP标准NAS访问协议。应用环境允许的情况下,优先采用POSIX协议,Linux/Unix客户端采用NFS协议,Windows客户端采用CIFS协议。这里介绍POSIX协议的客户端挂载,提示一点,创建卷时如果采用名字或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 | 客户端等待时间 | 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分布式文件系统!(代码片段)
GlusterFSGlusterFS基本知识文件系统GlusterFSGlusterFS特点GlusterFS组成GlusterFS专业术语GlusterFS工作流程GlusterFS卷类型GlusterFS集群部署GlusterFS基本知识文件系统组成:文件系统接口,对对象管理的软件集合,对象及属性作用... 查看详情
glusterfs分布式文件系统(代码片段)
GlusterFS分布式文件系统,用于存储、管理磁盘文件文件系统(FS)文件系统组成1、文件系统接口2、对对像管理的软件集合3、对象及属性文件系统作用从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配... 查看详情
分布式文件系统---glusterfs介绍
...terFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使... 查看详情
分布式文件系统--------glusterfs最佳实战
1.背景 GlusterFS是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA(一种支持多并发链接的“转换线缆”技术)网络将物理分布的... 查看详情
glusterfs分布式文件系统
分布式系统要做的任务就是把多台机器有机的组合、连接起来,让其协同完成一件任务,可以是计算任务,也可以是存储任务。如果一定要给近些年的分布式系统研究做一个分类的话,大概可以包括三大部分:1.分布式存储系统2... 查看详情
glusterfs分布式存储系统(代码片段)
GlusterFS分布式存储系统一,分布式文件系统理论基础1.1分布式文件系统出现计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统... 查看详情
38掌握分布式存储系统glusterfs的基本用法,包括卷管理数据复制(代码片段)
GlusterFS是一种分布式文件系统,可以将多个存储服务器集成为一个分布式存储池。以下是一些基本的使用方法和示例代码。安装和启动GlusterFS在所有节点上安装GlusterFS,并确保每个节点上的GlusterFS服务已经启动。创建Glust... 查看详情
glusterfs分布式文件系统(代码片段)
简介Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端。是整合了许多存储块(server)通过InfinibandRDMA或者 Tcp/Ip方式互联的一个并行的网络文件系统。 特征:容量可以按比例的扩展,... 查看详情
glusterfs-----文件分布系统+集群部署(代码片段)
一、Gluster概述1.1、gluster简介Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储.Glusterfs通过TCP... 查看详情
glusterfs-----文件分布系统+集群部署(代码片段)
一、Gluster概述1.1、gluster简介Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储.Glusterfs通过TCP... 查看详情
glusterfs分布式文件系统概述(代码片段)
...GlusterFS的工作流程2、弹性HASH算法三、GlusterFS的卷类型1、分布式卷2、条带卷3、复制卷4、分布式条带卷5、分布式复制卷一、GlusterFS概述GlusterFS是一个开源的分布式文件系统,同时也是Scale-Out存储解决方案Gluster的核心,在存储数... 查看详情
glusterfs分布式存储系统
一,分布式文件系统理论基础1.1分布式文件系统出现计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,已... 查看详情
glusterfs分布式文件系统部署
...terFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使... 查看详情
glusterfs分布式系统维护管理笔记补充
下面是在GlusterFS学习中总结的管理手册,希望这些能够对那些也是使用研究GlusterFS的人有些许的帮助。1)管理说明在解释系统管理时会提供实例,首先提供一个环境说明。系统节点:IP别名Brick192.168.2.100server0/mnt/sdb1/mnt/sdc1/m... 查看详情
gfs分布式文件系统从入门到实践(代码片段)
GFS分布式文件系统一、GlusterFS概述1.1GlusterFS简介1.2GlusterFS的特点二、GlusterFS术语介绍2.1Brick(存储块)2.2Volume(逻辑卷)2.3FUSE2.4VFS2.5Glusterd(后台管理进程)三、理解GlusterFS工作流程四、理解弹性HASH算法4.1 查看详情
glusterfs存储结构原理介绍
一、分布式文件系统 分布式文件系统(DistributedFileSystem)是指文件系统管理的物理存储资源并不直接与本地节点相连,而是分布于计算网络中的一个或者多个节点的计算机上。目前意义上的分布式文件系统大多都是由多... 查看详情
56.glusterfs分布式文件系统
GlusterFS分布式文件系统GlusterFS是一个开源的分布式文件系统,软件的结构设计良好,易于扩展和配置,通过各个模块的灵活搭配得到针对性的解决方案。可解决一下问题:网络存储,联合存储,冗余备份,大文件的负载均衡。可... 查看详情
(❤❤❤)gfs分布式文件系统理论+部署(❤❤❤)(代码片段)
...一命名空间④弹性卷管理⑤基于标准协议1.3、MFS(传统的分布式文件系统)1.4、GFS二、GlusterFS术语介绍①Brick(存储块)②Volume(逻辑卷)③FUSE④VFS⑤Glusterd( 查看详情