一种无代理的连续数据保护方法与流程

文档序号:14897456发布日期:2018-07-08 09:01阅读:340来源:国知局

本发明涉及数据保护技术领域,具体涉及一种无代理的连续数据保护方法。



背景技术:

cdp(continuousdataprotection连续数据保护)是一种连续捕获和保存数据变化,并将变化后的数据独立于初始数据进行保存的方法,该方法可以实现过去任意一个时间点的数据挂载、演练、接管和恢复。

通过cdp实时备份技术,可以实现到秒级的细颗粒度抓捕效果,将备份窗口降至可以实现的最小值,数据丢失的间隔误差随着备份技术的这种改进也达到秒级,与此同时存在的风险日益凸显。

现在的cdp实时备份技术都需要在用户的生产服务器上安装备份代理(agent),代理程序将前端受保护主机的磁盘数据,复制到后端cdp服务器的镜像磁盘。其中备份代理安装时附带安装的磁盘驱动截获系统每一次io写操作,将截获的io写操作,异步分发写入镜像磁盘。安装备份代理即意味着同时也要安装对系统产生不确定影响的磁盘驱动程序,对服务器的稳定运行增加风险。

同时,备份代理也一直用于扫描生产系统,并从操作系统、文件系统和应用程序中收集数据。备份代理备份完整的数据集、增量的文件变更或增量的块变更。近来,代理功能进一步发展为包括复制、压缩和加密等功能,所有这些功能都需要耗费生产系统资源。用于备份结构化数据库(rdbms关系数据库管理系统)、电子邮件、erp等应用程序代理通常是附加到系统框架层一种特殊代理或一些代码,每个代理都是独特的,无法与其他系统或应用程序共享。

大多数传统备份和数据保护软件都依赖备份代理的数据备份功能,所以要求备份代理必须安装在需要保护的生产服务器上。每个设备都要求管理员手动安装备份代理,这一点同样适用于代理的补丁、修复包和升级包。许多备份代理安装完成之后不能生效,需要重启生产系统。如果需要安装大量备份代理,那么这个过程将会非常繁琐,常常会导致备份管理员将升级或安装补丁的维护期延长。

对连续数据保护来说,备份虚拟机(vm)上的实现方式与在物理机上相同,备份vm也需要在vm生产系统安装备份代理。但每个备份代理都会占用资源,更多的vm意味着更多的代理资源。另外备份过程还会导致i/o争用,因为每个代理都试图同时进行备份,产生争用通常是因为这些代理并不知道争用的是服务器cpu、磁盘等资源,这些资源争用会导致连续数据保护服务器性能下降,并使备份周期延长。

备份代理还存在安全上的隐患,容易受到黑客的攻击,因为备份代理就是用来备份数据,所以备份代理可以访问所有设备上的数据。因此,攻击了备份代理就可以掌握所有数据。而传统的备份软件都一定要有备份代理。

而现有的无代理备份方案只能基于虚拟化软件做定时备份,比如基于kvm(kernel-basedvirtualmachine)、esxi(专为运行虚拟机、最大限度降低配置要求和简化部署而设计)实现对虚拟机的定时备份。



技术实现要素:

为解决现有技术中的不足,本发明提供一种无代理的连续数据保护方法,解决了以往代理程序对服务器产生的稳定性、安全性问题以及在生产机中安装代理程序会对服务器的性能损耗问题,备份代理软件升级维护繁琐等问题。

为了实现上述目标,本发明采用如下技术方案:一种无代理的连续数据保护方法,其特征在于:包括步骤:

一、生产服务器中的无代理连续数据保护脚本向连续数据保护服务器申请并挂载iscsi磁盘;

二、无代理连续数据保护脚本配置动态磁盘或者lvm镜像卷,初始化备份生产服务器的数据,当检测到生产服务器有增量数据时将增量数据同步写入到iscsi磁盘,实现无代理连续数据保护。

前述的一种无代理的连续数据保护方法,其特征是:所述步骤一、生产服务器中的无代理连续数据保护脚本向连续数据保护服务器申请并挂载iscsi磁盘,具体步骤包括:

1.1向生产服务器拷贝无代理连续数据保护脚本,运行该脚本;

