TFS原理架构与应用案例

+6

No comments posted yet

Comments

yqm1992 (1 year ago)

呵呵

Slide 1

大家可以根据自己的需求选择PPT的版式 换版式: 选中某张PPT,右键版式(选择即可)

Slide 10

这个图回头再改改,加上TFS

Slide 17

元数据全放在内存,大约多少G

Slide 1

核心系统存储组-楚玉 TFS原理架构与应用案例

Slide 2

课程大纲 发展方向是什么

Slide 3

认识一下TFS 开始了,先说说——

Slide 4

认识一下TFS 淘宝分布式文件系统

Slide 5

TFS用在哪里了 那么,再说说——

Slide 6

TFS用在哪里了 情景1 小文件存储 —图片空间 http://tu.taobao.com

Slide 7

TFS用在哪里了 情景1 小文件存储 – 图片空间 http://img02.taobaocdn.com/imgextra/i2/770455225/T2DOSEXexXXXXXXXXX_!!770455225.jpg_310x310.jpg

Slide 8

TFS用在哪里了 情景1 小文件存储 – 图片空间 TFS集群 imageserver Cdn节点 Cdn节点 Cdn节点 storage webserver cdn

Slide 9

TFS用在哪里了 情景2 大文件存储 – 淘花 http://video.taobao.com/

Slide 10

TFS用在哪里了 情景2 大文件存储 – 淘花 分段读取 大文件pread功能 + cdn缓存 付费鉴权 鉴权服务器 + cdn联动

Slide 11

TFS用在哪里了 情景3 自定义文件名存储 –topats

Slide 12

TFS干什么 情景3 自定义文件名存储 –topats 支付宝对账单 任务id对应一个自定义文件夹 文件按文件夹进行管理 taskid TFS FILE TFS FILE TFS FILE Dir name

Slide 13

TFS用在哪里了 小文件存储(2M以下) 大文件存储(2M以上) 自定义文件名 新的需求? 小总结

Slide 14

内部怎么实现的 看到了,想了解——

Slide 15

内部怎么实现的 TFS 1.0

Slide 16

内部怎么实现的 Application/Client block id, file id allocate control message heartbeat message dataserver id (block id, file id) Local disk 扁平化结构设计 TFS 1.0

Slide 17

内部怎么实现的 DataServer管理 写文件块的分配 元数据的管理 数据备份监控,数据分布和负载均衡 操作日志管理和同步 17/26 NameServer

Slide 18

内部怎么实现的 块信息存储、管理 -预分配块数据文件 -主块 + 扩展块模式 文件定位 复制、整理数据文件 18/26 DataServer

Slide 19

内部怎么实现的 基本操作 — 写 NAMESERVER CLIENT 1. 请求写文件 2. 返回可写 block_id分配lease 3. 选取master server 写数据 4. 写本地数据 数据写入 硬盘,返回 4.推送 7. 返回客户端写结果 5. 提交写请求 6.版本确认, 写操作完成 数据写入 硬盘,返回 4.推送

Slide 20

内部怎么实现的 NameServer Client 1. 请求读文件 2. 找出文件所属dataeserver 3. 向dataserver发起读请求 4: 返回所读取的数据 基本操作—读

Slide 21

内部怎么实现的 21/26

Slide 22

内部怎么实现的 TFS 1.3 Application/Client TFS T1 cluster Resource Center TFS T2 cluster Nameserver Addr query report data

Slide 23

内部怎么实现的 23/26 Resource Center 应用管理 集群访问权限 配额 访问统计 集群管理 扩容(新增集群) 应用访问物理集群透明化 实现就近访问

Slide 24

内部怎么实现的 24/26

Slide 25

内部怎么实现的 TFS 2.0 Application/Client TFS T1 cluster Resource Center TFS T2 cluster report data MetaServer dir/filename RootServer MetaServer hash table Storage

Slide 26

内部怎么实现的 26/26 管理MetaServer 加入/退出 迁移服务 分配MetaServer的服务对象 一致性哈希 RootServer

Slide 27

内部怎么实现的 27/26 提供目录和自定义文件名服务 目录:create/ls/mv/rm 文件:create/ls/mv/rm/read/write/save/fetch(支持追加写) 作为后端数据库存储的缓存 使用LRU算法 MetaServer

Slide 28

内部怎么实现的 可扩展性 集群内平滑扩容:机器动态上下线 新增集群 可靠性 服务器 NameServer:主备 + HA ResourceCenter:目前单点,以后考虑使用集群 + LVS RootServer:主备 + HA 数据安全 数据多副本 多机房数据镜像(集群间同步)、异地容灾 28 可扩展性&可靠性

Slide 29

内部怎么实现的 29/26 平滑灵敏的负载策略 读写流量负载均衡 复制、整理策略(源/目的DataServer选择) 实时动态反馈参数加权平均 机房间的负载均衡(就近原则) 块分布(容量)策略 根据磁盘容量进行分布 DataServer主机间的均衡 负载均衡

Slide 30

内部怎么实现的 小总结

Slide 31

内部怎么实现的 关于性能 单台DataServer TPS 800以上 (20K文件) 读请求响应 < 10ms 写请求响应 < 10ms

Slide 32

发展方向是什么 知道TFS怎么实现的了,最后——

Slide 33

发展方向是什么 降低成本 你的需求 优化性能

Slide 34

总结 J三种特性 J三种功能 J三个架构 J三个方向 存储 发展方向是什么

Slide 35

谢 谢 !

URL: