tfs简单讲解
tfs的架构设计:
TFS(Taobao File System)是一个高可用、高性能、高可扩展的分布式文件系统,基于普通的Linux服务器构建,主要提供海量非结构化数据存储服务。TFS集群由名字服务器(namserver)和数据服务器(dataserver)组成,TFS以数据块(block)为单位存储和组织数据,block大小通常为64M(可配置),TFS会将多个小文件存储在同一个block中,并为block建立索引,以便快速在block中定位文件;每个block会存储多个副本到不同的机架上,以保证数据的高可靠性。
tfs的部署方式:
Nameserver服务部署时采用HA来避免单点故障,2台nameserver服务器共享一个vip。正常情况下,主nameserver持有vip提供服务,并将block修改信息同步至备,HA agent负责监控主备nameserver的状态,当其检测到主宕机时,HA agent将vip切换到备上,备就切换为主来接管服务,以保证服务的高可用。
Dataserver服务部署时通常会在一台机器上部署多个dataserver进程,每个进程管理一块磁盘,以便充分利用磁盘IO资源。Dataserver启动后,会向nameserver汇报其存储的所有block信息,并周期性的给nameserver发送心跳信息,nameserver则根据心跳来管理所有的dataserver,当names