TFS,taobao file system. 运行在廉价的PC服务器,架构在linux集群,存储非结构化数据的分布式文件系统。尤其用于存储海量小文件(<1M),目前也支持大文件的存储。

整体架构如下:

tfs简介_服务器


同时NAMESERVER还支持HA架构和平滑扩容,确保高可用性。

存储的数据都是文件,而文件在tfs的表示:

tfs简介_system_02

TFS的文件名由块号和文件号通过某种对应关系组成,最大长度为18字节<最新版本已经扩大了字节数>


本文主要想介绍的是tfs的编译运行。

编译:

官网有专门的一篇:快速使用tfs. 按照步骤,应该没有什么问题

配置:

首先关于配置:每个server都有自己的配置文件,这里主要讲ns.conf和ds.conf。这里有份参考文档:http://down.51cto.com/data/656672,里面有讲配置的注意要点

运行:

nameserver :     

     启动和关闭:./tfs start_ns     ./tfs stop_ns

dataserver :       

     先   ./stfs clean 1-4        ./stfs format 1-4

     启动和关闭:./tfs start_ds 1-4            ./tfs stop_ds 1-4

     通过ps可查看DS是否正常启动, 也可进入logs目录,查看dataserver_i.log(i用相应的序号代替),如果包含“dataservice start”,则说明DS启动正常。

客户端:

     # ./bin/tfstool -s 10.232.36.201:8100 -i "put testfile"

     将本地testfile存入tfs, -s 指定nameserver的ip:port。 如果成功,会打印 put testfile => T1QEBXXDpXXXXXXXXX success. 类似的消息,其中T开头一串字符是TFS为这个文件生成的文件名,一共18个字符;要想从TFS取出该文件时,需要指定该文件名。

     # ./bin/tfstool -s 10.232.36.201:8100 -i "get T1QEBXXDpXXXXXXXXX localfile"

     从TFS读取T1QEBXXDpXXXXXXXXX,存储到本地localfile中;如果成功,会打印fetch T1QEBXXDpXXXXXXXXX => localfile success

报错:

编译运行出现的常见错误要点:备份数、block数据、dataserver的磁盘使用量和实际磁盘容量等等

1、官网:http://code.taobao.org/p/tfs/wiki/faq/

2、配置的那份参考文档

3、http://blog.yunnotes.net/index.php/tfs_user_faq/


至于tfs的原理、运行输出的报错信息,待续。。。