异地灾备系统建设方案

2024-01-24 02:50

本文主要是介绍异地灾备系统建设方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、灾备系统整体架构说明

首先在系统的生产系统中架设存储设备。生产系统中各个服务器实时的将所产生的业务数据(结构化和非结构化数据)保存到存储所规划的目录中,各服务器本地不再长久保留业务数据。

同时在灾备点架设1:1的灾备系统,并在其中也架设存储设备。将灾备点的各个服务器的数据存储目录设定为与主系统相同,同时应保证他们有相同的读写权限。

生产系统与灾备系统的存储设备之间,根据运营商的不同,可以选择不同的同步方案进行数据同步。数据主要采用增量同步的方式,时间间隔设定为10分钟,同时定期进行全量备份。同时保证可根据业务和运营商能力随时进行调整。

2、灾备数据定义

生产系统的各个服务器及其上所承载的应用所产生侧业务数据和日志,包括结构化和非结构化两种。这些数据均应保存到存储设备中,而非存储在内存中。

3、灾备数据同步要求

在正常状态下,生产系统应通过网络链路(通常是vpn)与灾备系统的存储设备进行数据同步。数据传输所使用的带宽应保证足够使用,所产生的延时应在可接受范围内。

当决定启用灾备系统后,灾备系统各服务器可按照事先设定好的存储路径,在灾备点存储设备上对数据进行读写操作。生产系统恢复后,可通过数据回切操作将灾备系统数据同步回生产系统。

4、灾备系统部署流程

灾备系统建议按照生产系统1:1的方式建立,主要包括服务器配置、应用配置以及数据同步(接口方式)。

服务器配置和应用配置,除IP地址等特殊参数以外,均与生产系统相同,其部署方式也与生产系统相同。

数据同步利用灾备系统的运维服务器(简称灾备前置机),通过VPN分别连接生产系统和灾备系统,作为数据的传输中转站,以提高整个系统的安全性和稳定性。

在生产系统中,首先是结构化数据方面,组建主从结构的数据库集群,主数据库负责对外提供服务,从数据库负责定时导出灾备数据,可最大限度的减少数据备份对系统造成的性能影响。其次是非结构化数据方面,也是采用同样的设计,将主Web服务器上的非结构化数据同步到从Web服务器上后,再从从Web用服务器上将数据导出至灾备系统。

在灾备前置机中,配置拉取生产系统灾备数据的定时任务。灾备数据在灾备前置机暂存后,通过另一定时任务分发到灾备系统相应的服务器上备用。

在灾备系统各服务器上,配置定时任务,用来清除过期的备份数据,防止因数据量过多导致影响服务器启动的情况发生。

当灾难发生的时候,管理员获得切换灾备系统的指令后,运行事先准备好的脚本依次启动灾备系统的各服务,将域名解析切换到灾备系统对外IP,即可完成灾难转移。

当灾难因素消除、生产系统恢复服务能力后,管理员收到回切指令后,应先将域名暂停解析,防止数据发生变化,然后将灾备系统数据手动部署回生产系统并启动相关的服务,再将域名指向生产系统,即完成了回切操作。

4.1服务器配置和应用配置

4.2数据同步

4.2.1数据同步实施拓扑

4.2.2数据同步实施拓扑及步骤如下

应用服务器将数据通过数据同步工具(如rsync)定时推送到文件服务器,再由灾备前置机通过vpn隧道链路,将数据定时拉取到本地。

主数据库通过同步服务(如AlwaysOn),将数据同步到从服务器,从服务器设置定时备份任务,每10min备份一次数据库,再由灾备前置机通过vpn隧道链路,将备份数据定时拉取到本地。

灾备前置机将拉取到的数据传输到灾备系统各服务器上。

4.3风险和应对措施

4.3.1、风险

  1. 灾备系统的搭建涉及到生产系统,需要运维窗口期。搭建过程中会关闭系统服务,用户无法访问。
  2. 搭建过程中会涉及到生产系统服务器的系统配置、应用配置、数据存储,存在数据丢失的风险。

4.3.2、应对措施

  1. 选择合适的时间进行灾备系统的搭建并提前向用户发送通知。
  2. 对生产系统服务器的系统配置、应用配置以及数据提前做好备份。

5、灾备系统启动操作流程

正常情况下,系统用户通过域名对系统进行访问。而域名是绑定生产系统IP地址才使得这种访问模式成为可能。当决定进行灾备系统切换操作时,管理员应关闭灾备系统存储设备接收生产系统数据的同步策略,防止在生产系统维修期间产生意外的数据同步导致数据混乱的情况发生。然后将域名所绑定的生产系统IP地址替换为灾备系统的IP地址,实现网络访问路径的切换。

在确定生产系统恢复服务能力之后,应先关闭生产系统存储设备的备份策略,并将灾备系统存储设备的备份策略激活,使生产系统可以获得灾备系统在对外服务期间所接收到的最新数据。

6、生产系统回切操作流程

当决定进行生产系统回切操作时,应首先发布公告打开运维窗口。在该窗口内,管理员应先将域名与灾备系统IP进行解绑,并将灾备系统IP地址禁用,保证系统用户在该时间段内不会再在系统中产生新的业务数据。之后将灾备系统存储设备内的数据同步至生产系统的存储设备内。

当数据同步完成后,可以先利用生产系统的IP地址进行访问测试。确认系统没有问题的情况下,停用灾备系统存储设备与生产系统存储设备之间的同步策略,启动生产系统存储设备到灾备系统存储设备的同步策略,将域名与生产系统IP地址进行绑定,最后发布公告退出运维窗口,回切操作完成。

附件一:灾备数据定义

序号

服务器

应用

挂载目录

存储目录

数据说明

备注

1

Web服务器

系统Web服务

/app/data/uploadFile/

用户上传照片、文档等资料

2

WebService

服务器

系统Webservice服务

3

Service服务器

系统Service服务

/app/data/uploadFile/

用户上传照片、文档等资料

这篇关于异地灾备系统建设方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/638334

相关文章

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

C#实现高性能拍照与水印添加功能完整方案

《C#实现高性能拍照与水印添加功能完整方案》在工业检测、质量追溯等应用场景中,经常需要对产品进行拍照并添加相关信息水印,本文将详细介绍如何使用C#实现一个高性能的拍照和水印添加功能,包含完整的代码实现... 目录1. 概述2. 功能架构设计3. 核心代码实现python3.1 主拍照方法3.2 安全HBIT

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除