1、GlusterFS分布式文件系统2014/12/27关于我 刘爱贵,中科院博士 研究方向:分布式存储 专注于存储技术的研究与开发分布式存储资深理论研究与实践者GlusterFS技术专家 博客: http:/ 微博: http:/ Email: QQ: 9187434报告 提纲 GlusterFS简介 GlusterFS原理剖析 GlusterFS应用场景 GlusterFS开放 问题(一 )GlusterFS简介GlusterFS is a unified, poly-protocol, scale-out filesystem serving many PBs of data. 用户空间设
2、计,全局统一命名空间,堆栈式架构 scale-out在线扩展,数百节点,数 PB数据 一切皆文件, block+object+fileGlusterFS标签高性能分布式文件系统POSIX自动复制全局统一命名空间Scale-Out无中心架构标准硬件高可用自修复集群NASInfinibandGlusterFS起源GlusterFS发展简史GlusterFS v1.0 v3.0分布式文件系统,自修复同步副本,条带,弹性哈希算法GlusterFS v3.1弹性云能力GlusterFS v3.2.x远程复制,监控, QuotaRedhat 1.36亿 $收购 GlusterGlusterFS v3.3对
3、象存储, HDFS兼容主动自修复细粒度锁复制优化GlusterFS v3.4LibgfapiQuorum 机制虚拟机存储优化同步复制优化POSIX ACL 支持创始人: Anand Babu Periasamy目标: 代替开源 Lustre和商业产品 GPFSGlusterFS = GNU Cluster File SystemStory of Gluster 最大特点是 简单 :架构、使用、管理 完全对称式架构,无元数据服务器 全 UserSpace设计, Stack式扩展 (源自 Hurd) Scale-out,高可用 (无单点故障 ) 支持多种访问协议,支持 RDMA 最简单配置和管理的
4、分布式文件系统 使用 gluster单一命令行工具管理 probe peer, create volume, start volume, mount 极其简便的系统管理 集群关系,进程管理,端口映射,动态配置变更 online集群节点扩展 /收缩 online集群参数变更 系统升级 极其简便的管理和维护 Block/File/Object统一存储 模块化扩展架构 支持 IP/RDMA传输协议 Data locality Compute/Virtualization透明存储系统GlusterFS高性能记录GlusterFS社区部署300,000 + 下载: 35,000/月,每年增长 300%+
5、1000 + 部署案例 (45个国家 )2000 + 注册用户GlusterFS商业部署GlusterFS中国用户Confidential(二 )GlusterFS原理剖析GlusterFS架构设计目标GlusterFS架构特点软件定义 无中心架构 全局命名空间高性能 用户空间实现 堆栈式设计弹性横向扩展 高速网络通信 数据自动修复GlusterFS总体架构GlusterFS服务进程全局统一命名空间文件系统 卷管理 RAIDGlusterFS通过分布式文件系统 将物理分散的存储资源虚拟化成统一的存储池无集中元数据服务Gluster集群管理 集群管理模型 全对称 (如 Corosync) 缺点:
6、规模小 1000 缺点:需要配置控制 集群Gluster采用全对称式集群管理Gluster节点之间的配置信息是完全一致的每个配置信息改动操作需要在多节点同步优化同步算法,可支持 500+节点GlusterFS堆栈式软件架构GlusterFS基本概念Brick A filesystem mountpoint A unit of storage used as a GlusterFS building blockTranslator Logic between the bits and the Global Namespace Layered to provide GlusterFS functi
7、onalityVolume Bricks combined and passed through translators Node / Peer Server running the gluster daemon and sharing volumesTranslators弹性哈希算法 无集中式元数据服务 消除性能瓶颈,提高可靠性 采用 Hash算法定位文件 基于路径和文件名,一致性哈希 DHT 弹性卷管理 文件存储在逻辑卷中 逻辑卷从物理存储池中划分 逻辑可以在线进行扩容和 缩减弹性 Hash算法流程 1、使用 Davies-Meyer算法计算 32位 hash值,输入参数为文件名; 2、根
8、据 hash值在集群中选择子卷(存储服务器),进行文件定位; 3、对所选择的子卷进行数据访问。file1hash hash hashhashGlusterFS volumebrcik1 brick2 brick3 brick4/data1/file1 file2 /data2/file2 file3 /data3/file3Brick Hash rangeBrick1 00000000 3FFFFFFFBrick2 4FFFFFFF 7FFFFFFFBrick3 8FFFFFFF BFFFFFFFBrick4 CFFFFFFF FFFFFFFFGlusterFS卷类型 基本卷 哈希卷 ( Distributed Volume) 复制卷 ( Replicated Volume) 条带卷 ( Striped Volumes) 复合卷 哈希复制卷 (Distributed Replicated Volume) 哈希条带卷 ( Distributed Striped Volume) 复制条带卷 ( Replicated Striped Volume) 哈希复制条带卷 ( Distributed Replicated Striped Volume)