1.2无代理连续数据保护脚本发消息给连续数据保护服务器,请求连续数据保护服务器生成和生产服务器数据磁盘大小一致的iscsi磁盘;

1.3若磁盘创建成功,连续数据保护服务器生成iscsi磁盘,无代理连续数据保护脚本调用iscsi服务提供的接口,连接和挂载iscsi磁盘到生产服务器;否则,日志记录错误原因。

前述的一种无代理的连续数据保护方法,其特征是:所述所述步骤二、无代理连续保护脚本配置动态磁盘或者lvm镜像卷,初始化备份生产服务器的数据,当检测到生产服务器有增量数据时将增量数据同步写入到iscsi磁盘,具体步骤包括:

2.1无代理连续保护脚本调用diskpart或者lvm系统命令关联挂载到生产服务器的iscsi磁盘和生产服务器的数据盘,使iscsi磁盘成为生产服务器数据盘的镜像卷;

2.2无代理连续保护脚本配置动态磁盘或者lvm镜像卷完成后镜像卷机制自动将生产服务器数据盘的数据同步写入到iscsi磁盘,利用动态磁盘或者lvm镜像卷特性,间接将生产服务器的数据盘数据备份到连续数据保护服务器;

2.3初始化备份成功后,动态磁盘或者lvm镜像卷机制检测到生产服务器有增量数据写入数据盘,将增量数据同步写入到iscsi磁盘,实现将生产服务器变化的数据也备份到连续保护服务器上的功能,实现无代理连续数据保护的效果;若初始化备份不成功,则日志记录错误原因。

前述的一种无代理的连续数据保护方法,其特征是:步骤1.2中,所述连续数据保护服务器生成和生产服务器数据磁盘大小一致的iscsi磁盘,具体为:

连续数据保护服务器监听网络消息,接收到生产服务器的无代理连续数据保护脚本消息创建iscsi镜像盘的消息后,调用连续数据保护服务器上运行的块设备驱动提供的接口创建虚拟磁盘,利用连续数据保护服务器安装的linux操作系统集成的iscsi服务端模块将该虚拟磁盘映射成iscsi磁盘。

前述的一种无代理的连续数据保护方法,其特征是:所述步骤2.2中,将生产服务器数据盘的数据同步写入到iscsi磁盘,利用动态磁盘或者lvm镜像卷特性间接将生产服务器的数据盘数据备份到连续数据保护服务器,具体步骤为:

块设备驱动能拦截到生产服务器写iscsi磁盘的操作,块设备驱动记录生产服务器写iscsi磁盘的数据索引并加上时间戳,按生产服务器io写入顺序,写入到连续数据备份服务器的备份文件里。

前述的一种无代理的连续数据保护方法,其特征是:所述步骤2.3中,将增量数据同步写入到iscsi磁盘,具体步骤为:

每当生产服务器有新的增量io写入iscsi镜像磁盘时,动态磁盘或者lvm镜像卷的特性使得新写入的io数据同步写入到iscsi镜像磁盘,从而能连续保护生产服务器的数据。

前述的一种无代理的连续数据保护方法,其特征是:所述无代理连续数据保护脚本以python语言来实现,无代理连续数据保护脚本包括网络模块、iscsi管理模块、动态磁盘或者lvm镜像卷配置模块、异常处理模块、日志模块、进度获取模块:

1)网络模块负责接收和发送网络消息到连续数据保护服务器,包括向连续数据保护服务器发送创建iscsi盘的消息,接收连续数据保护服务器创建iscsi磁盘成功的消息;

2)iscsi管理模块通过iscsi服务的接口连接连续数据保护服务器创建的iscsi磁盘,并挂载iscsi磁盘到本地,并定时检测生产服务器和iscsi磁盘的连接状态,检测到iscsi磁盘断开连接后主动去连接挂载iscsi磁盘;

3)动态磁盘或者lvm镜像卷配置模块调用diskpart或者lvm系统命令关联挂载到生产服务器的iscsi磁盘和生产服务器的数据盘,并初始化备份生产服务器的数据到连续数据保护服务器提供的iscsi磁盘;

4)异常处理模块负责处理iscsi磁盘断开后iscsi连接资源的释放,以及配置好动态磁盘或者lvm镜像卷后进行初始化中出现错误的重试;

