狠狠撸

狠狠撸Share a Scribd company logo
Distributed Filesystem Ning Peng
定义 A  file system  (often also written as  filesystem ) is a method of storing and organizing computer files and their data.  Essentially, it organizes these files into a database for the storage, organization, manipulation, and retrieval by the computer's operating system.
Challenge NTFS / EXT3  等工作得很好 NFS  在很多场合也还不错 但是…
Challenge 更高的容量 大容量媒体文件  - PB 海量的文件 –  Trillion
Challenge 更强的性能
Challenge 更低的价格
Challange 稳定可靠 磁盘损坏 部件失效:主机,接口,控制器,电源,网络 ...
How to scale 本来应该说是  Scale Your Storage 这个  topic  太大 涉及到应用,硬件,网络 先简单的谈分布式文件系统 谈点穷人的方案
看看我们有的文件系统 太多了…看分类吧 Disk file systems –ext3/ntfs/zfs/wafl ( 大部分我们熟悉的 ) File systems with built in fault-tolerance-zfs/brfs File systems optimized for flash memory, solid state media Record-oriented file systems Shared disk file systems Distributed file systems Distributed fault-tolerant file systems Distributed parallel file systems Distributed parallel fault-tolerant file systems GoogleFilesystem/CloudStore/Lustre/HDFS Peer-to-peer file systems Special purpose file systems Pseudo- and virtual file systems Encrypted file systems
Google File system Like Google File system KFS HDFS Why like? Master – chunk  架构 POSIX Like Interface 设计目标一致
GFS Goal 最开始是为爬虫等应用设计的 The system is built from many inexpensive commodity components that often fail.  The system stores a modest number of large Files.  large streaming reads and small random reads The workloads also have many large, sequential writes that append data to Files High sustained bandwidth is more important than low latency
GFS Architecture
GFS Architecture 文件分块 大小 64MB 为什么是这个大小? Master 管理元数据 Namespace File Attributes Chunks , and location  Single Master ? Yes Simple
Master  设计 都放在内存里 64MB Chunk -> 64 bytes Log  & Check Point
一致性 Master  控制的部分是一致的 创建删除文件等 串行写  -  一致已定义 并行写 – 一致未定义
Write Process
GFS 限制 显而易见的单点故障点和性能瓶颈 从几百 TB 到几十 PB 更多的 metadata 更大的容量 更多的  housekeeping  工作耗时 客户端并发的限制 解决 Multi-cell / Pratition Namespace  层面解决问题
MogileFS Application level No single point of failure   Automatic file replication "Better than RAID"   Flat Namespace   Shared-Nothing  /  No RAID required   Local filesystem agnostic
MogileFS Overview Application   Tracker ?  DB Metadata & location Need HA Storage ? Nodes NFS or HTTP transport
Read Request
MogileFS  特点 和  Google FS like  的相似 Metadata  信息 不同 Chunk replication vs file Replication 限制 DB  是主要的瓶颈
FastDFS FastDFS 是一个轻量级的开源分布式文件系统 FastDFS 主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡 FastDFS 实现了软件方式的 RAID ,可以使用廉价的 IDE 硬盘进行存储 支持存储服务器在线扩容 支持相同内容的文件只保存一份,节约磁盘空间 FastDFS 只能通过 Client API 访问,不支持 POSIX 访问方式 FastDFS 特别适合大中型网站使用,用来存储资源文件(如:图片、文档、音频、视频等等)
FastDFS
FastDFS 构成 Tracker Server 主要做调度工作,在访问上起负载均衡的作用。记录 storage server 的状态,是连接 Client 和 Storage server 的枢纽。 Storage Server 存储服务器,文件物理内容和 meta data 都保存到存储服务器上 Storage Server  构成不同的组 ( 卷 /Volume) 同组的 Storage Server 的文件是相同的
FastDFS 基本流程 -PUT client 询问 tracker 上传到的 storage ,不需要附加参数; tracker 返回一台可用的 storage ; client 直接和 storage 通讯完成文件上传。
FastDFS 基本流程 -GET client 询问 tracker 下载文件的 storage ,参数为文件标识(卷名和文件名) tracker 返回一台可用的 storage ; client 直接和 storage 通讯完成文件下载。
FastDFS 特点 异常的简单高效 对等结构 分组存取 Tracker  的责任很简单 只做调度,所以性能不是问题 文件不分 CHUNK 适合于大量小文件存取 同一组内的服务器的文件完全相同的 组之间没有运行中的动态负载均衡 文件名是 FastDFS 指定而非 Client 指定 对 ClientApplication 要求较高,限制了使用场景
DFS  设计考虑因素 Tradeoff … Tradeoff 高吞吐 、  IOPS 海量 、 大文件 可靠性,可用性 易于开发,易于管理,成本 我的 File 的类型大小,访问模式 我对共享访问的需求 特别是一致性 我对并行访问的需求
我的性能瓶颈在哪里 存储介质 读写流程 存储路径 Cache
DFS 的一些因素的分析 1 st  –  我真的需要吗? POSIX Interface Access mode support RAID / Chunk Replication / File Replication NameSpace Management Metadata Management Out-band mode Cache Access Interface MetaServer topo Single / Active Standby / Peer / Hash or ……
Reference & Thanks wikipedia  gfs-sosp2003.pdf http://www.danga.com/mogilefs/ FastDFS –  余庆
Q & A msn: pengning_cn #AT# hotmail.com 谢谢大家!

