TFS,taobao file system. 运行在廉价的PC服务器,架构在linux集群,存储非结构化数据的分布式文件系统。尤其用于存储海量小文件(<1M),目前也支持大文件的存储。
整体架构如下:
同时NAMESERVER还支持HA架构和平滑扩容,确保高可用性。
存储的数据都是文件,而文件在tfs的表示:
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的磁盘使用量和实际磁盘容量等等
2、配置的那份参考文档
至于tfs的原理、运行输出的报错信息,待续。。。