SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
CephFS
基于RADOS的高性能分布式文件系统
袁冬
2015年09月 北京
1. 概述
2. CephFS架构设计
3. RADOS对象存储
4. MDS集群技术
5. 现状与未来
Contents
概述
CephFS:高性能分布式文件系统
• CephFS是Ceph最初的设计目标
• 2010年3月CephFS客户端进入内核
• 0.56版本文件系统基本稳定
解决两个核心问题:
• 如何实现高性能吞吐:
分布式存储系统(RADOS)
• 如何实现高性能OPS
分布式元数据存储(MDS Cluster)
CephFS的三方架构
Clients MDS
RADOS
• 数据路径与元数据路径分离的全分布式设计
• 高并发,高吞吐,高IOPS
• 性能、容量线性横向扩展
CephFS的数据存储
• 所有元数据全部存在RADOS中
• MDS只承担计算任务
• 简化MDS容灾与集群设计
• 充分利用RADOS的容灾特性
Clients MDS
RADOS
• 所有数据都存在于RADOS中
• 客户端直接与RADOS通讯
• 可达到超高吞吐量与横向扩展
• 充分利用RADOS的容灾特性
CephFS的客户端视图
• CephFS Linux提供三种访问方式:
• Kernel client、Fuse Client、libcephFS
• UnitedStack提供Windows原生客户端
• 提供媲美Linux原生客户端的性能
CephFS的客户端IO流程
Client RADOS
metadata request
metadata response
MDS
write metadata object
ack
write data object
ack
CephFS的两个创新
RADOS
• 对象存储
• CRUSH
• 冗余、容灾
• 负载平衡
MDS
• 元数据处理
• 元数据集群
• 动态子树分区
• 目录分片
oid
• 用于标示、查找、获取对象
• 全局唯一
data
• 二进制数据流
• 可能是任意长度
Attr
• 键值对集合
• 用于存储对象相关的元数据
Object
oid
data
attr
ObjectA ObjectB ObjectC ObjectD ObjectX
RADOS
• 对象可以视为一个完整而独立的数据。
• 每一个对象通过其对象id(Object ID/oid)进行标示。
• 对象的内容包含数据和扩展属性两部分。
RADOS对象存储
RADOS提供了以对象为存储单元的存储服务:
 每个对象具有一个对象名称(object id)
 对象的定位通过对对象名称进行CRUSH实现
 对象之间相互独立
RADOS对象存储
RADOS采用了主-从节点的驱动机制,Write-All-Read-One,强一致性
Primary
ReplicaReplica Replica
写入N1
N2 N3
Nn
Client
Request
• Primary:
• 接受Client请求,
• 执行本地数据操作
• 驱动Replica,并等待Replica操作完成
• 向Client返回响应
• Replica:
• 根据Primary请求,执行本地操作
• 向Primary返回操作完成的响应
RADOS强一致性支持
CephFS的两个创新
RADOS
• 对象存储
• CRUSH
• 冗余、容灾
• 负载平衡
MDS
• 元数据存储
• 元数据集群
• 动态子树分区
• 目录分片
元数据以目录为单位存储在RADOS中
优点:
• 与RADOS存储方式结合良好
• 加载目录内容速度快
• 方便实现基于目录的负载平衡
缺点:
• 硬链接的处理逻辑复杂
• 不支持基于Inode的反向查找
元数据的处理实际是对象的修改
元数据的存储
元数据集群-动态子树分区
• 初始状态由mds.0管理所有元数据
• 随着目录热度增加,mds.0将目录分散到其它mds
• 客户端在将缓存“目录-mds”映射关系,直接与相关mds通讯
目录仍然不是负载平衡的最小单位 ,目录分片才是
元数据集群-目录分片
4 5 6 7
(k=1,v=0)
(k=2,v=2)
(k=2,v=3)
0 1 2 3
目录可以被拆分为更小单位:目录分片
• 每一个目录分片包含一部分目录项
• 目录分片大小可以不同
• 目录分片可以动态调整
• 目录项:
• {a, b, c, d, e, f, g}
• 目录项树的叶子节点:
• 0 = {g, a}, 1 = {b}, 2 = {d}, 3 = {}, 4 = {}, 5 ={c}, 6= {f}, 7 = {e}
• 目录分片
• Frag1{0, 1, 2, 3} => {a, b, d, g}, Frag2{4, 5} => {c}, Frag3{6, 7} => {e, f}
目录分片的拆分过程:
特点 Ceph Lustre
元数据集群 支持,>100个 不支持
数据集群 支持,无限制 支持(需高可用软件),无限制
动态扩容 支持 支持
系统缩减 支持 不支持
自动容量均衡 支持 不支持
副本 支持 不支持
快照 支持 不支持
分级 不支持 2.5版本支持
配额 支持 支持
权限(ACL) 支持 支持
单个文件大小 TB级 TB级
总容量 EB级 256PB
文件系统 Btrfs、ZFS、Ext3/Ext4 Ext4、ZFS
客户端 Linux Kernel、FUSE Linux kernel
现状与未来
CephFS与Lustre对比
现状与未来
• 基础特性:动态伸缩、负载平衡、容灾、fuse客户端
• 性能特性:元数据集群、元数据缓存
• 功能特性:快照、配额、ACL(PR)
特性
• 单mds元数据性能:2000+OPS
• 单客户端吞吐量:1GB/s
性能
• 元数据集群模式尚不稳定,未答到生产环境要求
• 快照的设计过于复杂,未达到生产环境的要求
问题
CephFS已被社区作为下一阶段开发重点