More Related Content

What's hot (20)

How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environment
Anna Yen
?
搁别诲颈蝉介绍
搁别诲颈蝉介绍搁别诲颈蝉介绍
搁别诲颈蝉介绍
zhaolinjnu
?
Hdfs
HdfsHdfs
Hdfs
baggioss
?
Hdfs
HdfsHdfs
Hdfs
baggioss
?
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
Wensong Zhang
?
“云存储系统”赏析系列分享叁:厂辩濒与苍辞蝉辩濒
“云存储系统”赏析系列分享叁:厂辩濒与苍辞蝉辩濒“云存储系统”赏析系列分享叁:厂辩濒与苍辞蝉辩濒
“云存储系统”赏析系列分享叁:厂辩濒与苍辞蝉辩濒
knuthocean
?
大规模数据处理
大规模数据处理大规模数据处理
大规模数据处理
Kay Yan
?
Life of Big Data Technologies
Life of Big Data TechnologiesLife of Big Data Technologies
Life of Big Data Technologies
Jazz Yao-Tsung Wang
?
Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬
Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬
Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬
Hang Geng
?
Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDB
Monster Supreme
?
Ted yu:h base and hoya
Ted yu:h base and hoyaTed yu:h base and hoya
Ted yu:h base and hoya
hdhappy001
?
Hadoop hive
Hadoop hiveHadoop hive
Hadoop hive
Wei-Yu Chen
?
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
Chao Zhu
?
狈辞厂蚕尝误用和常见陷阱分析
狈辞厂蚕尝误用和常见陷阱分析狈辞厂蚕尝误用和常见陷阱分析
狈辞厂蚕尝误用和常见陷阱分析
iammutex
?
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Etu Solution
?
2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security
Jazz Yao-Tsung Wang
?
Stroage server slidershare
Stroage server slidershareStroage server slidershare
Stroage server slidershare
Jon Chen
?
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
Alluxio, Inc.
?
How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environment
Anna Yen
?
搁别诲颈蝉介绍
搁别诲颈蝉介绍搁别诲颈蝉介绍
搁别诲颈蝉介绍
zhaolinjnu
?
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
Wensong Zhang
?
“云存储系统”赏析系列分享叁:厂辩濒与苍辞蝉辩濒
“云存储系统”赏析系列分享叁:厂辩濒与苍辞蝉辩濒“云存储系统”赏析系列分享叁:厂辩濒与苍辞蝉辩濒
“云存储系统”赏析系列分享叁:厂辩濒与苍辞蝉辩濒
knuthocean
?
大规模数据处理
大规模数据处理大规模数据处理
大规模数据处理
Kay Yan
?
Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬
Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬
Ceph中国社区9.19 Ceph FS-基于RADOS的高性能分布式文件系统02-袁冬
Hang Geng
?
Big Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDBBig Data, NoSQL, and MongoDB
Big Data, NoSQL, and MongoDB
Monster Supreme
?
Ted yu:h base and hoya
Ted yu:h base and hoyaTed yu:h base and hoya
Ted yu:h base and hoya
hdhappy001
?
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
Chao Zhu
?
狈辞厂蚕尝误用和常见陷阱分析
狈辞厂蚕尝误用和常见陷阱分析狈辞厂蚕尝误用和常见陷阱分析
狈辞厂蚕尝误用和常见陷阱分析
iammutex
?
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Etu Solution
?
2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security
Jazz Yao-Tsung Wang
?
Stroage server slidershare
Stroage server slidershareStroage server slidershare
Stroage server slidershare
Jon Chen
?
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
Alluxio, Inc.
?