5)日志模块记录脚本运行日志,生成日志文件;

6)进度获取模块,配置好动态磁盘或者lvm镜像卷后进行初始化时,定时调用动态磁盘或者lvm接口获取初始化备份的进度。

本发明所达到的有益效果:本发明用无代理的连续数据保护脚本来代替传统备份代理,无代理的连续数据保护脚本以python语言来实现,无需安装,对生产服务器进行保护时拷贝脚本到生产服务器运行即可,如果生产服务器没有python运行时环境时,只需要再拷贝绿色版的python运行时环境即可,是传统备份代理的轻量级实现;

将现有成熟的iscsi共享存储、动态磁盘、lvm(逻辑卷管理)、镜像卷、数据快照等多种技术进行组合和相互渗透,通过运行无代理连续数据保护脚本就可以实现传统备份代理的功能,最大限度地提高了连续数据保护部署的便捷性和灵活性,同时也减少了生产服务器稳定运行的干扰和负担。

附图说明

图1是本发明无代理的连续数据保护系统结构图;

图2是本发明生产服务器端的实现流程;

图3是本发明连续数据保护服务器端的实现流程图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

如图1所示,一种无代理的连续数据保护系统,包括管理服务器、生产服务器和连续数据保护服务器,他们之间通过网络相连。管理服务器用于分配和回收,管理内部服务器资源;生产服务器用于运行业务系统;连续数据保护服务器用于连续备份生产服务器和管理服务器的数据,并利用快照技术,可以为添加保护的生产服务器的磁盘数据制作任意时间点的副本,从而为生产服务器系统异常后的业务接管提供保障。

如图2所示,一种无代理的连续数据保护方法,包括以下步骤:

一、生产服务器中的无代理连续数据保护脚本向连续数据保护服务器申请并挂载iscsi(internetsmallcomputersysteminterface互联网小型计算机系统接口)磁盘;

二、无代理连续数据保护脚本配置动态磁盘或者lvm镜像卷,初始化备份生产服务器的数据,当检测到生产服务器有增量数据时将增量数据同步写入到iscsi磁盘,实现无代理连续数据保护。

无代理连续数据保护脚本以python语言来实现。代理连续数据保护脚本分为网络模块、iscsi管理模块、动态磁盘或者lvm镜像卷配置模块、异常处理模块、日志模块、进度获取模块等。

1).网络模块负责接收和发送网络消息到连续数据保护服务器,如向连续数据保护服务器发送创建iscsi盘的消息;接收连续数据保护服务器创建iscsi磁盘成功的消息等;

2).iscsi管理模块通过系统iscsi服务的接口连接连续数据保护服务器创建的iscsi磁盘,并挂载iscsi磁盘到本地,并定时(1分钟)检测生产服务器和iscsi磁盘的连接状态,检测到iscsi磁盘断开连接后主动去连接挂载iscsi磁盘;

3).动态磁盘或者lvm镜像卷配置模块调用diskpart或者lvm系统命令关联挂载到生产服务器的iscsi磁盘和生产服务器的数据盘,并初始化备份生产服务器的数据到连续数据保护服务器提供的iscsi磁盘;

4).异常处理模块负责处理iscsi磁盘断开后iscsi连接资源的释放,以及配置好动态磁盘或者lvm镜像卷后进行初始化中出现错误的重试等;

5).日志模块记录脚本运行日志,生成日志文件;

6).进度获取模块,配置好动态磁盘或者lvm镜像卷后进行初始化时,定时调用动态磁盘或者lvm接口获取初始化备份的进度。

所述步骤一、生产服务器中的无代理连续数据保护脚本向连续数据保护服务器申请并挂载iscsi磁盘;具体步骤包括:

1.1向生产服务器拷贝无代理连续数据保护脚本,运行该脚本;

1.2无代理连续数据保护脚本发消息给连续数据保护服务器,请求连续数据保护服务器生成一个和生产服务器数据磁盘大小一致的iscsi磁盘(每一块需要保护的生产服务器数据盘都要向连续保护数据服务器申请生成对应大小的iscsi磁盘,本文以生产服务器只有一块数据盘为例阐述无代理的连续保护数据方法);

