上一页 1 2 3 4 5 6 7 8 ··· 26 下一页
摘要: TFS数据服务器的block是在DS第一次启动前格式化的,所有block的空间是预先分配好的,而物理块对应的index文件,则是block被分配使用时创建的。Index文件的大小是根据block中文件数目增加而增长的,为了提高性能,将整个index文件都mmap到内存直接访问。 在初次mmap index文件时,会计算block中预期的文件数,计算出index文件的理论大小index_s... 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(605) 评论(0) 推荐(0)
摘要: TFS目前使用扩展块来解决文件写、更新问题。扩展块的数量由磁盘可用空间、主块大小、扩展块大小、Dataserver(DS)配置项block_ratio决定。TFS主块和扩展块的数量在文件系统格式化的时候就已经确定,并且预先分配了所有块的存储空间。DS周期性的汇报存储空间使用率给Namserver,DS根据主块和扩展块使用率中的较大值做为DS储存空间的使用率。 扩展块使用率引发的问题 ... 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(337) 评论(0) 推荐(0)
摘要: 在早期,应用要使用TFS,需要知道TFS名字服务器的地址才能访问TFS,然后调用读写接口存取文件,当应用比较少时,这种方式不会引发什么问题,但目前在淘宝内部,有200多个应用使用TFS做为后端的存储系统,必须要对应用的存储资源进行统一的管理与运维。 TFS做为一个应用存储平台,缺乏统一管理至少存在如下问题: 多集群管理:多集群访问控制、切换、容灾等。 访问控制:应用只要... 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(382) 评论(0) 推荐(0)
摘要: 集群数据对比功能的添加对TFS DS做了修改,在把DS上到日常测试环境前对其进行了一次回归测试,测试用例都通过,但checkserver检查到有大量block未同步到辅集群,查看dataserver的日志发现同步队列已经阻塞住了,一直重复retry。 主备集群的数据同步是由主集群的DS在后台进行,其将成功的写、删等操作记录在本地日志,并启动后台线程将日志重放到备集群,DS没重放一条日志,如果失败... 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(536) 评论(0) 推荐(0)
摘要: TFS没有采用目前流行的3副本策略,而是使用集群内配置2个副本,并把数据同步到一个辅集群,辅集群同样配置2个副本;这种方式对于实现异地机房容灾很方便,辅集群的数据同步是由主集群的数据服务器在后台发起的;目前主集群可读写,辅集群只读,双集群同时读写功能已开发完成,但没有在线上使用。 由于数据同步到辅集群是异步操作,当某次读文件的操作落到辅集群上时,可能该文件的同步尚未完成,此时在辅集群上读不到数据... 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(406) 评论(0) 推荐(0)
摘要: WeiboFS是基于新浪微博的文件系统,它将新浪微博虚拟成一个linux本地文件系统,用户像使用文件系统一样来看微博,发微博。 WeiboFS的开发需要用到FUSE, fusepy, sinatpy2.x FUSE是指用户空间文件系统,通过FUSE,开发人员通过实现一组用户空间的接口即可实现一个文件系统。 fusepy是FUSE的python-binding工具,通过fusepy,开发人员可以... 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(289) 评论(0) 推荐(0)
摘要: 马上要做毕业论文的测试,需要自己写测试程序、生成数据、作图,最简单的方式莫过于使用excel根据数据生成图标,这就需要在linux下通过C/C++写excel文件,使其能被ms excel打开,本文总结了三种方式。 普通文本,以\t分隔列 建立文本文件如下,在同一行的数据以tab(\t)进行分隔,使用excel打开。 a b c d e f a b c d e f ... 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(2360) 评论(0) 推荐(0)
摘要: core文件对问题查找非常有帮助,大部分时候我们能根据core文件直接定位到问题,但当出现内存乱掉的情况时,core的backtrace可能也不能指出问题源头。最近线上问题较多,针对dataserver出现的问题做个总结:1. 如果在read/write时coredump,则多是因为磁盘故障(或是文件系统崩溃),IO的一些严重问题可通过dmesg查看,如果出现Medium Error,EXT4-fs error(device sdx), Device offlined, I/O error, rejecting I/O to dead device之类的关键字,就说明磁盘已经出问题了,如果是文 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(620) 评论(0) 推荐(0)
摘要: 分布式文件系统主要用于解决海量数据存储的问题,如Goolge、Facebook等大型互联网企业都使用分布式文件系统作为数据存储的基础设施,并在其上构建很多服务,分布式文件系统通常采用三副本的策略来保证数据的可靠性,但随着应用数据量的不断膨胀,三副本策略为可靠性牺牲的存储空间也越来越大,如何在不降低数据可靠性的基础上,进一步降低存储空间成本? Facebook将erasure code应用到内部HDFS集群中,该方案使用erasure code代替传统的三副本策略,在保持集群可用性不变的情况下,节省了数PB的存储空间,Facebook的实现方案(HDFS RAID)目前已贡献给开源社区。Eras 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(509) 评论(0) 推荐(0)
摘要: Nameserver(NS)是TFS的总控节,NS的主要职责包括为写分配block、为读查找block、管理block与dataserver对应关系、管理dataserver、备NS状态,执行后台复制、均衡、压缩任务,以保证整个集群良好的工作。Block分配NS接收到客户端的写请求,会分配一个可写的block,如果没有可写block,则会创建一个新的block,每个block由一个id标识(uint32_t,后续会将该值提升至uint64_t),blockid不能重复,且不复用,新创建的block,在当前id的基础上递增,产生新的blockid。为了保证产生不重复的blockid,必须将blo 阅读全文
posted @ 2013-04-19 14:13 ydzhang 阅读(623) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 26 下一页