Viewers also liked (8)

Amazon S3 and EC2
Amazon S3 and EC2Amazon S3 and EC2
Amazon S3 and EC2
george.james
?
Amazon Ec2 Application Design
Amazon Ec2 Application DesignAmazon Ec2 Application Design
Amazon Ec2 Application Design
guestd0b61e
?
S3 Overview Presentation
S3 Overview PresentationS3 Overview Presentation
S3 Overview Presentation
bcburchn
?
Amazon's Simple Storage Service (S3)
Amazon's Simple Storage Service (S3)Amazon's Simple Storage Service (S3)
Amazon's Simple Storage Service (S3)
James Gray
?
Intro to Amazon S3
Intro to Amazon S3Intro to Amazon S3
Intro to Amazon S3
Yu Lun Teo
?
Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3
Amazon Web Services Japan
?
What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?
Amazon Web Services
?
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
Amazon Web Services
?
Amazon Ec2 Application Design
Amazon Ec2 Application DesignAmazon Ec2 Application Design
Amazon Ec2 Application Design
guestd0b61e
?
S3 Overview Presentation
S3 Overview PresentationS3 Overview Presentation
S3 Overview Presentation
bcburchn
?
Amazon's Simple Storage Service (S3)
Amazon's Simple Storage Service (S3)Amazon's Simple Storage Service (S3)
Amazon's Simple Storage Service (S3)
James Gray
?
Intro to Amazon S3
Intro to Amazon S3Intro to Amazon S3
Intro to Amazon S3
Yu Lun Teo
?
What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?
Amazon Web Services
?
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
Amazon Web Services
?

Similar to Dfs ning (20)

Fdfs for cnblogs 1th
Fdfs for cnblogs 1thFdfs for cnblogs 1th
Fdfs for cnblogs 1th
kevin zhang
?
百度分布式数据库平台
百度分布式数据库平台百度分布式数据库平台
百度分布式数据库平台
Wyatt Fang
?
百度分布式数据库 刘斌 Sacc2010
百度分布式数据库 刘斌 Sacc2010百度分布式数据库 刘斌 Sacc2010
百度分布式数据库 刘斌 Sacc2010
Chuanying Du
?
淘宝商品库惭测厂蚕尝优化实践
淘宝商品库惭测厂蚕尝优化实践淘宝商品库惭测厂蚕尝优化实践
淘宝商品库惭测厂蚕尝优化实践
Feng Yu
?
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
zhuozhe
?
网站存储经验谈辫诲蹿
网站存储经验谈辫诲蹿网站存储经验谈辫诲蹿
网站存储经验谈辫诲蹿
Yu Lin
?
网站存储经验谈-辫诲蹿
网站存储经验谈-辫诲蹿网站存储经验谈-辫诲蹿
网站存储经验谈-辫诲蹿
Yu Lin
?
罢厂惭6培训教程
罢厂惭6培训教程罢厂惭6培训教程
罢厂惭6培训教程
acqua young
?
华为软件定义存储架构分析
华为软件定义存储架构分析华为软件定义存储架构分析
华为软件定义存储架构分析
Liang Ming
?
应用颁别辫丑技术打造软体定义储存新局
应用颁别辫丑技术打造软体定义储存新局应用颁别辫丑技术打造软体定义储存新局
应用颁别辫丑技术打造软体定义储存新局
Alex Lau
?
Altibase管理培训 管理篇
Altibase管理培训 管理篇Altibase管理培训 管理篇
Altibase管理培训 管理篇
小新 制造
?
2018 普安 EonStor GSe Pro 产物线介绍 (簡中版)
2018 普安 EonStor GSe Pro 产物线介绍 (簡中版)2018 普安 EonStor GSe Pro 产物线介绍 (簡中版)
2018 普安 EonStor GSe Pro 产物线介绍 (簡中版)
infortrendgroup
?
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多
ITband
?
储存叁二话
储存叁二话储存叁二话
储存叁二话
JacksonWang59
?
碍补蹿办补介绍
碍补蹿办补介绍碍补蹿办补介绍
碍补蹿办补介绍
lurga
?
glusterfs 文件系统
glusterfs 文件系统glusterfs 文件系统
glusterfs 文件系统
LI Daobing
?
础濒颈产补产补数据库运维最佳实践
础濒颈产补产补数据库运维最佳实践础濒颈产补产补数据库运维最佳实践
础濒颈产补产补数据库运维最佳实践
freezr
?
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
涛 吴
?
搁别诲颈蝉分享
搁别诲颈蝉分享搁别诲颈蝉分享
搁别诲颈蝉分享
yiihsia
?
Fdfs for cnblogs 1th
Fdfs for cnblogs 1thFdfs for cnblogs 1th
Fdfs for cnblogs 1th
kevin zhang
?
百度分布式数据库平台
百度分布式数据库平台百度分布式数据库平台
百度分布式数据库平台
Wyatt Fang
?
百度分布式数据库 刘斌 Sacc2010
百度分布式数据库 刘斌 Sacc2010百度分布式数据库 刘斌 Sacc2010
百度分布式数据库 刘斌 Sacc2010
Chuanying Du
?
淘宝商品库惭测厂蚕尝优化实践
淘宝商品库惭测厂蚕尝优化实践淘宝商品库惭测厂蚕尝优化实践
淘宝商品库惭测厂蚕尝优化实践
Feng Yu
?
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
zhuozhe
?
网站存储经验谈辫诲蹿
网站存储经验谈辫诲蹿网站存储经验谈辫诲蹿
网站存储经验谈辫诲蹿
Yu Lin
?
网站存储经验谈-辫诲蹿
网站存储经验谈-辫诲蹿网站存储经验谈-辫诲蹿
网站存储经验谈-辫诲蹿
Yu Lin
?
罢厂惭6培训教程
罢厂惭6培训教程罢厂惭6培训教程
罢厂惭6培训教程
acqua young
?
华为软件定义存储架构分析
华为软件定义存储架构分析华为软件定义存储架构分析
华为软件定义存储架构分析
Liang Ming
?
应用颁别辫丑技术打造软体定义储存新局
应用颁别辫丑技术打造软体定义储存新局应用颁别辫丑技术打造软体定义储存新局
应用颁别辫丑技术打造软体定义储存新局
Alex Lau
?
Altibase管理培训 管理篇
Altibase管理培训 管理篇Altibase管理培训 管理篇
Altibase管理培训 管理篇
小新 制造
?
2018 普安 EonStor GSe Pro 产物线介绍 (簡中版)
2018 普安 EonStor GSe Pro 产物线介绍 (簡中版)2018 普安 EonStor GSe Pro 产物线介绍 (簡中版)
2018 普安 EonStor GSe Pro 产物线介绍 (簡中版)
infortrendgroup
?
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多
ITband
?
碍补蹿办补介绍
碍补蹿办补介绍碍补蹿办补介绍
碍补蹿办补介绍
lurga
?
glusterfs 文件系统
glusterfs 文件系统glusterfs 文件系统
glusterfs 文件系统
LI Daobing
?
础濒颈产补产补数据库运维最佳实践
础濒颈产补产补数据库运维最佳实践础濒颈产补产补数据库运维最佳实践
础濒颈产补产补数据库运维最佳实践
freezr
?
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
涛 吴
?
搁别诲颈蝉分享
搁别诲颈蝉分享搁别诲颈蝉分享
搁别诲颈蝉分享
yiihsia
?

More from Andy Shi (6)

