容灾技术(一)

灾备建设需要从存储层、网络层、安全层、计算层、传输层、应用层等6层考虑。

1.概念

DAS:

DAS 指的是直接附加存储(Direct Attached Storage)。直接附加存储是一种传统的存储架构,它指的是将存储设备(如硬盘驱动器)直接连接到计算机或服务器的存储控制器上,形成一个本地存储系统。在这种架构中,存储设备与计算机之间通过直接的物理连接进行数据交换,而无需经过网络。

DAS 的特点包括:

  • 存储设备直接连接到主机,形成一个独立的存储系统。
  • 存储资源与计算资源紧密耦合,由单个主机管理和控制。
  • 存储访问延迟较低,适合对存储性能要求较高的应用场景。
  • 扩展性较差,通常需要停机或者额外的操作来进行存储容量的扩展。

总的来说,DAS 是一种简单而直接的存储架构,适用于一些小型或简单的应用场景,但在大规模、高可用性和灵活性方面存在一定的局限性。与之相比,软件定义存储(SDS)和超融合基础设施(HCI)等新型存储架构则提供了更高级别的功能和特性,以满足现代企业对存储的更高要求。

SDS:

SDS指的是软件定义存储。软件定义存储是一种存储架构,它将存储管理软件从专用硬件中解耦出来,并将其部署在通用服务器硬件上。SDS 通过软件来实现存储管理功能,包括数据保护、数据重复、快照、压缩、自动化等。这种架构具有更灵活、更可扩展、更经济的存储解决方案。

HCI:

HCI指的是超融合基础建设。超融合基础设施是一种基础设施架构,它将计算、存储和网络功能整合在一起,通过软件来实现统一管理和自动化。HCI 通常由多个节点组成,每个节点都包含计算、存储和网络资源,可以通过集群方式管理和扩展。HCI 架构具有简化部署、管理和维护的优势,同时提供高性能、高可用性和灵活性。

SDS 和 HCI 是近年来存储和基础设施领域的两个重要发展方向。它们以软件为中心,采用了新的架构和技术,旨在提供更灵活、更高效、更可扩展的存储和计算解决方案,以满足现代企业对 IT 基础设施的不断增长的需求。

2.要求

建设数据中心双活需要网络系统、存储系统、计算资源、应用系统 等多个系统之间紧密合作才能实现。用户业务系统同时在两个数据中心运行,包括前端的全局负载均衡、服务器前端的负载均衡、服务器集群HA技术、后端的数据库系统和存储系统技术,同时为用户提供服务。

当某个数据中心的应用系统出现问题时,由另一个数据中心的应用来持续提供服务。

双活数据中心除了存储双活技术外,最需要考虑的技术因素就是数据中心之间网络互联需求,这些因素主要包括:

**组网方式:**裸光纤直连或DWDM设备;同一城域内通过城域网的核心层进行互联,不同城域间的DC通过骨干网进行互联;DC存储通过密集型光波复用DWDM或裸光纤进行直连。

**集群心跳:**集群心跳要求二层网络。

**虚拟机vMotion:**在保持业务连续性的前提下,虚拟机可在跨数据中心间实现动态迁移

**广播隔离:**广播消息需在数据中心间实现隔离。

由于VM需要在两个数据中心间漂移,一般情况要求这两个数据中心都是在一个大二层的物理架构里。

**光纤链路直连:**弱化距离,与传统网络架构相同。

**采用大二层互联:**实现大二层网络由多种解决方案、

与网络设备解耦 :通过软件定义实现数据流的重定向,其原理就是VPN,底层网络只要IP可达,不管是在同一个VLAN还是不同的VLAN,通过再次封装,实现全新统一的隔离域,同时摆脱了VLAN数量的限制。数据中心互联网络一般采用光纤互联。对于大于25km的光纤链路,需要增加DWDM波分设备,用于提高带宽降低时延。DWDM对于数据传输的时延起着关键的作用。

数据复制通过存储实现,所以存储层双活网络时延时的限制需要格外关注 ,要保证两地业务数据的同步复制,就目前的技术水平来看,两地双活数据中心最远支持100km。HDS宣传GAD双活实际部署距离支持500km,测试发现距离每增加100km,时延大约增加1ms。**实际上双活距离一直都不是问题,主要看网络时延和误码率,以及应用对RTT时延要求和容忍度。**如果当距离超过了500km时,其应用能容忍5ms以上的时延,那所有的问题都不是问题。

当然,数据中心双活除了网络,还需要关注其他因素,比如:

**脑裂风险问题:**如何避免脑裂是每个双机系统都要重视的问题,存储双活系统尤其如此,脑裂会带来长时间的存储读写IO HANG住,造成重大影响。

性能影响问题:因为双活系统在写入数据时,会写两次数据,尤其是通过复制功能写到远端存储的过程,传输链路的性能也会影响整体性能。

**数据一致性风险问题:**当写入数据时,在复制过程中,数据传递是在缓存中进行的,这样做的好处是提升了性能,问题是当出现异常宕机事件时,就会导致缓存内的数据不能写入存储中,从而造成数据的不一致。

**双中心间通讯不可控问题:**一是链路稳定状况不可控;二是IO延时指标不可控。这些不可控因素非常容易造成灾难性影响,轻则导致数据库读写性能灾难,重则导致数据库节点直接处于僵死状态。另外,链路的不稳定会导致存储链路频繁切换,甚至会导致集群仲裁频繁发生,这对于业务连续性更是一个灾难。

**数据同步逻辑错误问题:**存储层面的复制技术基本以存储块为单位进行的数据复制,假设数据块发生了逻辑错误,那么存储是无法检测到的,它会继续将坏的数据块儿同步到灾备端,如果因此数据库发生宕机,那么灾备端的数据库也同样无法正常启动。

**存储网络故障泛滥问题:**两个数据中心的SAN网络打通,整合为一张大的SAN网络,可能会因为局部的存储网络故障而波及到整个存储网络,造成重大影响。

**集群仲裁一致性问题:**所谓的仲裁一致性问题,是指双中心之间的双活存储集群和数据库集群的仲裁结果是否能保证一致性。当不一致时,对业务系统将造成灾难性影响。

存储多路径控制的策略问题:倘若采用存储厂商自己的多路径,可能存在兼容性问题,很多双活方案采用系统自带多路径缓和这一问题。

此外,业务层的等级划(RTO/RPO)分也是灾备方案设计的基础和前提。不同的业务连续性要求不同的容灾技术和等级,在本专题课程中,主要聚焦双活方案(存储层、网络层,安全层、计算层、传输层、应用层等6层双活),其实现的效果:RTO/RPO均为0.

相关推荐
拾木20014 分钟前
常见的限流算法
java·开发语言
处处清欢18 分钟前
MaintenanceController
java·开发语言
飞翔的佩奇30 分钟前
Java项目: 基于SpringBoot+mybatis+maven校园资料分享平台(含源码+数据库+答辩PPT+毕业论文)
java·spring boot·spring·毕业设计·maven·mybatis·校园资料分享平台
不平衡的叉叉树33 分钟前
Java对象列表属性映射工具类
java
缘友一世1 小时前
mac系统安装最新(截止2024.9.13)Oracle JDK操作记录
java·macos·oracle
跃ZHD1 小时前
BolckingQueue
java
西岭千秋雪_1 小时前
谷粒商城のElasticsearch
java·大数据·服务器·spring boot·elasticsearch·搜索引擎
yueqingll2 小时前
020、二级Java选择题综合知识点(持续更新版)
java·开发语言
许野平2 小时前
Rust:深入浅出说一说 Error 类型
java·开发语言·rust·error
jingling5552 小时前
后端开发刷题 | 数字字符串转化成IP地址
java·开发语言·javascript·算法