使用裸机恢复(BMR)技术,将内部物理服务器故障切换到云端物理服务器在技术上可行的,但是这不切实际。很少有云灾难恢复厂商支持这么做,因为它们基于虚拟服务器技术。 如果你有必要的带宽,将服务器映像备份到云端相当简单。但是在故障切换场景下在云端运行那些应用程序却完全不同。 要弄明白公有云提供商和灾难恢复厂商如何保护你,远离其他租户及系统故障的影响。 另一个潜在问题出现在自动化故障切换上。 因为值得一做 你做好了设置和服务级别后,虚拟故障切换到云端是一种出色的灾难恢复方案。 云端虚拟化还能帮助裸机恢复。裸机恢复是指万一出现故障,恢复一个相同的系统这个过程,从操作系统、驱动程序、应用程序一直到生产数据。物理裸机恢复需要相同的硬件环境,确保无差错恢复,不然你会遇到严重错误。
Region:地理区域,有多可用区所组成的集合,区域之间故障域完全隔离。 1、主备模式 ? 主机房提供服务,备用机房不提供服务,当主机房故障,服务可切换到备用机房接管。 2、同城双活 ? (2)多数据中心间高可用 单系统同城高可用:任何一个系统有计划维修或非计划性故障,都可切换到另外一个数据中心 全链路同城高可用:当机房级别故障或维修时,可切换到另外一个机房接管。 进行单系统流量划拨,确保每个系统切换的正确性。 全链路流量划拨,确保端到端切换的正确性。 3、全链路监控 ? 为了模拟机房故障,通过混沌工程逐步提高爆炸半径,模拟业务故障,减少对业务的影响,主要故障模拟如下: 单系统故障模拟:比如订单系统或会员系统单个系统故障 全链路故障模拟:比如交易链路或支付链路多个系统同时故障 网络故障模拟:比如交换机或路由器等故障 整个机房级别故障模拟:比如电源(市电、UPS 等)故障导致整个机房故障 通过混沌工程模拟可以相对真实验证整个多活系统的容灾能力,整个模拟对业务的影响都相对可控,
腾讯云精选爆款云服务器限时体验20元起,云数据库19.9元/年起,还有更多热门云产品满足您的上云需求
2.2 触发条件出现以下情况则触发应急预案:一级故障:云平台发生故障导致业务系统业务中断、数据丢失。一级故障包括以下内容:云平台发生故障导致业务系统业务中断、数据丢失。 云平台与电子政务网之间的网络出现中断。某个面向公众服务的业务系统出现业务中断或数据丢失。 二级故障包括以下内容:云平台出现故障,但不影响业务系统运行,不影响业务系统数据。某个面向部分用户的业务系统在业务高峰期出现业务中断。某个面向单位内部的系统出现业务中断。 3) 入侵检测系统电子政务云平台核心交换机旁挂锐捷的入侵检测系统,对数据中心各服务区之间和各用户访问数据中心的流量进行对应的安全防护。 5) 漏洞扫描系统在电子政务云平台内部的汇聚层交换机上旁挂启明星辰天镜脆弱性扫描与管理系统对整个云平台内部的服务器进行漏洞扫描。
特别当 B 站故障后,各路文章出来解读多活,如何实施多活(很多的文章当个乐子看即可)。像这种比较基础的服务故障,往往恢复时间都是不确定的,多活确实是解决问题的有效手段,能大大提高我们系统的容灾能力。 多云多活的技术细节 多云多活指的是公司选择两家云服务商,将服务部署两个云上,正常情况两个云同时对外提供服务,当其中一个云出现问题时,将流量全都切换到另外一个云。 这个架构的大概流程: 客户端通过接入层访问系统相关服务 接入层根据流量分发规则,将流量向下分发到业务层 业务层经过相关的业务逻辑处理,将相关数据写入到相关的存储中 流量分发/切换 分布在不同的两个云的集群的系统承载能力是需要经过评估的 不过一般情况下,两个云的系统会尽量保证系统的承载能力是一致的,所以流量是平分到两个集群中。 当某个云发生故障的时候,在流量接入层会将流量全部切换到另外一个云上,保证另外一个云的故障不会用户造成影响。 因为当主节点所在的云出现故障时,在流量接入层可以将流量切换到另外一个集群,但是我们的主业务肯定不是”只读“的,肯定还有写业务存在, 于是出现故障的时候,只能看到一堆堆的写失败报警,有些业务接口肯定也在报错
下面,本文将对UCloud秒级切换的内网高可用服务进行详细介绍。 ? 基于内网VIP的高可用服务 1、高可用的理念和要点 从业务角度看,当然要尽可能避免应用出现故障。但要完全不出故障是不可能的。 当任一节点发生故障时,业务自动切换至正常节点,且整个切换过程用户均无感知,这就是高可用的基本理念。而实现高可用的两个要点是备份节点和自动故障转移。 ? 作为用户自定义高可用服务的可漂移内网入口,从发现故障到自动完成故障切换,无需额外的API调用和机器内部配置,即可完成秒级切换。 ? 图:内网VIP控制台操作界面 ? 在不考虑外部依赖系统突发故障的前提下,如网络问题、第三方支付和银行的大面积不可用等情况,该电商希望通过提高自身支付系统的高可靠服务能力来保证消费者的可用性体验。 为了实现高可用,UCloud基于Keepalived+内网VIP产品为该电商线上支付系统快速构建了高可靠服务,从而避免自身单点故障,大大提高系统的可用性。 ?
[源码分析] 定时任务调度框架 Quartz 之 故障切换 目录 [源码分析] 定时任务调度框架 Quartz 之 故障切换 0x00 摘要 0x01 基础概念 1.1 分布式 1.1.1 功能方面 1.1.2 0x02 故障切换 Quartz在集群模式下通过故障切换和任务负载均衡来实现任务的高可用(HA High Available)和伸缩性。 故障切换的发生是在当一个节点正在执行一个或者多个任务失败的时候。当一个节点失败了,其他的节点会检测到并且标 识在失败节点上正在进行的数据库中的任务。 当其中一个节点在执行一个或多个作业期间失败时发生故障切换(Fail Over)。当节点出现故障时,其他节点会检测到该状况并识别数据库中在故障节点内正在进行的作业。 如果存在故障节点,则更新故障节点的触发器状态,并删除故障节点实例状态。这样集群节点间共享触发任务数据就可以进行故障切换,并信号通知调度线程。故障节点的任务的调度就交由调度处理线程处理了。
系统正交分解如下: 分类 服务治理 目标 技术 架构 监控层 外层 客户端SLA、攻防/扫描/审计 CDN合理/稳定、DNS合理/稳定流量峰值 CDN DNSPOD/Ip直连高防 外层CDN高可用性 自建CDN 质量监控,调度系统,自动切换; 腾讯CDN 本身具有高可用监控,节点快速剔除故障节点; HttpDns:客户通过嵌入SDK, 不经过传统 DNS 解析方式来使用 CDN 服务跨可用区灾备,出现故障秒级切换; 容器etcd多台服务器跨机房容灾; 云下环境做测试和备份; 充分利用腾讯云CLB、容器服务、CDB等跨可用区特性,构建高可用容灾系统; ? 服务层高可用思路 服务的整体概览 服务无状态 拆分子服务 通信协议和交互接口 同步/异步 超时管理,自动熔断, 快速切换,慢服务隔离 独立扩展,快速扩容 服务单元条带化 ? CBD高可用 故障一:数据库节点异常 只读从库、灾备实例数据正常; 后台隐藏实例可快速恢复业务; 后续动作需要后台新建隐藏从库实例; 故障二:可用区异常 主库及只读从库无法访问; 手动切换灾备实例为主实例
这是一场模拟单个数据中心完全不可用的灾难恢复演练,通过模拟城市级灾难事故,切断其中一个IDC中心来检验提升系统恢复服务、数据安全保障能力而进行的运维活动。 为了模拟单个中心故障的场景,运维人员关闭一个数据中心的所有内外网出口,用户流量立刻自动切换到正常的数据中心,全行所有业务和渠道正常提供服务,真正做到用户“零感知”。 同时,各业务产品稳定运行24小时后,用户流量顺利回切,模拟故障的数据中心重新投入运行,全程业务无感知,这证明了银行核心系统架构真正实现了“多中心多活”。 ? 微众银行演练现场 这个过程中,金融级分布式数据库TDSQL的高可用能力是系统的“保护罩”,基于其自主研发的秒级自动故障切换、强同步复制技术,确保了客户系统数据能实现跨机架、跨 IDC 、跨城的自动化容灾和数据一致性 在自动化容灾监测、秒级切换等能力保障下,金融核心系统可实现99.999%的金融级别高可用,且灾难恢复后数据零丢失、业务零中断。
实现业务连续性所需的 IT 措施包含三个方面:业务状态数据的备份和复制、业务处理能力的冗余和切换、外部接口冗余和切换。 一般说,高可用技术通过对网卡、 CPU、内存、系统软件设置不同的可用性监测点,在这些节点发生故障时实现冗余切换,持续提供服务。 从故障角度, HA 主要处理单组件的故障导致负载在集群内的服务器之间的切换, DR 则是应对大规模的故障导致负载在数据中心之间做切换。 7.png 如上图所示,在负载均衡实例下绑定不同可用区的 CVM,当广州三区发生故障时,广州四区的服务器仍可正常提供服务,这样即可以避免因为单个可用区的故障而导致对外服务的不可用。 负载均衡CLB产品本身没有提供这样的能力,跨地域容灾的能力是通过云解析DNS+DNSPod产品来实现的,云解析DNS产品提供了解析的能力,DNSPod提供容灾的能力,网站宕机后自动切换DNS记录,多种切换算法
我们的服务器中使用了很多启动脚本为shell脚本,为了方便管理改为systemctl方式管理。 早上重启后正常,但是晚上流量高峰期间,大量用户无法链接服务器。 查看服务器进程日志出现大量报警日志。 后经过大佬排查。发现是因为systemctl启动的进程没有遵循limits资源限制,导致到达systemctl默认限定值后无法加载更多文件!
微信等)部署在一起,相互影响; 业务逻辑服务和数据服务部署在一起,相互影响; 无异地容灾、自动切换能力; 3.数据容灾恢复不及时: DB单点、主备切换依赖人工、故障恢复时间(TTR)不可控; 为了帮助商户提升服务质量 针对这个问题,一些云服务商支持“BGP网络访问跨地域实时切换”的能力,通过冗余网络出口部署,实现跨区域网络间灵活切换调度,为网络出口灾备提供了保障。 腾讯云的负载均衡具备健康检查能力,可允许用户自定义健康检查频率,以确保后端云服务器在出现故障时第一时间感知到并且及时切走业务流量,保证前端应用的高可用和无感知。 MySQL容灾策略普遍依赖“半同步,主备切换”,通过自动或者人工切换(业务恢复时间在1分钟到几十分钟之间)。这对于交易量稍大的场景来讲,故障恢复时间还是太长。 某组DB发生故障时,订单查询和撤销等操作需等主备切换恢复才能进行。 这里的注意事项: 计数器需要设置周期,比如一分钟,以便设备故障恢复自动启用。
题记:对于企业关键业务而言,信息系统可靠性是关键。各行业关键 IT系统因为系统故障导致服务中断的事件仍然时有发生,近年来有一些银行 IT 系统,虽然建有两地三中心布局,但仍然有业务中断服务的现象。 近年来,互联网企业云计算、大数据风起云涌,传统企业在市场压力下,也面临着利用新技术,更好的服务用户与市场的迫切要求。 1、在某移动集团公司,针对传统容灾系统切换慢、接口难同步等问题,我们提出了Extended RAC方案:新业务系统改造上线与 ORACLE 远程 RAC 双活一起建设,既可解决容灾系统建设时间不足,也可解决传统方案容灾 2、某保险公司,因为对业务系统稳定性与连续可用性极高的要求,迫切需要能够从主机、存储、网络、运行环境等各个层级防止单点故障,提高业务连续性的高可用容灾解决方案,确保整个IT业务系统实现7×24的业务连续运行 若共享存储出现故障,则会导致集群内的所有节点的故障,因此需要开发新的模式来提高系统的性能更好地保证数据的安全。
对于自然灾害和IDC故障这类“天灾”,TencentDB提供了灾备实例/多可用区、数据传输服务DTS、秒级故障切服务帮助用户以较低的成本提升业务连续服务的能力,同时提升数据的可靠性,避免单地IDC故障导致业务完全瘫痪 灾备实例/多可用区 针对业务连续服务和数据可靠性有强需求或是监管需要的场景,TencentDB提供灾备实例/多可用区,可提供跨地域灾备服务(提供实时备份,秒级切换等)。 秒级故障切换 TencentDB会自动处理故障转移,可以快速恢复数据库操作而无需管理干预。出现可用区中断、主数据库实例故障任一条件,主数据库实例会自动切换到备用副本。 从外部防护、数据安全传输,以及人为故障的监控和恢复方面,为您的云数据库提供完善的安全防护和高效的故障恢复服务,全链路提高数据资产安全。 腾讯云数据库将在2019年推出的Cloud DBA——一款云数据库智能管家产品,可以为腾讯云上的数据库系统提供健康巡检、故障定位分析、SQL上线审核等一系列服务,为您的数据库系统保驾护航,敬请期待!
除生产环境之外,CODING 还进行了备用环境的部署,如果发生发布事故,可迅速切换至备用环境,保障服务可用,在生产环境变更验收通过后,才会更新备用环境。 比如 CVM 在某个地域无法创建构建机器时,会导致使用该地资源节点的用户无法顺利构建,为了防范这个问题, CODING 持续集成采用灵活的容灾策略,对构建节点池进行地域切换,对故障进行转移,确保构建的稳定性 为及时应对故障,CODING 基于 Prometheus 构建了服务监控预警系统,用户可依据不同的业务场景,通过运维方自定义监控数据的可视化和报警规则。 为提升整体系统稳定性以及各类异常故障的容错能力,CODING 还制定了故障演习标准定期演习,对于影响全站访问的核心业务须保证每月进行至少一次故障演习,其它业务最长演习间隔不得超过两个月,出现演习结果不符合预期时 在容错机制上 CODING 也进行了明确要求,如系统内部单点故障,下游故障系统都需具备自动发现和屏蔽错误的能力;不能存在超时或者无限重试导致系统雪崩的情况;在服务异常时,业务需要有自动降级的方案。
上面的两个模块组成调度系统,暂时是用ZooKeeper来做元数据管理。第三模块是接入计算层,当发生故障时主备切换和对路由的更新都在网关层面上做。 上面的调度系统还包括负责监测故障、故障切换的操作,以及分布式场景下的扩缩容任务管理等,此外包括一些复杂SQL的重新以及计算工作。这是大体的核心架构。 在故障检测这个点上,目前来看很难有统一的一个理论说怎么发现故障、怎么去切换,这是非常难的事情,更多还是经验方面的积累,我们秉承的原则还是:切换后,如果系统可用性能提升,才切,否则免切。 如果有时候系统出了问题可能会引发连续的切换,连续切换对系统也没什么好处,比如说我们切换了一次后,配置在未来的一段时间不会做切换,用这样的逻辑做判断。 ? 这里是我们在服务恢复阶段的示例演示。 一旦因为故障,导致主备发生切换,除非再次发生故障,我们不会主动切换回来,这是同城三中心高度对等架构的好处。
业务系统高可用、可扩展、容灾能力决定企业系统的连续性,中间件作为构建企业核心系统的重要组成部分,其高可用容灾能力也将决定应用系统的。 当4、6区任意一个可用区出现故障: 触发Ckafka实例各分区leader切换,实现所有leader分区从故障节点转移到正常可用区。 客户端消息读写请求路由到某一地域的主服务实例上,当主服务实例出现异常的时候,客户端的请求将被切换到另外一个地域 的集群上,确保客户端能够继续正常使用。 故障切换客户侧可以以每个Ckafka实例为单位,通过DNS将 所有流量切换到备区。 切换之后可以继续进行消息无缝生产/消费。 如果一个可用区内的单机故障,那么就会由没有故障的节点提供服务。这样整个集群依然能够对外提供服务,对客户侧的影响是有限的,客户端做好重试即可。
,实现数据访问、主备切换的一致性,确保在单机、单IDC故障时数据零丢失; •引入集群机制,实现自动的容量伸缩,确保在业务飙升时,数据库服务能力自动适配业务增长,保持对外服务的持续可用。 以两台服务器为例,如果它们在同一个机架、或者接入同一个交换机、或者在同一个IDC,当机架电源故障、或者接入交换机故障、或者IDC故障,则两台服务器对外将表现为同时故障。 当一个SET中主机故障时,系统自动切换至备机,对上层应用没有任何影响;由于节点间的数据副本是强同步的,数据也不会有任何的丢失或错乱。 Watcher节点不参与主备切换选举,仅通过异步方式从master复制数据。当整个主城故障且无法短时间内恢复服务时,可以直接将服务切换到异地的TDSQL上。 任意时候,如果主节点故障,只需要将请求路由切换到数据最新的备节点即可,对外服务不会中断,数据也不会丢失。
IO的服务。 ; TDSQL-C异地容灾系统的实践 (TDSQL-C多维一体的容灾系统) 云原生数据库TDSQL-C在异地容灾能力构建上,近期推出了跨可用实例功能,支持跨AZ的手工和自动切换。 ● 通过心跳上报给Scheduler,Scheduler根据实例状态做出不同的故障决策,确定是否需要发起切换,以及是可用区内的切换还是跨可用区的切换。 故障切换步骤: 1. 当主可用区发生故障,ZK自动切换,Scheduler通过ZK重新选主; 2. 等待Agent租约超时后,Scheduler发起故障切换; 跨AZ切换的挑战: 主要有两点,防双写和防误切。防双写是为了避免切换可用区后,原可用区仍然可读写,造成数据混乱。
云原生数据库TDSQL-C作为腾讯云架构平台部核心数据库产品之一,致力于为云上ToB用户和公司自研业务提供集高性能、低成本、大存储、低延迟、秒级扩缩容、极速回档、Serverless化七大特性于一体的企业级数据库服务 IO的服务。 ● 通过心跳上报给Scheduler,Scheduler根据实例状态做出不同的故障决策,确定是否需要发起切换,以及是可用区内的切换还是跨可用区的切换。 故障切换步骤: 1. 当主可用区发生故障,ZK自动切换,Scheduler通过ZK重新选主; 2. 等待Agent租约超时后,Scheduler发起故障切换; 跨AZ切换的挑战: 主要有两点,防双写和防误切。防双写是为了避免切换可用区后,原可用区仍然可读写,造成数据混乱。
云数据库 Redis,数据库缓存,数据库存储,云数据库 云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。 云数据库Redis是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
扫码关注云+社区
领取腾讯云代金券