TFS多机房容灾策略

TFS集群支持异地机房容灾,一个逻辑集群包含分布在多个机房的物理集群,其中一个是主集群,其他的是备份集群。客户端写文件时,都会写到主集群,主集群的Dataserver(DS)异步将数据同步到多个备集群;客户端在读取数据时,会选择离自己最近的物理集群读取数据,如果读不到数据,就重试逻辑集群里的其他物理集群。

对集群同步的期望

1. 所有的文件都能被同步到备集群 
2. 文件尽快同步到备集群 
3. 文件尽量从DS本地同步到备集群 
4. 文件在多个集群中数据及状态保持一致 

同步实施方案

写文件时,DS会记录同步日志(binlog),并在后台不断重放binlog,将文件同步到备集群,binlog记录在DS本地系统盘。由于日志本身是不可靠的存储,可能出现同步日志丢失的情况,每天夜间对整个集群会有一次定期的增量同步,以确保所有的文件都写到备集群。

由于文件数据通常很大,所以不能像mysql那样,把数据都记录在binlog,tfs的binlog里只包含文件的blockid、fileid等信息。重放日志时,DS先尝试从本地读取文件,并写到备集群;block可能在同步前被迁移到其他DS上,故如果本地读取不到,需要通过网络尝试读取其他副本来同步数据。

当部署多个备份集群时,为了避免往多个备份集群的同步相互影响,TFS为每个备份集群单独维护一份binlog,针对每份binlog,启动一个后台线程来重放。对于binlog里同步失败的文件,为了避免影响到后续文件的同步,失败的文件会写入到一个失败队列(持久化),有专门的后台线程定期的重试同步失败队列里的文件直到成功,然后将其移出失败队列。

多机房部署

在主集群的所有DS上配置备份集群Nameserver(NS)的地址

# edit ns.conf in master cluster  
slave_nsip = slave_cluster_ns_ip_port(eg: 192.168.1.100:3100)  

如果备份集群在搭建主集群的时候就已经配置好,那么非常轻松,主备集群从零开始就一直保持数据一致;但实际上,很多是先部署了单个集群,运行了一段时间,才开始张罗容灾的事情,也就是说准备搭建备份集群的时候,主集群里已经写入了很多数据,此时就会相对麻烦一些。

1. 搭建好备份集群 
2. 在t1时间用ssm工具dump出所有block(可以过滤掉空的block) 
3. 将上述block,使用sync_by_block工具同步到备份集群 
4. 在t2时间,在主集群的DS上配置上备份集群的NS地址(需要重启DS), 从t2时间起写入主集群的数据都会被同步到备份集群 

此时,备份集群还比主集群还少t1-t2写入的文件数据,可采取以下方式来补偿:

1. 再次dump主集群上所有的block,采用sync_by_block同步到备份集群。 
或者 2. 从日志里找出t1-t2时间段写入的所有文件,使用sync_by_file将这些文件同步到备份集群 

初看起来,第2种补偿反感应该快很多,实际上,sync_by_block时,如果文件已经同步到备份集群了,sync_by_block是不会再次重复同步的(会先对比下元信息,确定是否需要同步),所以规模不大时上述2种方案效率差别不大,更推荐第1种方案,实施起来比较简单(第2种方案需要了解TFS的日志文件的格式,找出写文件记录,并从这条记录解析出TFS文件名)。

时间: 2024-10-22 05:21:25

TFS多机房容灾策略的相关文章

云和虚拟化技术兴起下的IT容灾策略

导读:服务器虚拟化和云计算技术的兴起并不意味着我们不再需要良好的IT容灾规划,Toigo认为新技术和预算的削减不应当成为IT管理者降低对容灾关注的理由,容灾必须优先获得关注. 服务器虚拟化和云计算技术的兴起并不意味着我们不再需要良好的IT容灾规划,以及这些规划中可能使用到的磁带技术.以下是Jon Toigo在其Storage Decisions会议的主题发言中所提及的部分容灾技巧. 作为Toigo Partners International的执行总裁和管理合作伙伴,Toigo认为新技术和预算的

阿里云数据库专家田英鹤:云数据库系统容灾架构设计和实战

8月30-31日20:00-21:30,一场别开生面的技术大会-- "蚂蚁金服&阿里云在线金融技术峰会"将在线举办.本次将聚焦数据库.应用架构.移动开发.机器学习等热门领域,帮助金融业技术开发者深入解析互联网应用的前沿应用与技术实践. 蚂蚁金服&阿里云在线金融技术峰会专题:https://yq.aliyun.com/activity/109 峰会统一报名链接:http://yq.aliyun.com/webinar/join/38 来自阿里云的技术专家田英鹤(花名:喜乐

