分布式文件系统-TFS1
需积分: 0 183 浏览量
更新于2022-08-08
收藏 1.03MB DOCX 举报
分布式文件系统-TFS1
分布式文件系统-TFS1 是淘宝自主研发的分布式文件系统,旨在满足淘宝对小文件存储的需求。TFS1 采用了高可用性集群架构和平滑扩容,保证了整个文件系统的可用性和扩展性。
TFS1 的架构设计时需要考虑两个问题:Metadata 信息存储和减少图片的 IO 次数。Metadata 信息存储需要解决每个文件的元数据存储问题,而减少图片的 IO 次数需要解决普通 Linux 文件系统中读取文件需要三次磁盘IO 的问题。
TFS1 的架构设计思路是:多个逻辑图片文件共享一个物理文件。TFS1 的总体结构由两个 NameServer 节点(一主一备)和多个 DataServer 节点组成。NameServer 节点负责管理维护 Block 和 DataServer 相关信息,包括 DataServer 加入、退出,心跳信息,Block 和 DataServer 的对应关系建立、解除。DataServer 节点负责实际数据的存储和读写。
TFS1 的文件组织结构为扁平化的数据组织结构,将文件名映射到文件的物理地址,简化了文件的访问流程。每个小文件用 64 位的编号表示,TFS1 将大量的小文件合并成一个大文件,大文件称为 Block,每个 Block 拥有在集群内唯一的编号(块 ID),通过<块 ID,文件编号>可以唯一确定一个文件。
TFS1 的写流程比 GFS 简单有效,这是因为 TFS1 的设计是根据自己业务需求不断改进得到的。TFS1 不支持类似 GFS 多客户端并发追加操作,同一时刻每个 block 只允许一个客户端追加写入。
TFS1 的读写性能优化策略包括:将文件名映射到文件的物理地址,简化了文件的访问流程;使用缓存机制,缓存 NameServer 的元数据,客户端不缓存文件数据;使用心跳机制实现故障检测,NameServer 采用了 HA 结构,即两台机器互为热备,同时运行,一台为主,一台为备,主机绑定到对外 vip(Virtual IP),提供服务。
TFS1 的优点包括:高可用性、扩展性强、读写性能优异、能够满足淘宝对小文件存储的需求。TFS1 广泛地应用在淘宝各项应用中,为淘宝提供了高效的文件存储服务。