惭测蝉辩濒若干参数
惭测蝉辩濒若干参数惭测蝉辩濒若干参数
惭测蝉辩濒若干参数
Andy Shi
?
骋辞语言飞别产开发
骋辞语言飞别产开发骋辞语言飞别产开发
骋辞语言飞别产开发
Andy Shi
?
移动互联网2010
移动互联网2010移动互联网2010
移动互联网2010
Andy Shi
?
骋辞集成肠&补尘辫;肠++代码
骋辞集成肠&补尘辫;肠++代码骋辞集成肠&补尘辫;肠++代码
骋辞集成肠&补尘辫;肠++代码
Andy Shi
?
惭测蝉辩濒若干参数
惭测蝉辩濒若干参数惭测蝉辩濒若干参数
惭测蝉辩濒若干参数
Andy Shi
?
骋辞语言飞别产开发
骋辞语言飞别产开发骋辞语言飞别产开发
骋辞语言飞别产开发
Andy Shi
?
移动互联网2010
移动互联网2010移动互联网2010
移动互联网2010
Andy Shi
?
骋辞集成肠&补尘辫;肠++代码
骋辞集成肠&补尘辫;肠++代码骋辞集成肠&补尘辫;肠++代码
骋辞集成肠&补尘辫;肠++代码
Andy Shi
?

Dfs ning

  • 2. 定义 A file system (often also written as filesystem ) is a method of storing and organizing computer files and their data. Essentially, it organizes these files into a database for the storage, organization, manipulation, and retrieval by the computer's operating system.
  • 3. Challenge NTFS / EXT3 等工作得很好 NFS 在很多场合也还不错 但是…
  • 4. Challenge 更高的容量 大容量媒体文件 - PB 海量的文件 – Trillion
  • 7. Challange 稳定可靠 磁盘损坏 部件失效:主机,接口,控制器,电源,网络 ...
  • 8. How to scale 本来应该说是 Scale Your Storage 这个 topic 太大 涉及到应用,硬件,网络 先简单的谈分布式文件系统 谈点穷人的方案
  • 9. 看看我们有的文件系统 太多了…看分类吧 Disk file systems –ext3/ntfs/zfs/wafl ( 大部分我们熟悉的 ) File systems with built in fault-tolerance-zfs/brfs File systems optimized for flash memory, solid state media Record-oriented file systems Shared disk file systems Distributed file systems Distributed fault-tolerant file systems Distributed parallel file systems Distributed parallel fault-tolerant file systems GoogleFilesystem/CloudStore/Lustre/HDFS Peer-to-peer file systems Special purpose file systems Pseudo- and virtual file systems Encrypted file systems
  • 10. Google File system Like Google File system KFS HDFS Why like? Master – chunk 架构 POSIX Like Interface 设计目标一致
  • 11. GFS Goal 最开始是为爬虫等应用设计的 The system is built from many inexpensive commodity components that often fail. The system stores a modest number of large Files. large streaming reads and small random reads The workloads also have many large, sequential writes that append data to Files High sustained bandwidth is more important than low latency
  • 13. GFS Architecture 文件分块 大小 64MB 为什么是这个大小? Master 管理元数据 Namespace File Attributes Chunks , and location Single Master ? Yes Simple
  • 14. Master 设计 都放在内存里 64MB Chunk -> 64 bytes Log & Check Point
  • 15. 一致性 Master 控制的部分是一致的 创建删除文件等 串行写 - 一致已定义 并行写 – 一致未定义
  • 17. GFS 限制 显而易见的单点故障点和性能瓶颈 从几百 TB 到几十 PB 更多的 metadata 更大的容量 更多的 housekeeping 工作耗时 客户端并发的限制 解决 Multi-cell / Pratition Namespace 层面解决问题
  • 18. MogileFS Application level No single point of failure Automatic file replication "Better than RAID" Flat Namespace Shared-Nothing / No RAID required Local filesystem agnostic
  • 19. MogileFS Overview Application Tracker ? DB Metadata & location Need HA Storage ? Nodes NFS or HTTP transport
  • 21. MogileFS 特点 和 Google FS like 的相似 Metadata 信息 不同 Chunk replication vs file Replication 限制 DB 是主要的瓶颈
  • 22. FastDFS FastDFS 是一个轻量级的开源分布式文件系统 FastDFS 主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡 FastDFS 实现了软件方式的 RAID ,可以使用廉价的 IDE 硬盘进行存储 支持存储服务器在线扩容 支持相同内容的文件只保存一份,节约磁盘空间 FastDFS 只能通过 Client API 访问,不支持 POSIX 访问方式 FastDFS 特别适合大中型网站使用,用来存储资源文件(如:图片、文档、音频、视频等等)
  • 24. FastDFS 构成 Tracker Server 主要做调度工作,在访问上起负载均衡的作用。记录 storage server 的状态,是连接 Client 和 Storage server 的枢纽。 Storage Server 存储服务器,文件物理内容和 meta data 都保存到存储服务器上 Storage Server 构成不同的组 ( 卷 /Volume) 同组的 Storage Server 的文件是相同的
  • 25. FastDFS 基本流程 -PUT client 询问 tracker 上传到的 storage ,不需要附加参数; tracker 返回一台可用的 storage ; client 直接和 storage 通讯完成文件上传。
  • 26. FastDFS 基本流程 -GET client 询问 tracker 下载文件的 storage ,参数为文件标识(卷名和文件名) tracker 返回一台可用的 storage ; client 直接和 storage 通讯完成文件下载。
  • 27. FastDFS 特点 异常的简单高效 对等结构 分组存取 Tracker 的责任很简单 只做调度,所以性能不是问题 文件不分 CHUNK 适合于大量小文件存取 同一组内的服务器的文件完全相同的 组之间没有运行中的动态负载均衡 文件名是 FastDFS 指定而非 Client 指定 对 ClientApplication 要求较高,限制了使用场景
  • 28. DFS 设计考虑因素 Tradeoff … Tradeoff 高吞吐 、 IOPS 海量 、 大文件 可靠性,可用性 易于开发,易于管理,成本 我的 File 的类型大小,访问模式 我对共享访问的需求 特别是一致性 我对并行访问的需求
  • 30. DFS 的一些因素的分析 1 st – 我真的需要吗? POSIX Interface Access mode support RAID / Chunk Replication / File Replication NameSpace Management Metadata Management Out-band mode Cache Access Interface MetaServer topo Single / Active Standby / Peer / Hash or ……
  • 31. Reference & Thanks wikipedia gfs-sosp2003.pdf http://www.danga.com/mogilefs/ FastDFS – 余庆
  • 32. Q & A msn: pengning_cn #AT# hotmail.com 谢谢大家!

Editor's Notes

  • #2: 测试一下双屏浏览 - 在连接了外部显示器或者投影仪的情况下,点击“ 2” 号屏幕,并按照图中高亮标注处选中“将 windows 桌面扩展到该显示器”同时设置适当的分辨率。? 在图中高亮的部分选中“显示演讲者视图” 自我介绍一下
  • #4: 淘宝 - 百亿级别文件, 600TB Facebook – 2008 65 亿图片,每张图片 4-5 个文件 每周一亿的上传, Stored on netapp filers
  • #5: 本地文件系统收到容量的限制,硬件的限制,文件系统设计的限制 某些文件系统可以动态扩容 一般的文件系统既不是为大媒体文件优化,也不是为海量小文件优化
  • #6: 特别对于一些 IO 密集型领域: DB / Streaming / 监控 / some Internet service
  • #7: 什么都很贵, SAN / NAS / SAS 硬盘
  • #8: 磁盘损坏率,不要相信 MTBF ,算出来经常是 AFR 1% 不到 实际是 3%-15%
  • #10: SSD - 嵌入式系统 , 写入优化 Record – 是记录方式的,区别于大部分文件系统的 Shard-disk SAN- Redhat GFS 等 DFS - SMB is also known as Common Internet File System (CIFS) DFS-FT MS DFS / DFS-Parallel 没啥好说的,还有下面 DFS-Parallel-FT GoogleFilesystem / CloudStore / Lustre [Laster]
  • #11: 什么是 Posix like ?
  • #12: 核心要素: 便宜 ( 意味着性能一般,容易坏 ) 大文件,顺序读写 高 throughput vs low latency
  • #17: 客户请求 Master 2. Master 返回主块 ( 带有租约 ) 3. Client 推送数据 4. Client 发送写请求 主块分配序号 5. 要求其第二副本块按照同样的顺序写 6. 第二副本块回复写操作 7. 主块回复客户机,包括第二副本的错误都会返回给客户机
  • #21: From LiveJournal
  • #31: Namespace 的查找是一个消耗很大的操作 , NFS 文件句柄缓存 NFS 文件句柄缓存 Facebook have extended the Linux kernel to allow NFS file opens via inode number rather than filename to avoid the NetApp scaling issue. Namespace 可以扁平化