MaxCompute( 原名ODPS)大数据容灾方案与实现(及项目落地实例)专有云

一,背景与概述     复杂系统的灾难恢复是个难题,具有海量数据及复杂业务场景的大数据容灾是个大难题.     MaxCompute是集团内重要数据平台,是自主研发的大数据解决方案,其规模和稳定性在业界都是领先的.在周边系统众多,业务场景复杂,海量数据存储和计算调度都是一个难题的情况下,需要保证大数据系统在灾难发生时能够尽快切换到备用系统服务,最小限度影响客户使用.     容灾系统及方案的建设有很多种方式,如同城双活,异地多活,冷备容灾等.MaxCompute大数据的容灾方案是在多年集团内部断

“老司机”和你聊聊云数据库系统容灾那些事

本文根据阿里云技术专家田英鹤(喜乐)在蚂蚁金服&阿里云在线金融技术峰会上<云数据库系统容灾架构设计和实践>的分享整理而成.本次分享分为背景(为什么要容灾).识别故障&常见容灾架构.云数据库机房容灾架构和未来发展四部分.分享中,喜乐重点讲解了一主一备.一主多备.三节点自动选主等常用的数据库容灾架构,并对云数据库机房不同情形下的容灾,给出了相应的解决方案. 直播视频:点击此处观看 幻灯片下载: 点此进入 以下为整理内容. 什么是容灾?为什么要容灾? 一般意义上来讲,容灾是指异地的机

阿里云高可用-容灾解决方案

这两天,一篇名为<IT之家因无法忍受阿里云而迁移至XX云>的文章引起了整个云计算行业的热议.(袋鼠云CTO江枫还专门写了一篇热评:点击阅读原文.) 从目前得到的信息看,其应该是在青岛区域购买了一台云服务器ECS,基于.net和自建SQL Server,并且应用和数据库跑在同一台云服务器上. IT之家,所有应用都部署在单台ECS上,不具备高可用的特性. 即便阿里云产品本身就有容灾.高可用的特征,但是因为一些用户对阿里云产品的不了解和自身应用架构不够合理,也根本无法使其发挥该优势. 其实,IT之家

通过Copy Data Virtualization实现数据库备份和容灾一体化解决方案

  11月10日,由Actifio中国区服务总监廖良茂老师在"DBA+上海群"进行了一次关于"通过Copy Data Virtualization实现数据库备份和容灾一体化解决方案"的线上主题分享.小编特别整理出其中精华内容,供大家学习交流.    嘉宾简介    DBA+原创专家团成员: Oracle9iOCP.10gOCM.Exadata认证专家: 超过10年的Oracle数据库管理经验,曾在Oracle ACS工作5年,期间在Exadata白金服务工作一年:

Sepaton容灾解决方案

容灾是指通过特定的机制保证在发生各种灾难损害后仍能最大限度地保障信息系统能够提供正常的应用服务,可以分为数据容灾和应用容灾.其中数据容灾是容灾系统的基础,也是灾难发生时保护数据的最后手段. 上海某保险公司目前已经建立了完备的数据备份机制,但备份数据都存储在本地数据中心,一旦发生火灾或者其他自然灾害数据的安全得不到有效的保障.所以用户希望将备份数据复制到北京的远程数据中心,从而达到容灾的目的,希望容灾系统能够保证在灾难发生后1天时间内恢复业务的正常运行,并把数据的损失控制在 4 小时之内.容灾系统

Kashya企业异地容灾系统解决方案

设计灾难复制系统面临的问题: 用户在选取远程数据保护系统时,主要需要面对的问题有: 是否支持异构存储系统,保护投资,大大降低其成本 是否受距离的限制 是否受带宽限制,节约带宽的方案显然非常受欢迎 恢复时间如何 管理是否方便 是否与当前存储网络的体系方便集成 由于对网络安全的考虑是随着数据的重要性和数据量而不断发展的,因此用户可能保留有多种品牌.多种档次的磁盘存储介质,因此能够在容灾系统中能够使用它们,对企业在构造容灾系统时节约成本非常有帮助:而且,由于容灾数据中心的使用率非常低,因此如果能够在容

虚拟化实战:容灾设计之三Stretched Cluster

Stretched Cluster是一把双刃剑,会用的如行云流水,用不好反而受其限制. 传统的vSphere Cluster是指一个Cluster内的所有ESXi主机都在一个物理机房内.Stretched Cluster顾名思义是把Cluster的概念扩展到了不受物理位置的限制.主机可以是在同一个数据中心的不同物理机房,甚至可以分布在不同城市的数据中心.听上去很酷吧, 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers