容灾的介绍看这里
https://blog.csdn.net/weixin_43997530/article/details/108224626
目录
1、容灾的主要技术
基于主机层容灾技术:
- 在生产中心和灾备中心的服务器上安装专用的数据复制软件,如卷复制软件,以实现远程复制功能。两中心间必须有网络连接作为数据通道。可以在服务器层增加应用远程切换功能软件,从而构成完整的应用级容灾方案。
- 这种数据复制方式相对投入较少,主要是软件的采购成本;兼容性较好,可以兼容不同品牌的服务器和存储设备,较适合硬件组成复杂的用户。但这种方式要在服务器上通过软件来实现同步操作,占用主机资源和网络资源非常大。
基于网络层容灾技术:
- 基于 SAN 网络层的数据复制技术则是在前端应用服务器与后端存储系统之间的存储区域网络(SAN),加入存储网关,前端连接服务器主机,后端连接存储设备。
- 存储网关将在不同存储设备上的两个卷之间建立镜像关系,将写入主卷的数据同时写到备份卷中。 当主存储设备发生故障时,业务将会切换到备用存储设备上,并启用备份卷,保证数据业务不中断。
基于阵列层容灾技术:
- 存储层容灾主要采用了阵列间的数据复制技术,将数据从本地阵列复制到灾备阵列,在灾备存储阵列产生一份可用的数据副本。当主阵列故障时,可以将业务快速切换到备用阵列,从而最大可能的保障业务的连续性。
2、主机层容灾技术
(一)应用级
应用级的容灾技术,由应用软件来实现数据的远程复制和同步,当主中心失效时,容灾备份中心的应用软件系统恢复运行,接管主中心的业务。
工作原理:通过在应用软件内部,连接两个异地数据库,每次的业务处理数据分别存入主中心和备份中心的数据库中。
优缺点:
- 支持广域网;不需要单独的硬件、软件支持;数据逻辑复制,可避免扩散人为错误;对磁盘子系统透明
- 需定期进行一致性检查;备份中心的备份数据无法快速恢复回主中心;需对应用程序作较大修改。
(二)数据库级
数据库级的容灾技术,是针对于特定的数据库设计的容灾方案。典型数据库通常都具备数据库级容灾功能。例如:Oracle Data Guard、DB2 HADR等。数据库级容灾主要是通过传输数据库日志,并在灾备站点进行重放(Replay)来实现的。数据库级容灾技术自身可做到平滑切换。
工作原理: 配置主数据库服务器和备用数据库服务器 主数据库一旦有事务操作,会同时将日志文件传送到备用数据库,然后备用数据库对接收的日志文件进行重放,从而保持与主数据库的一致性。当主数据库发生故障时,备用数据库服务器可以接管主数据库服务器的事务处理。
优缺点:
- 支持广域网;不需要单独的硬件支持;对磁盘子系统透明;实施逻辑复制降低扩散人为错误风险;无须修改应用程序;主中心/容灾中心,数据可以被同时访问。
- 备份中心的备份数据无法快速恢复回主中心;无法实现非数据库数据的远程复制;同步方式下对生产系统影响大,异步方式下会丢失较多数据,至少丢失一个日志文件;回切流程复杂;生产改造复杂。
(三)逻辑卷级
基于逻辑磁盘卷的远程数据复制是指根据需要将一个或者多个卷进行远程同步(或者异步)复制。该方案的实现通常通过软件来实现。
工作原理:远程复制控制管理软件将主用节点系统的卷上每次 IO 的操作数据实时(或者实时或者延时)复制到远程节点的相应卷上,从而实现远程两个卷之间的数据同步(或准同步)。
优缺点:
- 确保数据完整性,一致性;结构比较简单;对磁盘子系统透明;
- 主机写操作性能受距离影响较大;容灾中心端无主机时,无法做数据级容灾;无法防御逻辑灾难。
3、网络层容灾技术
基于 SAN 网络的数据复制技术是在前端应用服务器与后端存储系统之间的存储区域网络(SAN),加入一层智能型交换机,前端连接服务器主机,后端连接存储设备。
工作原理:
- 生产中心主机写入数据到本端虚拟化网关;
- 生产端虚拟化网关将数据写入到本端日志卷;
- 日志卷写入数据成功以后,生产中心的虚拟化网关返回“确认” 给本端主机;
- 生产端虚拟化网关将数据写入本端的生产卷的同时,向灾备端虚拟化网关发出数据写入请求;
- 灾备端虚拟化网关接收到写入请求后,返回“确认” 给生产端虚拟化网关;
- 灾备端的虚拟化网关将数据写入到灾备端的复制卷;
- 数据成功写入到灾备中心的复制卷后,灾备中心的虚拟化网关返回“完成”信号给生产中心的虚拟化网关。
优缺点:
- 支持异构存储设备;实现虚拟化整合,实现统一管理,提高存储利用率
- 要改造 SAN 网络
3.1 网络层完整空间快照原理
原理:
完整空间快照技术的实现原理:在快照时间点到来时,系统会为源数据卷分配一个大小完全相同的物理空间作为快照卷,并启动后台数据同步,在同步数据完成后,该时间点快照创建成功。 完整空间快照是源卷快照时间点的数据的物理拷贝。
步骤:
- 创建一个跟源卷大小一致的卷作为快照卷,并开始后台数据同步。
- 在数据同步过程中如果源卷有新数据写入,写入的数据位置为还没有同步拷贝的内容,则将原数据写入到快照卷中 ,新数据写入源卷,保持源卷数据为最新状态; 如写入的数据位置为同步拷贝完成的部分,则只将新数据写入源卷;快照卷数据内容不变。
- 在数据全部同步完成后,快照卷与9:00的源卷数据完全相同,此时快照结束。
说明:
- 网络层完整空间快照中快照卷可以跨异构阵列,而且可以放在性能等相对低端的阵列上,这样就可以实现阵列间的容灾,同时充分利旧,降低TCO。
- 当源卷阵列故障时,可以迅速从快照卷阵列拉起服务
4、阵列层容灾技术
阵列级容灾主要是采用阵列间复制技术实现的。由于阵列的复制不经过主机,对主机的性能影响小。 直接使用交换机作为阵列间的数据复制的媒介
4.1 SAN复制容灾
(一)同步复制容灾
- 部署方式见图,目标RPO=0,RTO分钟级。
- 基于SAN的容灾复制才支持同步复制,建议100km以内。
- RD主要提供容灾管理功能,包括拓扑,容灾测试,演练和灾难恢复。
- 进行应用管理和灾备应用恢复时,服务器上需要安装Agent RD管理网络需要跟主机,存储互通。
- 支持FC/iSCSI链路,建议同步复制使用FC链路。
同步复制原理
同步步骤:
- 生产存储收到主机写请求。HyperReplication将该请求记录日志。日志中只记录地址信息,不记录数据内容。
- 将该请求写入主LUN和从LUN。通常情况下LUN是回写状态,数据会写入Cache。
- HyperReplication等待主LUN和从LUN的写处理结果都返回。如果都写成功,清除日志;否则保留日志,进入异常断开状态,后续启动同步时重新复制该日志地址对应的数据块。
- 返回主机写请求处理结果,以写主LUN的处理结果为准。
分裂:
在分裂状态下,生产主机的写请求只会写到主LUN,并通过差异日志来记录主、从LUN数据之间的差异。当用户希望重新保持主、从LUN数据一致时,可以进行一次手动启动同步操作,同步过程就是将差异日志中标为“有差异”的数据块从主LUN增量拷贝到从LUN的过程,其I/O处理原理与初始同步的原理类似
(二)异步复制原理
- 部署方式见图,目标RPO>3s,RTO分钟级。
- 与同步复制的差异点,有时间间隔的复制策略,理论无距离限制。
- RD主要提供容灾管理功能,包括复制策略,拓扑,容灾测试,演练和灾难恢复。
- 进行应用管理和灾备应用恢复时,服务器上需要安装Agent RD管理网络需要跟主机,存储互通。
- 秒级复制在存储上触发,15分钟以上的可在RD上触发。
异步复制原理
时间片:在Cache中管理一段时间内写入数据的逻辑空间(数据大小没有限定)
在低RPO的应用场景下,异步远程复制周期很短,OceanStor存储系统Cache中能缓存多个时间片中的全部数据;如果主机业务带宽或容灾带宽出现异常或故障,造成复制周期变长或中断,此时Cache中的数据会按照刷盘策略自动刷盘并进行一致性保护,复制时再从盘上进行读取。
- 每当间隔一个同步周期(由用户设定,范围为3s~1440min),系统会自动启动一个将主站点数据增量同步到从站点的同步过程(如果同步类型为手动,则需要用户来触发同步)。每个复制周期启动时在主LUN(LUN A)和从LUN(LUN B)的缓存中产生新的时间片(TPN+1和TPX+1);
- 主站点接收生产主机写请求;
- 主站点将写请求的数据写入Cache时间片TPN+1中,立即响应主机写完成;
- 同步数据时,读取前一个周期主LUN(LUN A)Cache时间片TPN的数据,传输到从站点,写入从LUN(LUN B)Cache时间片TPX+1中;若主站点Cache写缓存达到高水位时会自动将数据从Cache写入硬盘中,此时时间片TPN的数据会在盘上生成快照,同步时已写入硬盘的数据从快照中读取并复制到从LUN(LUN B);
- 同步数据完成后,按照刷盘策略将主LUN(LUN A)和从LUN(LUN B)Cache中时间片TPN和TPX+1的数据下盘(生成的快照自动删除),等待下一个同步的到来。
切换:
- 同步远程复制在正常状态下可以进行主从切换;
- 分裂状态下,需要设置从LUN可写才能进行主从切换。
- 异步远程复制处于分裂状态;
- 分裂状态下,需要设置从LUN可写;
4.2 NAS异步复制容灾
- NAS文件系统复制目前只有V3R2C10版本提供,采用ROW实现。
- RD的NAS容灾管理不在Linux或者Windows上部署Agent,只管理V3存储的复制策略和容灾恢复。
- 文件系统当前主要支持NFS/CIFS。容灾管理目前只管理FS复制部分,文件系统和权限控制部分,系统创建时需要配置。
- 文件系统复制与SAN类似,支持FC/iSCSI链路。
NAS异步复制容灾原理
- 每个周期开始时,文件系统异步远程复制创建主FS(主文件系统)的快照,根据上一周期复制完成到本周期开始这段时间内的增量信息,读取快照的数据复制到从FS,增量复制完成后,从FS的内容与主FS的快照内容相同,从FS形成数据一致性点。
- 可实现文件系统到文件系统的远程复制,不支持目录到目录、文件到文件的复制方式;
- 同一文件系统只能包含于一个复制任务中,但一个复制任务中可以包含多个文件系统;
- 文件系统只支持1对1复制,同一文件系统不能即作为复制源又作为复制目的地,不支持级联复制,不支持3DC;
- 增量复制的最小单位为文件系统块大小(4K-64K);异步复制同步周期最短5分钟;
- 支持断点续传
5、异步远程复制多时间点技术——秒级RPO
最小3秒一个一致性点:
每个复制周期启动时在主LUN和从LUN的缓存中产生新的时间片*(T2, P2)。
主机新写入的数据缓存在主LUN Cache的时间片T2中。
响应主机写完成。 将时间片T1的数据直接复制到从LUN,写入从LUN的时间片P2中。
主从LUN各自将收到的数据下盘。
- 拷贝直接从Cache读取数据,时延小。
- 快照不需实时COW更新数据,同步对性能的影响小,周期可缩短到3秒的复制周期。
远程复制:应用一致性
应用一致性: 在主机上安装一致性代理Agent,实现阵列快照和数据库的联动。
当快照任务执行时:
- 首先将数据库置于备份模式,执行检查点,将内存中的脏数据全部写入存储系统。
- 然后通知阵列执行快照。
- 最后再将数据库脱离备份模式。
优点:
- 灾备端拉起数据直接使用,无须做Roll forward 和Rollback。
远程复制:一致性组
- 用于保持多个LUN之间镜像数据的时间一致性。
- 所有成员一起同步、分裂、断开和主从切换。
- 在大中型数据库应用中,数据、日志、修改信息等存储在阵列的不同LUN中,通常称这种有关联的LUN为非独立LUN,缺少其中一个LUN的数据,都将导致其他LUN中的数据失效。
- 我们希望可以同时对这些LUN同时进行数据的同步或分裂等操作,以保证多个从LUN之间数据的关联性不变,从而保证容灾备份数据的完整性和可用性。这个技术就是远程复制一致性组技术。
- 华为阵列的远程复制一致性组内的远程复制的复制对的个数最大值为8,不支持跨阵列一致性组。
注意:有关联关系的LUN的远程复制应放到一个一致性组中,没有关联关系的LUN不要放到一个一致性组中。另外,同步远程复制和异步远程复制不能放到同一个一致性组中。所有远程复制的从LUN必须位于同一台远端存储系统。
6、几种容灾技术对比
7、容灾演练方案的流程