Weitere ähnliche Inhalte

Was ist angesagt?

Redis介绍
Redis介绍 Redis介绍
Redis介绍 yubao fu
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践Wensong Zhang
 
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析iammutex
 
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2redhat9
 
Rgw multisite-overview v2
Rgw multisite-overview v2Rgw multisite-overview v2
Rgw multisite-overview v2Jiaying Ren
 
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结redhat9
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010Chuanying Du
 
“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosqlknuthocean
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术团队
 
DRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCDRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCYu-Chin Tsai
 
分布式存储的元数据设计
分布式存储的元数据设计分布式存储的元数据设计
分布式存储的元数据设计LI Daobing
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileDanielle Womboldt
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现iammutex
 
大型视频网站单点分析与可用性提升-Qcon2011
大型视频网站单点分析与可用性提升-Qcon2011大型视频网站单点分析与可用性提升-Qcon2011
大型视频网站单点分析与可用性提升-Qcon2011Yiwei Ma
 
Ted yu:h base and hoya
Ted yu:h base and hoyaTed yu:h base and hoya
Ted yu:h base and hoyahdhappy001
 
NoSQL-MongoDB介紹
NoSQL-MongoDB介紹NoSQL-MongoDB介紹
NoSQL-MongoDB介紹國昭 張
 
Hbase运维碎碎念
Hbase运维碎碎念Hbase运维碎碎念
Hbase运维碎碎念haiyuan ning
 
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3redhat9
 

Was ist angesagt? (20)

Redis介绍
Redis介绍 Redis介绍
Redis介绍
 
Hdfs
HdfsHdfs
Hdfs
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
 
NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析NoSQL误用和常见陷阱分析
NoSQL误用和常见陷阱分析
 
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2
 
Rgw multisite-overview v2
Rgw multisite-overview v2Rgw multisite-overview v2
Rgw multisite-overview v2
 
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010
 
“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql
 
美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践美团点评技术沙龙010-Redis Cluster运维实践
美团点评技术沙龙010-Redis Cluster运维实践
 
DRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLCDRBL-live-hadoop at TSLC
DRBL-live-hadoop at TSLC
 
分布式存储的元数据设计
分布式存储的元数据设计分布式存储的元数据设计
分布式存储的元数据设计
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现
 
Level db
Level dbLevel db
Level db
 
大型视频网站单点分析与可用性提升-Qcon2011
大型视频网站单点分析与可用性提升-Qcon2011大型视频网站单点分析与可用性提升-Qcon2011
大型视频网站单点分析与可用性提升-Qcon2011
 
Ted yu:h base and hoya
Ted yu:h base and hoyaTed yu:h base and hoya
Ted yu:h base and hoya
 
NoSQL-MongoDB介紹
NoSQL-MongoDB介紹NoSQL-MongoDB介紹
NoSQL-MongoDB介紹
 
Hbase运维碎碎念
Hbase运维碎碎念Hbase运维碎碎念
Hbase运维碎碎念
 
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3
 

Andere mochten auch

Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05Hang Geng
 
Ceph中国社区9.19 Some Ceph Story-朱荣泽03
Ceph中国社区9.19 Some Ceph Story-朱荣泽03Ceph中国社区9.19 Some Ceph Story-朱荣泽03
Ceph中国社区9.19 Some Ceph Story-朱荣泽03Hang Geng
 
Ceph Object Storage at Spreadshirt (July 2015, Ceph Berlin Meetup)
Ceph Object Storage at Spreadshirt (July 2015, Ceph Berlin Meetup)Ceph Object Storage at Spreadshirt (July 2015, Ceph Berlin Meetup)
Ceph Object Storage at Spreadshirt (July 2015, Ceph Berlin Meetup)Jens Hadlich
 
CephFS update February 2016
CephFS update February 2016CephFS update February 2016
CephFS update February 2016John Spray
 
Red Hat Storage for Mere Mortals
Red Hat Storage for Mere MortalsRed Hat Storage for Mere Mortals
Red Hat Storage for Mere MortalsRed_Hat_Storage
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep DiveRed_Hat_Storage
 
Red Hat Gluster Storage Performance
Red Hat Gluster Storage PerformanceRed Hat Gluster Storage Performance
Red Hat Gluster Storage PerformanceRed_Hat_Storage
 
Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)Sage Weil
 
Ceph Introduction 2017
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017 Karan Singh
 
Ceph Intro and Architectural Overview by Ross Turk
Ceph Intro and Architectural Overview by Ross TurkCeph Intro and Architectural Overview by Ross Turk
Ceph Intro and Architectural Overview by Ross Turkbuildacloud
 
A crash course in CRUSH
A crash course in CRUSHA crash course in CRUSH
A crash course in CRUSHSage Weil
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephSage Weil
 

Andere mochten auch (13)

Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
 
Ceph中国社区9.19 Some Ceph Story-朱荣泽03
Ceph中国社区9.19 Some Ceph Story-朱荣泽03Ceph中国社区9.19 Some Ceph Story-朱荣泽03
Ceph中国社区9.19 Some Ceph Story-朱荣泽03
 
Intorduce to Ceph
Intorduce to CephIntorduce to Ceph
Intorduce to Ceph
 
Ceph Object Storage at Spreadshirt (July 2015, Ceph Berlin Meetup)
Ceph Object Storage at Spreadshirt (July 2015, Ceph Berlin Meetup)Ceph Object Storage at Spreadshirt (July 2015, Ceph Berlin Meetup)
Ceph Object Storage at Spreadshirt (July 2015, Ceph Berlin Meetup)
 
CephFS update February 2016
CephFS update February 2016CephFS update February 2016
CephFS update February 2016
 
Red Hat Storage for Mere Mortals
Red Hat Storage for Mere MortalsRed Hat Storage for Mere Mortals
Red Hat Storage for Mere Mortals
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep Dive
 
Red Hat Gluster Storage Performance
Red Hat Gluster Storage PerformanceRed Hat Gluster Storage Performance
Red Hat Gluster Storage Performance
 
Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)
 
Ceph Introduction 2017
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017
 
Ceph Intro and Architectural Overview by Ross Turk
Ceph Intro and Architectural Overview by Ross TurkCeph Intro and Architectural Overview by Ross Turk
Ceph Intro and Architectural Overview by Ross Turk
 
A crash course in CRUSH
A crash course in CRUSHA crash course in CRUSH
A crash course in CRUSH
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for Ceph
 

Ähnlich wie Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬

浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华zhuozhe
 
数据库高可用架构
数据库高可用架构数据库高可用架构
数据库高可用架构freezr
 
Hdfs introduction
Hdfs introductionHdfs introduction
Hdfs introductionbaggioss
 
Hdfs原理及实现
Hdfs原理及实现Hdfs原理及实现
Hdfs原理及实现baggioss
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路li luo
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteXu Wang
 
Couchbase introduction - Chinese
Couchbase introduction - Chinese Couchbase introduction - Chinese
Couchbase introduction - Chinese Vickie Zeng
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研klandor
 
Docker+mesos安装最佳实践
Docker+mesos安装最佳实践Docker+mesos安装最佳实践
Docker+mesos安装最佳实践3908282
 
分会场六数据中心使用Cfs & vcs 节省it成本
分会场六数据中心使用Cfs & vcs 节省it成本分会场六数据中心使用Cfs & vcs 节省it成本
分会场六数据中心使用Cfs & vcs 节省it成本ITband
 
Use Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in SuningUse Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in SuningAlluxio, Inc.
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构drewz lin
 
从Docker到容器服务
从Docker到容器服务从Docker到容器服务
从Docker到容器服务Li Yi
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lakeJames Chen
 

Ähnlich wie Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬 (20)

浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
 
大數據
大數據大數據
大數據
 
Mesos intro
Mesos introMesos intro
Mesos intro
 
数据库高可用架构
数据库高可用架构数据库高可用架构
数据库高可用架构
 
Hdfs introduction
Hdfs introductionHdfs introduction
Hdfs introduction
 
Hdfs原理及实现
Hdfs原理及实现Hdfs原理及实现
Hdfs原理及实现
 
Hdfs
HdfsHdfs
Hdfs
 
Hdfs
HdfsHdfs
Hdfs
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research Institute
 
Couchbase introduction - Chinese
Couchbase introduction - Chinese Couchbase introduction - Chinese
Couchbase introduction - Chinese
 
内存数据库[1]
内存数据库[1]内存数据库[1]
内存数据库[1]
 
分布式系统日志处理调研
分布式系统日志处理调研分布式系统日志处理调研
分布式系统日志处理调研
 
Docker+mesos安装最佳实践
Docker+mesos安装最佳实践Docker+mesos安装最佳实践
Docker+mesos安装最佳实践
 
分会场六数据中心使用Cfs & vcs 节省it成本
分会场六数据中心使用Cfs & vcs 节省it成本分会场六数据中心使用Cfs & vcs 节省it成本
分会场六数据中心使用Cfs & vcs 节省it成本
 
Use Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in SuningUse Alluxio to Unify Storage Systems in Suning
Use Alluxio to Unify Storage Systems in Suning
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构
 
从Docker到容器服务
从Docker到容器服务从Docker到容器服务
从Docker到容器服务
 
H base云存储
H base云存储H base云存储
H base云存储
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lake
 

Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