淘宝tfs工作汇报.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
增加服务器节点后进行TFS稳定性、扩展性及备份复制、热插拔测试 参考文档 配置:安装见:by_zy.客户端代码见tfs Tfs: 一、tfs的工作原理 1.原理: 客户端首先向nameserver发起写请求,nameserver需要根据dataserver上的可写块,容量和负载加权平均来选择一个可写的block。并且在该block所在的多个dataserver中选择一个作为写入的master,这个选择过程也需要根据dataserver的负载以及当前作为master的次数来计算,使得每个dataserver作为master的机会均等。 TFS集群支持异地机房容灾,一个逻辑集群包含分布在多个机房的物理集群,其中一个物理集群是主,其他的物理集群是备。客户端写数据时会先写到主集群,主集群的Dataserver异步将数据同步到多个备集群; 2.Ds与ns的作用: NameServer主要功能是: 管理维护Block和DataServer相关信息,包括DataServer加入,退出, 心跳信息, block和DataServer的对应关系建立,解除。正常情况下,一个块会在DataServer上存在, 主NameServer负责Block的创建,删除,复制,均衡,整理, NameServer不负责实际数据的读写,实际数据的读写由DataServer完成。 DataServer主要功能是: 负责实际数据的存储和读写。 同时为了考虑容灾,NameServer采用了HA结构,即两台机器互为热备,同时运行,一台为主,一台为备,主机绑定到对外vip,提供服务;当主机器 宕机后,迅速将vip绑定至备份NameServer,将其切换为主机,对外提供服务。图中的HeartAgent就完成了此功能。 3.ds的存储与扩展: 每一个Block在整个集群内拥有唯一的编号,这个编号是由NameServer进行分配的,而DataServer上实际存储了该Block。 在!NameServer节点中存储了所有的Block的信息,一个Block存储于多个!DataServer中以保证数据的冗余。 一个主Physical Block文件,N个扩展Physical Block文件和一个与该Block对应的索引文件。 扩展方面:每个ds获得master的机会均等。TFS是把大量小文件放在一个block里面,block存多份保证数据安全 4.容灾与数据同步和备份: 原理:主集群的Dataserver异步将数据同步到多个备集群,客户端在读取数据时,会选择离自己最近的物理集群读取数据,如果读不到数据,就重试逻辑集群里的其他物理集群。 当主NS挂掉时,NS服务会通过HA切换到备NS,备NS只包含各个DS刚启动时的block信息,而随着系统的运行,各个DS都相应发生了block创建、删除、复制、迁移等操作,也就是说,备NS上的block信息是过期的、不完整的。 通过将主NS的block创建等操作同步到备NS,备NS的block信息就基本接近主NS(可能有些操作未来得及同步),备NS接管后,能立即正常服务。 当有DS挂掉时,该DS上的block都会丢失,导致这些block的副本数下降,如果不及时增加副本,则再出现其他DS故障时,可能导致某些block永久丢失; 复制任务及时发现这些副本数少于配置值的block,将其复制到合适的DS,保证数据的可靠性。 所以无法兼得尽快与尽量。保证文件在多个集群中保持一致的状态。 解决方案:(确保所有问津啊尽可能备份到背集群,尽可能快于一致) 1为每个集群单独维护一份同步日志,避免多个备集群上的同步相互影响。如果某个文件同步失败,为了让其后续写的文件同步不受影响,将同步失败的文件加入到错误队列,每隔一段时间重试一下错误队列里的文件,直到成功为止。 2每天夜间对整个集群会有一次定期的增量同步,以确保所有的文件都写到备集群。 复制,迁移,整理的过程是这样的: 发送命令给ds Ds进行相应的操作(复制,移动,或是整理) Ds发送完成消息给主Ns 主Ns更新关系元数据,并回复确认消息给Ds 安装tfs 见文档与网页(注:要安装svn)。by_zy.doc tfs安装主要参考这两篇文档: /blog/1724423 svn安装参考这篇文档: /Linux/2012-12/75991.htm 一下注意点: ·虚拟机中没有Gcc,要yum安装Gcc ·yum update很长时间,要注意 ·/usr/bin/autoconf -V??要yum安装 ·升级autoconf (不升级也可以)、readline包系统自带了都最好是按照上面的顺序安装 ·svn checkout -r 15 /svn/

文档评论(0)

yurixiang1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档