1.3若磁盘创建成功,连续数据保护服务器生成iscsi磁盘,无代理连续数据保护脚本调用iscsi服务提供的接口,连接和挂载iscsi磁盘到生产服务器;否则,日志记录错误原因。

所述步骤二、无代理连续保护脚本配置动态磁盘或者lvm镜像卷,初始化备份生产服务器的数据,当检测到生产服务器有增量数据时将增量数据同步写入到iscsi磁盘,具体步骤包括:

2.1无代理连续保护脚本调用diskpart或者lvm系统命令关联挂载到生产服务器的iscsi磁盘和生产服务器的数据盘,使iscsi磁盘成为生产服务器数据盘的镜像卷;

2.2无代理连续保护脚本配置动态磁盘或者lvm镜像卷完成后镜像卷机制自动将生产服务器数据盘的数据同步写入到iscsi磁盘,利用动态磁盘或者lvm镜像卷特性(生产服务器向数据盘写的数据也同步写入数据盘的镜像盘)间接将生产服务器的数据盘数据备份到连续数据保护服务器;

2.3初始化备份成功后,动态磁盘或者lvm镜像卷机制循坏检测生产服务器是否有增量数据写入数据盘,如果有增量数据写入到数据盘,将增量数据同步写入到iscsi磁盘,实现将生产服务器变化的数据也备份到连续保护服务器上的功能,实现无代理连续数据保护的效果;若初始化备份不成功,则日志记录错误原因。

如图3所示,1.2步骤中,所述连续数据保护服务器生成一个和生产服务器数据磁盘大小一致的iscsi磁盘,具体步骤为:

连续数据保护服务器监听网络消息,若接收到生产服务器的无代理连续数据保护脚本消息创建iscsi镜像盘的消息,调用块设备驱动接口创建虚拟磁盘,利用生产服务器集成的iscsi模块将该虚拟磁盘映射成iscsi磁盘;

所述步骤2.2中,将生产服务器数据盘的数据同步写入到iscsi磁盘,利用动态磁盘或者lvm镜像卷特性(生产服务器向数据盘写的数据也同步写入数据盘的镜像盘)间接将生产服务器的数据盘数据备份到连续数据保护服务器,具体步骤为:

生产服务器的无代理连续保护脚本通过该脚本的iscsi管理模块连接挂载iscsi磁盘到本地,通过该脚本的动态磁盘或者lvm镜像卷配置模块关联挂载到生产服务器的iscsi磁盘和生产服务器的数据盘,使iscsi磁盘成为生产服务器数据盘的镜像卷。无代理连续保护脚本配置动态磁盘或者lvm镜像卷完成后镜像卷机制自动将生产服务器数据盘的数据同步写入到iscsi磁盘。

所述步骤2.3中,将增量数据同步写入到iscsi磁盘,具体步骤为:

每当生产服务器有新的增量io写入数据盘时,动态磁盘或者lvm镜像卷的系统特性使得新写入的io数据同步写入到iscsi镜像磁盘。iscsi磁盘是由连续数据保护服务器块设备驱动创建出来的,块设备驱动能拦截到生产服务器写iscsi磁盘的操作。块设备驱动记录生产服务器写iscsi磁盘的数据索引并加上时间戳,按生产服务器io顺序,写入到连续数据备份服务器的备份文件里。这样服务器就达到了连续备份生产服务器数据的目的,又能根据文件里记录的时间制作生产服务器数据盘任意时间点的数据副本。

本发明用无代理的连续数据保护脚本来代替传统备份代理,无代理的连续数据保护脚本以python语言来实现,无需安装,对生产服务器进行保护时拷贝脚本到生产服务器运行即可,如果生产服务器没有python运行时环境时,只需要再拷贝绿色版的python运行时环境即可,是传统备份代理的轻量级实现;

将现有成熟的iscsi共享存储、动态磁盘、lvm(逻辑卷管理)、镜像卷、数据快照等多种技术进行组合和相互渗透,通过运行无代理连续数据保护脚本就可以实现传统备份代理的功能,最大限度地提高了连续数据保护部署的便捷性和灵活性,同时也减少了生产服务器稳定运行的干扰和负担。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1