基于存储阵列快照功能的数据实时备份方法及系统.pdf

上传人:n****g 文档编号:4241601 上传时间:2018-09-10 格式:PDF 页数:12 大小:479.39KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110437461.1

申请日:

2011.12.23

公开号:

CN102402471A

公开日:

2012.04.04

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 11/14申请公布日:20120404|||实质审查的生效IPC(主分类):G06F 11/14申请日:20111223|||公开

IPC分类号:

G06F11/14

主分类号:

G06F11/14

申请人:

创新科软件技术(深圳)有限公司; 创新科存储技术有限公司

发明人:

赵胜志

地址:

518057 广东省深圳市南山区科发路3号长城电脑大厦工业厂房1号楼2楼D段西

优先权:

专利代理机构:

北京德琦知识产权代理有限公司 11018

代理人:

牛峥;王丽琴

PDF下载: PDF下载
内容摘要

本发明提供了一种基于存储阵列快照功能的数据实时备份方法,包括如下步骤:A、将存储阵列的源卷加载到应用服务器上,用以存储应用服务器的数据文件;B、存储阵列生成所述源卷的快照卷;C、建立快照卷到备份服务器的映射关系,并将快照卷加载到备份服务器。本发明还提供了一种基于存储阵列快照功能的数据实时备份系统。本发明方案可实现零备份窗口,并且能够极大节省应用服务器资源,同时备份过程对应用服务器不会造成性能上的冲击。

权利要求书

1: 一种基于存储阵列快照功能的数据实时备份方法, 其特征在于, 包括如下步骤 : A、 将存储阵列的源卷加载到应用服务器上, 用以存储应用服务器的数据文件 ; B、 存储阵列生成所述源卷的快照卷 ; C、 建立快照卷到备份服务器的映射关系, 并将快照卷加载到备份服务器。
2: 根据权利要求 1 所述的方法, 其特征在于, 步骤 C 之后进一步包括 : D、 备份服务器将所加载的快照卷的数据备份到介质服务器中。
3: 根据权利要求 2 所述的方法, 其特征在于, 步骤 D 之后进一步包括 : 从备份服务器上 移除加载的快照卷, 并删除快照卷的映射信息。
4: 根据权利要求 2 所述的方法, 其特征在于, 所述介质服务器为磁带库。
5: 根据权利要求 1 所述的方法, 其特征在于, 所述应用服务器的文件系统为新技术文 件系统 NTFS。
6: 一种基于存储阵列快照功能的数据实时备份系统, 其特征在于, 包括应用服务器、 备 份服务器和存储阵列 ; 所述应用服务器包括备份代理模块, 备份代理模块用于加载存储阵列的源卷以存储自 身的数据文件, 以及命令存储阵列生成源卷的快照卷 ; 所述存储阵列用于根据来自应用服务器的命令, 生成所述源卷的快照卷 ; 所述备份服务器用于建立快照卷到备份服务器的映射关系, 并将快照卷加载到备份服 务器。
7: 根据权利要求 6 所述的系统, 其特征在于, 该系统进一步包括介质服务器 ; 所述备份 服务器进一步用于将所加载的快照卷的数据备份到介质服务器。
8: 根据权利要求 7 所述的系统, 其特征在于, 所述备份服务器包括 : 备份处理模块、 备 份前处理脚本、 备份后处理脚本、 脚本应用程序接口 ; 所述备份处理模块用于 : 在进行备份之前调用备份前处理脚本 ; 在进行备份时将数据 从快照卷中移动到介质服务器 ; 在备份完成后调用备份后处理脚本 ; 备份前处理脚本用于命令应用服务器对存储阵列的源卷进行快照生成, 调用脚本应用 程序接口对生成的快照添加映射并且将生成的快照卷加载到备份服务器 ; 备份后处理脚本用于调用脚本应用程序接口从备份服务器上移除加载的快照卷 ; 所述脚本应用程序接口用于在备份前处理脚本或备份后处理脚本的调用下与存储阵 列通信。
9: 根据权利要求 6 所述的系统, 其特征在于, 所述备份代理模块包括卷映射拷贝服务 VSS 请求端、 VSS 服务模块、 VSS 硬件提供模块、 快照代理模块和 VSS 编写器 ; VSS 请求端用于向 VSS 服务模块发送建立快照的服务请求, 以及接收 VSS 服务模块导出 的快照信息 ; 所述 VSS 服务模块用于根据 VSS 请求端的请求, 刷新并保持 VSS 编写器, 与 VSS 硬件提 供模块交互进行快照操作, 完成后释放 VSS 编写器, 并将快照卷的读写属性设置为只读 ; VSS 硬件提供模块用于根据 VSS 服务模块的指令, 通过快照代理模块命令存储阵列生 成源卷的快照卷 ; 快照代理模块用于根据 VSS 硬件提供模块的指示, 与存储阵列进行通信。
10: 根据权利要求 9 所述的系统, 其特征在于, 所述 VSS 请求端进一步包括命令行界面 2 CLI 操作单元、 备份代理单元和日志记录单元 ; 日志记录单元用于记录跟踪信息并将相关信息记录到日志文件中 ; CLI 操作单元提供了用户命令接口, 负责接收处理 CLI 命令并将其解析成为 VSS 能够使 用的相关数据 ; 备份代理单元用于接收远端脚本或者应用的命令请求, 并将其送给 CLI 操作单元, 同 时等待 CLI 操作单元解析处理完成后, 返回执行结果给远端调用脚本或者应用。

说明书


基于存储阵列快照功能的数据实时备份方法及系统

    【技术领域】
     本发明涉及计算机数据备份技术, 尤其涉及基于存储阵列快照功能的数据实时备份方法。 背景技术 数据备份是容灾的基础, 是指为防止系统出现操作失误或系统故障导致数据丢 失, 而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。
     传统的基于文件拷贝的备份通常需要应用程序暂停运行, 然后开始拷贝数据, 等 拷贝完成后再恢复应用程序的运行。而且当数据量比较大时, 拷贝数据的时间一般会比较 长, 也就是通常说的备份窗口很大。这样会严重的影响业务系统的正常运行。
     传统的基于文件拷贝的备份中, 备份数据通常需要经过局域网从应用服务器拷贝 到备份服务器上, 然后保存到磁带中。 由于备份数据量一般都非常大, 在备份期间会占用大 量的局域网络带宽, 对用户的正常业务使用造成一定程度的影响。
     传统的基于文件拷贝的备份中, 备份数据对象通常需要在不被其他应用所访问使 用的时候才能进行访问备份, 会对用户的正常业务带来影响。此外, 为了实现数据在线备 份, 传统的备份方案都是基于应用服务器的, 需要占用应用服务器的大量 CPU 和内存资源。 因此也会对用户的正常业务造成一定影响。
     发明内容 本发明提供了基于存储阵列快照功能的数据实时备份方法及系统, 可实现零备份 窗口, 并且能够极大节省应用服务器资源, 同时备份过程对应用服务器不会造成性能上的 冲击。
     本发明实施例提供了一种基于存储阵列快照功能的数据实时备份方法, 包括如下 步骤 :
     A、 将存储阵列的源卷加载到应用服务器上, 用以存储应用服务器的数据文件 ;
     B、 存储阵列生成所述源卷的快照卷 ;
     C、 建立快照卷到备份服务器的映射关系, 并将快照卷加载到备份服务器。
     较佳地, 步骤 C 之后进一步包括 :
     D、 备份服务器将所加载的快照卷的数据备份到介质服务器中。
     较佳地, 步骤 D 之后进一步包括 : 从备份服务器上移除加载的快照卷, 并删除快照 卷的映射信息。
     较佳地, 所述介质服务器为磁带库。
     较佳地, 所述应用服务器的文件系统为新技术文件系统 NTFS。
     本发明实施例还提供了一种基于存储阵列快照功能的数据实时备份系统, 包括应 用服务器、 备份服务器和存储阵列 ;
     所述应用服务器包括备份代理模块, 备份代理模块用于加载存储阵列的源卷以存
     储自身的数据文件, 以及命令存储阵列生成源卷的快照卷 ;
     所述存储阵列用于根据来自应用服务器的命令, 生成所述源卷的快照卷 ;
     所述备份服务器用于建立快照卷到备份服务器的映射关系, 并将快照卷加载到备 份服务器。
     较佳地, 该系统进一步包括介质服务器 ; 所述备份服务器进一步用于将所加载的 快照卷的数据备份到介质服务器。
     较佳地, 所述备份服务器包括 : 备份处理模块、 备份前处理脚本、 备份后处理脚本、 脚本应用程序接口 ;
     所述备份处理模块用于 : 在进行备份之前调用备份前处理脚本 ; 在进行备份时将 数据从快照卷中移动到介质服务器 ; 在备份完成后调用备份后处理脚本 ;
     备份前处理脚本用于命令应用服务器对存储阵列的源卷进行快照生成, 调用脚本 应用程序接口对生成的快照添加映射并且将生成的快照卷加载到备份服务器 ;
     备份后处理脚本用于调用脚本应用程序接口从备份服务器上移除加载的快照 卷;
     所述脚本应用程序接口用于在备份前处理脚本或备份后处理脚本的调用下与存 储阵列通信。
     较佳地, 所述备份代理模块包括卷映射拷贝服务 VSS 请求端、 VSS 服务模块、 VSS 硬 件提供模块、 快照代理模块和 VSS 编写器 ;
     VSS 请求端用于向 VSS 服务模块发送建立快照的服务请求, 以及接收 VSS 服务模块 导出的快照信息 ;
     所述 VSS 服务模块用于根据 VSS 请求端的请求, 刷新并保持 VSS 编写器, 与 VSS 硬 件提供模块交互进行快照操作, 完成后释放 VSS 编写器, 并将快照卷的读写属性设置为只 读;
     VSS 硬件提供模块用于根据 VSS 服务模块的指令, 通过快照代理模块命令存储阵 列生成源卷的快照卷 ;
     快照代理模块用于根据 VSS 硬件提供模块的指示, 与存储阵列进行通信。
     较佳地, 所述 VSS 请求端进一步包括 CLI 操作单元、 备份代理单元和日志记录单 元;
     日志记录单元用于记录跟踪信息并将相关信息记录到日志文件中 ;
     CLI 操作单元提供了用户命令接口, 负责接收处理 CLI 命令并将其解析成为 VSS 能 够使用的相关数据 ;
     备份代理单元用于接收远端脚本或者应用的命令请求, 并将其送给 CLI 操作单 元, 同时等待 CLI 操作单元解析处理完成后, 返回执行结果给远端调用脚本或者应用。
     从以上技术方案可以看出, 通过利用存储阵列快照功能, 实现将数据从应用服务 器备份到备份服务器, 能够极大节省应用服务器资源, 同时备份过程对应用服务器不会造 成任何性能上的冲击, 另外, 备份窗口为零, 从而导致应用服务器上的业务系统能够连续运 行, 不会被中断, 从而在一些需要业务系统不间断运行的场景中, 本备份方案能够发挥举足 轻重的作用, 同时, 备份后的数据迁移不走普通的局域网拷贝, 而是通过光纤通道进行迁 移, 也极大的减轻了 LAN 数据交换的负担。附图说明
     图 1 为本发明实施例提供的数据实时备份系统示意图 ; 图 2 所示为本发明实施例提供的数据实时备份系统中的数据流与控制流示意图 ; 图 3 为应用服务器中的备份代理模块的逻辑结构图 ; 图 4 为一个完整的备份过程中备份代理模块之间的消息流程图。具体实施方式
     针 对 现 有 的 数 据 备 份 方 法 存 在 的 问 题, 本发明提出利用存储阵列的快照 (Snapshot) 功能实现数据备份。
     存储网络行业协会 (SNIA) 对快照的定义是 : 关于指定数据集合的一个完全可用 拷贝, 该拷贝包括相应数据在某个时间点 ( 拷贝开始的时间点 ) 的映像。快照可以是其所 表示的数据的一个副本, 也可以是数据的一个复制品。快照的作用主要是能够进行在线数 据恢复, 当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复, 将数据恢复成 快照产生时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道, 当原数据进行在线应用处理时, 用户可以访问快照数据, 还可以利用快照进行测试等工作。 存储阵列快照功能可以对一个或多个逻辑卷做出瞬间快照, 也就是那一时刻的源 逻辑卷的完整拷贝。 本发明正是利用存储阵列的这一功能, 对源卷进行快照生成, 并利用生 成的快照卷进行在线数据备份。快照卷一方面可以作为最终备份可以实现快速恢复, 另一 方面可以结合第三方备份软件, 将数据从快照卷上再备份到备份介质上, 比如磁带库。
     需要注意的是, 这里的快照生成都是数据块一级的操作, 无法保证应用系统文件 级别的数据一致性, 因此, 为了保证文件系统级别的数据一致性, 还需要在对源卷制作快照 之前使上层应用禁止对源逻辑卷进行数据块一级的写操作, 从而能保证生成的快照在上层 应用所见到的备份数据的一致性, 这也是本解决方案关注的焦点之一。
     为使本发明技术方案的原理、 特点及技术效果更加清楚, 以下通过具体实施例对 本发明方案进行进一步详细阐述。
     图 1 为本发明实施例提供的数据实时备份系统示意图。 该系统包括存储阵列 101、 应用服务器 102、 备份服务器 103、 可能还包括介质服务器 104。其中, 存储阵列 101 包括源 卷, 以及所述源卷的快照卷。存储阵列 101 的源卷加载到应用服务器 102 上, 用以存储应用 服务器的数据文件。存储阵列 101 的快照卷到备份服务器 103 具有映射关系, 并将快照卷 加载到备份服务器 103, 备份服务器 103 可以利用快照卷中的备份数据对应用服务器 101 的 数据进行快速恢复 ; 备份服务器 103 将所加载的快照卷的数据备份到介质服务器 104 的存 储中实现进一步的备份。介质服务器 104 通常可以是磁带库。该备份过程中利用了存储阵 列 101 的快照功能。
     图 2 所示为本发明实施例提供的数据实时备份系统中的数据流与控制流示意图。
     数据流包括 :
     I: 存储阵列 101 的源卷加载到应用服务器 102 上面, 用以存储数据文件。
     II : 存储阵列 101 的快照卷映射到备份服务器 103 用以拷贝备份数据。
     III : 备份数据迁移到磁带库 105。
     控制流
     ①: 备份服务器 103 的备份处理模块在进行备份之前调用备份前处理脚本。
     ②: 备份前处理脚本调用备份代理模块, 命令应用服务器 102 的备份代理模块对 存储阵列 101 的源卷进行快照生成。
     ③: 备份代理模块与存储阵列 101 通信, 存储阵列 101 生成源卷的快照卷。
     ④: 备份前处理脚本调用脚本应用程序接口 (API) 对生成的快照添加映射并且将 生成的快照卷加载到备份服务器。
     ⑤: 脚本 API 与存储阵列 101 通信, 建立快照卷到备份服务器 103 的映射关系, 并 将快照卷加载到备份服务器 103。
     ⑥: 备份处理模块将数据从快照卷中移动到磁带库 105 中。
     ⑦: 备份完成后, 备份处理模块调用备份后处理脚本。
     ⑧: 备份后处理脚本调用脚本 API 从备份服务器 103 上移除加载的快照卷。
     ⑨: 脚本 API 与存储阵列 101 通信, 删除快照卷的映射信息。
     本发明实施例中, 应用服务器 102 中使用的文件系统为新技术文件系统 (NTFS, New Technology File System)。 为了实现对 NTFS 文件系统卷的一次完整的以及稳定可用的备份, 备份操作需要 处理以下关注点 :
     1、 备份过程中无法访问的文件的处理。
     2、 不一致的文件状态的处理。
     3、 文件系统的元数据 (Meta-data) 的处理。
     4、 最小化服务中断的时间。
     为了实现对存储阵列的操作, 以及对 NTFS 文件系统的操作, 本发明实施例方案需 要实现一个中间的备份代理软件, 备份代理软件主要的工作就是控制 NTFS 文件系统的相 关操作以及对 NTFS 文件系统所在源逻辑卷生成快照的操作。
     图 3 为应用服务器 102 中的备份代理模块的逻辑结构图。该备份代理模块包括卷 映射拷贝服务 (VSS, Volume Shadow copy Service) 请求端 301、 VSS 服务模块 305、 VSS 硬 件提供模块 306、 快照代理模块 307、 VSS 编写器 308。
     其中, VSS 服务模块 305 用于根据 VSS 请求端的请求, 刷新并保持 VSS 编写器, 与 VSS 硬件提供模块交互进行快照操作, 完成后释放 VSS 编写器, 并将快照卷的读写属性设置 为只读。VSS 服务模块 305 使用 “IOCTL_VOLSNAP_FLUSH_AND_HOLD_WRITES ” 以及 “IOCTL_ VOLSNAP_RELEASE_WRITES” 两个 IO 控制 (IOCTRL) 命令来处理文件系统级别的数据一致性 问题, 通过这个两个控制命令, 能够保证备份数据的一致性。具体地, 当 VSS 服务器模块 收到 “IOCTL_VOLSNAP_FLUSH_AND_HOLD_WRITES” 的 IO 控制消息后, 会将 VSS 编写器缓存中 数据刷新到磁盘中, 并阻塞 VSS 编写器对磁盘的 I/O, 使 VSS 编写器进入保持 (HOLD) 阶段, 本 I/O 控制过后, 磁盘处于只读状态 ; 而当 VSS 服务器模块收到 “IOCTL_VOLSNAP_RELEASE_ WRITES” 的 IO 控制消息后, 将释放编写器对磁盘的 I/O 操作, 编写器会将在保持阶段所缓存 的对磁盘的 I/O 数据刷新到磁盘中, 从而保证备份数据以及应用数据的一致性。
     而对于应用级别的系统一致性问题, 需要应用程序的编写器 (Writer) 来处理自 身打开的文件的一致性, 例如 SQL Server 等应用, 如果应用程序没有提供 “Writer” , 那么,
     VSS 所备份的则是保证系统级别的一致性的文件备份。 对于上层应用来说, 需要在 VSS 服务 模块 305 保持住系统 IO 以后, 应用所打开的文件, 需要应用本身来维护相关的状态。也就 是应用程序需要提供编写器, 如果应用不具备编写器, 那备份出来的数据就是操作系统级 别的一致性备份。
     快照代理模块 307 负责与存储阵列进行通信, 例如对逻辑卷进行快照等操作。
     VSS 硬件提供模块 306 用于根据 VSS 服务模块 305 的指令, 通过快照代理模块 307 命令存储阵列生成源卷的快照卷。
     VSS 请求端 301 用于向 VSS 服务模块发送建立快照的服务请求, 以及接收 VSS 服务 模块导出的快照信息。VSS 请求端 301 中进一步包括命令行界面 (CLI) 操作单元 302、 备份 代理单元 303 和日志记录单元 304。日志记录单元 304 用于记录跟踪信息并将相关信息记 录到日志文件中。 CLI 操作单元 302 提供了用户命令接口, 负责接收处理 CLI 命令并将其解 析成为 VSS 能够使用的一些相关数据。备份代理单元 303 是一个服务程序, 它负责接收远 端脚本或者应用的命令请求, 并将其送给 CLI 操作单元 302, 同时等待 CLI 操作单元 302 解 析处理完成后, 返回执行结果给远端调用脚本或者应用。
     图 4 示出了一个完整的备份过程中备份代理模块之间的消息流程。具体包括如下 步骤 : 步骤 401 至 404 : VSS 请求端与 VSS 服务模块交互, 建立 VSS 备份单元, 并对 VSS 备 份单元进行初始化, 设置备份状态, 收集编写器元数据。在此阶段, 备份会通过调用收集编 写器元数据 (GatherWriterMetadata) 接口完成初始化 VSS 请求端与 VSS 编写器以及填充 内部数据结构、 设定备份以及建立 VSS 请求端与 VSS 编写器通信等操作。
     步骤 405 : VSS 服务模块通知 (Onidentify)VSS 编写器进行生成编写器的只读元数 据文档 (Metadata Document)。
     步骤 406 : VSS 请求端与 VSS 服务模块交互, 设置备份的卷影副本内容。
     步骤 407 : 将所有需要备份的所有组件增加到备份组件文档 (Backup Components Document) 的备份集合中去。
     步骤 408-409 : 生成新的空的备份集合并将源卷加载到此备份集合中。
     步骤 410 至 411 : 判断逻辑卷是否支持建立快照, 若是, 则准备建立快照, 生成 “PrepareForBackup“事件。
     步骤 412 : 设置编写器状态, 使之准备进行备份。
     步骤 413 : 收集编写器状态信息。
     步骤 414 : 顺序提交所有卷影拷贝请求。
     步骤 415 : 完成快照准备。
     步骤 416 : VSS 编写器处理 “PrepareForSnapshot“事件, 通过此事件, 编写器能够 确定是否能能够参与备份操作。
     步骤 417 : VSS 编写器接收 “Freeze“事件, 将自己的状态设置成适合进行 VSS 操 作。
     步骤 418 : VSS 服务模块查询 VSS 硬件提供模块是否可以对源卷进行快照操作。
     步骤 419 : 刷新编写器缓存到源卷并保持编写器。需要刷新并保持 VSS 编写器的 持续时间约 10 秒。
     步骤 420 : 进行快照操作。 步骤 421 : 释放编写器 步骤 422 : 所有快照生成完毕后, 清除快照生成中产生的相关标志。 步骤 423 : VSS 编写器处理 “Thaw“事件, 用以将自己状态设置成正常状态。 步骤 424 : 对新生成的快照卷进行扫描, 填写相关结构信息。 步骤 425 : 通过调用 VSS 硬件提供模块设置新生成的快照卷, 使之在计算机上可见。 步骤 426 : 将计算机上可见的快照卷信息与 VSS 硬件提供模块提供的信息进行比 对, 从而进一步修正快照卷相关信息。
     步骤 427 : 设置 VSS 硬件提供模块使之支持 “自动恢复 “卷影副本。
     步骤 428 : 通知 VSS 编写器处理最终的编写器组件的元数据, 并且做清除操作 ( 删 除临时文件 )。
     步骤 429 : 通知 VSS 硬件提供器相应的快照卷的读写属性变成 “只读 “, 直到步骤 436。
     步骤 430 : 导出快照信息。
     步骤 431-432 : 生成可移动卷影副本所需步骤, 与步骤 425、 426 相同。
     步骤 433 : 收集编写器状态信息。
     步骤 434 : 备份完成。
     步骤 435 : 通知编写器处理 “备份完成” 事件。
     步骤 436-438 : 断开或者删除快照备份集合。步骤 439-440 : 编写器处理 “备份关 闭” 事件。当备份应用关闭或者崩溃的时候, 需要处理此事件。
     本方案可以实现零备份窗口, 也就是说在备份期间用户的应用程序可以继续运 行, 不会对业务系统造成任何影响。
     本方案可以实现备份数据不经过局域网, 而是从快照卷上通过光线通道直接移动 到磁带介质中。避免了对用户的局域网上的正常业务带来影响。
     本方案在系统运行过程中进行在线备份, 避免了对用户的正常业务带来影响。
     本方案可以将快照卷挂载到备份服务器上或介质服务器上, 这样在将备份数据的 移动到备份介质上是就不需要占用应用服务器上的 CPU 和内存资源。
     以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本发明保护的范围之内。
    

基于存储阵列快照功能的数据实时备份方法及系统.pdf_第1页
第1页 / 共12页
基于存储阵列快照功能的数据实时备份方法及系统.pdf_第2页
第2页 / 共12页
基于存储阵列快照功能的数据实时备份方法及系统.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《基于存储阵列快照功能的数据实时备份方法及系统.pdf》由会员分享,可在线阅读,更多相关《基于存储阵列快照功能的数据实时备份方法及系统.pdf(12页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102402471 A (43)申请公布日 2012.04.04 C N 1 0 2 4 0 2 4 7 1 A *CN102402471A* (21)申请号 201110437461.1 (22)申请日 2011.12.23 G06F 11/14(2006.01) (71)申请人创新科软件技术(深圳)有限公司 地址 518057 广东省深圳市南山区科发路3 号长城电脑大厦工业厂房1号楼2楼D 段西 申请人创新科存储技术有限公司 (72)发明人赵胜志 (74)专利代理机构北京德琦知识产权代理有限 公司 11018 代理人牛峥 王丽琴 (54) 发明名称 基于存储阵列快。

2、照功能的数据实时备份方法 及系统 (57) 摘要 本发明提供了一种基于存储阵列快照功能的 数据实时备份方法,包括如下步骤:A、将存储阵 列的源卷加载到应用服务器上,用以存储应用服 务器的数据文件;B、存储阵列生成所述源卷的快 照卷;C、建立快照卷到备份服务器的映射关系, 并将快照卷加载到备份服务器。本发明还提供了 一种基于存储阵列快照功能的数据实时备份系 统。本发明方案可实现零备份窗口,并且能够极大 节省应用服务器资源,同时备份过程对应用服务 器不会造成性能上的冲击。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 6 页 附图 。

3、3 页 CN 102402474 A 1/2页 2 1.一种基于存储阵列快照功能的数据实时备份方法,其特征在于,包括如下步骤: A、将存储阵列的源卷加载到应用服务器上,用以存储应用服务器的数据文件; B、存储阵列生成所述源卷的快照卷; C、建立快照卷到备份服务器的映射关系,并将快照卷加载到备份服务器。 2.根据权利要求1所述的方法,其特征在于,步骤C之后进一步包括: D、备份服务器将所加载的快照卷的数据备份到介质服务器中。 3.根据权利要求2所述的方法,其特征在于,步骤D之后进一步包括:从备份服务器上 移除加载的快照卷,并删除快照卷的映射信息。 4.根据权利要求2所述的方法,其特征在于,所述介。

4、质服务器为磁带库。 5.根据权利要求1所述的方法,其特征在于,所述应用服务器的文件系统为新技术文 件系统NTFS。 6.一种基于存储阵列快照功能的数据实时备份系统,其特征在于,包括应用服务器、备 份服务器和存储阵列; 所述应用服务器包括备份代理模块,备份代理模块用于加载存储阵列的源卷以存储自 身的数据文件,以及命令存储阵列生成源卷的快照卷; 所述存储阵列用于根据来自应用服务器的命令,生成所述源卷的快照卷; 所述备份服务器用于建立快照卷到备份服务器的映射关系,并将快照卷加载到备份服 务器。 7.根据权利要求6所述的系统,其特征在于,该系统进一步包括介质服务器;所述备份 服务器进一步用于将所加载的。

5、快照卷的数据备份到介质服务器。 8.根据权利要求7所述的系统,其特征在于,所述备份服务器包括:备份处理模块、备 份前处理脚本、备份后处理脚本、脚本应用程序接口; 所述备份处理模块用于:在进行备份之前调用备份前处理脚本;在进行备份时将数据 从快照卷中移动到介质服务器;在备份完成后调用备份后处理脚本; 备份前处理脚本用于命令应用服务器对存储阵列的源卷进行快照生成,调用脚本应用 程序接口对生成的快照添加映射并且将生成的快照卷加载到备份服务器; 备份后处理脚本用于调用脚本应用程序接口从备份服务器上移除加载的快照卷; 所述脚本应用程序接口用于在备份前处理脚本或备份后处理脚本的调用下与存储阵 列通信。 9。

6、.根据权利要求6所述的系统,其特征在于,所述备份代理模块包括卷映射拷贝服务 VSS请求端、VSS服务模块、VSS硬件提供模块、快照代理模块和VSS编写器; VSS请求端用于向VSS服务模块发送建立快照的服务请求,以及接收VSS服务模块导出 的快照信息; 所述VSS服务模块用于根据VSS请求端的请求,刷新并保持VSS编写器,与VSS硬件提 供模块交互进行快照操作,完成后释放VSS编写器,并将快照卷的读写属性设置为只读; VSS硬件提供模块用于根据VSS服务模块的指令,通过快照代理模块命令存储阵列生 成源卷的快照卷; 快照代理模块用于根据VSS硬件提供模块的指示,与存储阵列进行通信。 10.根据权。

7、利要求9所述的系统,其特征在于,所述VSS请求端进一步包括命令行界面 权 利 要 求 书CN 102402471 A CN 102402474 A 2/2页 3 CLI操作单元、备份代理单元和日志记录单元; 日志记录单元用于记录跟踪信息并将相关信息记录到日志文件中; CLI操作单元提供了用户命令接口,负责接收处理CLI命令并将其解析成为VSS能够使 用的相关数据; 备份代理单元用于接收远端脚本或者应用的命令请求,并将其送给CLI操作单元,同 时等待CLI操作单元解析处理完成后,返回执行结果给远端调用脚本或者应用。 权 利 要 求 书CN 102402471 A CN 102402474 A 1。

8、/6页 4 基于存储阵列快照功能的数据实时备份方法及系统 技术领域 0001 本发明涉及计算机数据备份技术,尤其涉及基于存储阵列快照功能的数据实时备 份方法。 背景技术 0002 数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢 失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。 0003 传统的基于文件拷贝的备份通常需要应用程序暂停运行,然后开始拷贝数据,等 拷贝完成后再恢复应用程序的运行。而且当数据量比较大时,拷贝数据的时间一般会比较 长,也就是通常说的备份窗口很大。这样会严重的影响业务系统的正常运行。 0004 传统的基于文件拷贝的备份中,备。

9、份数据通常需要经过局域网从应用服务器拷贝 到备份服务器上,然后保存到磁带中。由于备份数据量一般都非常大,在备份期间会占用大 量的局域网络带宽,对用户的正常业务使用造成一定程度的影响。 0005 传统的基于文件拷贝的备份中,备份数据对象通常需要在不被其他应用所访问使 用的时候才能进行访问备份,会对用户的正常业务带来影响。此外,为了实现数据在线备 份,传统的备份方案都是基于应用服务器的,需要占用应用服务器的大量CPU和内存资源。 因此也会对用户的正常业务造成一定影响。 发明内容 0006 本发明提供了基于存储阵列快照功能的数据实时备份方法及系统,可实现零备份 窗口,并且能够极大节省应用服务器资源,。

10、同时备份过程对应用服务器不会造成性能上的 冲击。 0007 本发明实施例提供了一种基于存储阵列快照功能的数据实时备份方法,包括如下 步骤: 0008 A、将存储阵列的源卷加载到应用服务器上,用以存储应用服务器的数据文件; 0009 B、存储阵列生成所述源卷的快照卷; 0010 C、建立快照卷到备份服务器的映射关系,并将快照卷加载到备份服务器。 0011 较佳地,步骤C之后进一步包括: 0012 D、备份服务器将所加载的快照卷的数据备份到介质服务器中。 0013 较佳地,步骤D之后进一步包括:从备份服务器上移除加载的快照卷,并删除快照 卷的映射信息。 0014 较佳地,所述介质服务器为磁带库。 。

11、0015 较佳地,所述应用服务器的文件系统为新技术文件系统NTFS。 0016 本发明实施例还提供了一种基于存储阵列快照功能的数据实时备份系统,包括应 用服务器、备份服务器和存储阵列; 0017 所述应用服务器包括备份代理模块,备份代理模块用于加载存储阵列的源卷以存 说 明 书CN 102402471 A CN 102402474 A 2/6页 5 储自身的数据文件,以及命令存储阵列生成源卷的快照卷; 0018 所述存储阵列用于根据来自应用服务器的命令,生成所述源卷的快照卷; 0019 所述备份服务器用于建立快照卷到备份服务器的映射关系,并将快照卷加载到备 份服务器。 0020 较佳地,该系统。

12、进一步包括介质服务器;所述备份服务器进一步用于将所加载的 快照卷的数据备份到介质服务器。 0021 较佳地,所述备份服务器包括:备份处理模块、备份前处理脚本、备份后处理脚本、 脚本应用程序接口; 0022 所述备份处理模块用于:在进行备份之前调用备份前处理脚本;在进行备份时将 数据从快照卷中移动到介质服务器;在备份完成后调用备份后处理脚本; 0023 备份前处理脚本用于命令应用服务器对存储阵列的源卷进行快照生成,调用脚本 应用程序接口对生成的快照添加映射并且将生成的快照卷加载到备份服务器; 0024 备份后处理脚本用于调用脚本应用程序接口从备份服务器上移除加载的快照 卷; 0025 所述脚本应。

13、用程序接口用于在备份前处理脚本或备份后处理脚本的调用下与存 储阵列通信。 0026 较佳地,所述备份代理模块包括卷映射拷贝服务VSS请求端、VSS服务模块、VSS硬 件提供模块、快照代理模块和VSS编写器; 0027 VSS请求端用于向VSS服务模块发送建立快照的服务请求,以及接收VSS服务模块 导出的快照信息; 0028 所述VSS服务模块用于根据VSS请求端的请求,刷新并保持VSS编写器,与VSS硬 件提供模块交互进行快照操作,完成后释放VSS编写器,并将快照卷的读写属性设置为只 读; 0029 VSS硬件提供模块用于根据VSS服务模块的指令,通过快照代理模块命令存储阵 列生成源卷的快照卷。

14、; 0030 快照代理模块用于根据VSS硬件提供模块的指示,与存储阵列进行通信。 0031 较佳地,所述VSS请求端进一步包括CLI操作单元、备份代理单元和日志记录单 元; 0032 日志记录单元用于记录跟踪信息并将相关信息记录到日志文件中; 0033 CLI操作单元提供了用户命令接口,负责接收处理CLI命令并将其解析成为VSS能 够使用的相关数据; 0034 备份代理单元用于接收远端脚本或者应用的命令请求,并将其送给CLI操作单 元,同时等待CLI操作单元解析处理完成后,返回执行结果给远端调用脚本或者应用。 0035 从以上技术方案可以看出,通过利用存储阵列快照功能,实现将数据从应用服务 器。

15、备份到备份服务器,能够极大节省应用服务器资源,同时备份过程对应用服务器不会造 成任何性能上的冲击,另外,备份窗口为零,从而导致应用服务器上的业务系统能够连续运 行,不会被中断,从而在一些需要业务系统不间断运行的场景中,本备份方案能够发挥举足 轻重的作用,同时,备份后的数据迁移不走普通的局域网拷贝,而是通过光纤通道进行迁 移,也极大的减轻了LAN数据交换的负担。 说 明 书CN 102402471 A CN 102402474 A 3/6页 6 附图说明 0036 图1为本发明实施例提供的数据实时备份系统示意图; 0037 图2所示为本发明实施例提供的数据实时备份系统中的数据流与控制流示意图; 。

16、0038 图3为应用服务器中的备份代理模块的逻辑结构图; 0039 图4为一个完整的备份过程中备份代理模块之间的消息流程图。 具体实施方式 0040 针对现有的数据备份方法存在的问题,本发明提出利用存储阵列的快照 (Snapshot)功能实现数据备份。 0041 存储网络行业协会(SNIA)对快照的定义是:关于指定数据集合的一个完全可用 拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所 表示的数据的一个副本,也可以是数据的一个复制品。快照的作用主要是能够进行在线数 据恢复,当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复,将数据恢复成 快照产生时间点的状态。

17、。快照的另一个作用是为存储用户提供了另外一个数据访问通道, 当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。 0042 存储阵列快照功能可以对一个或多个逻辑卷做出瞬间快照,也就是那一时刻的源 逻辑卷的完整拷贝。本发明正是利用存储阵列的这一功能,对源卷进行快照生成,并利用生 成的快照卷进行在线数据备份。快照卷一方面可以作为最终备份可以实现快速恢复,另一 方面可以结合第三方备份软件,将数据从快照卷上再备份到备份介质上,比如磁带库。 0043 需要注意的是,这里的快照生成都是数据块一级的操作,无法保证应用系统文件 级别的数据一致性,因此,为了保证文件系统级别的数据一致。

18、性,还需要在对源卷制作快照 之前使上层应用禁止对源逻辑卷进行数据块一级的写操作,从而能保证生成的快照在上层 应用所见到的备份数据的一致性,这也是本解决方案关注的焦点之一。 0044 为使本发明技术方案的原理、特点及技术效果更加清楚,以下通过具体实施例对 本发明方案进行进一步详细阐述。 0045 图1为本发明实施例提供的数据实时备份系统示意图。该系统包括存储阵列101、 应用服务器102、备份服务器103、可能还包括介质服务器104。其中,存储阵列101包括源 卷,以及所述源卷的快照卷。存储阵列101的源卷加载到应用服务器102上,用以存储应用 服务器的数据文件。存储阵列101的快照卷到备份服务。

19、器103具有映射关系,并将快照卷 加载到备份服务器103,备份服务器103可以利用快照卷中的备份数据对应用服务器101的 数据进行快速恢复;备份服务器103将所加载的快照卷的数据备份到介质服务器104的存 储中实现进一步的备份。介质服务器104通常可以是磁带库。该备份过程中利用了存储阵 列101的快照功能。 0046 图2所示为本发明实施例提供的数据实时备份系统中的数据流与控制流示意图。 0047 数据流包括: 0048 I:存储阵列101的源卷加载到应用服务器102上面,用以存储数据文件。 0049 II:存储阵列101的快照卷映射到备份服务器103用以拷贝备份数据。 0050 III:备份。

20、数据迁移到磁带库105。 说 明 书CN 102402471 A CN 102402474 A 4/6页 7 0051 控制流 0052 :备份服务器103的备份处理模块在进行备份之前调用备份前处理脚本。 0053 :备份前处理脚本调用备份代理模块,命令应用服务器102的备份代理模块对 存储阵列101的源卷进行快照生成。 0054 :备份代理模块与存储阵列101通信,存储阵列101生成源卷的快照卷。 0055 :备份前处理脚本调用脚本应用程序接口(API)对生成的快照添加映射并且将 生成的快照卷加载到备份服务器。 0056 :脚本API与存储阵列101通信,建立快照卷到备份服务器103的映射关。

21、系,并 将快照卷加载到备份服务器103。 0057 :备份处理模块将数据从快照卷中移动到磁带库105中。 0058 :备份完成后,备份处理模块调用备份后处理脚本。 0059 :备份后处理脚本调用脚本API从备份服务器103上移除加载的快照卷。 0060 :脚本API与存储阵列101通信,删除快照卷的映射信息。 0061 本发明实施例中,应用服务器102中使用的文件系统为新技术文件系统(NTFS, New Technology File System)。 0062 为了实现对NTFS文件系统卷的一次完整的以及稳定可用的备份,备份操作需要 处理以下关注点: 0063 1、备份过程中无法访问的文件的。

22、处理。 0064 2、不一致的文件状态的处理。 0065 3、文件系统的元数据(Meta-data)的处理。 0066 4、最小化服务中断的时间。 0067 为了实现对存储阵列的操作,以及对NTFS文件系统的操作,本发明实施例方案需 要实现一个中间的备份代理软件,备份代理软件主要的工作就是控制NTFS文件系统的相 关操作以及对NTFS文件系统所在源逻辑卷生成快照的操作。 0068 图3为应用服务器102中的备份代理模块的逻辑结构图。该备份代理模块包括卷 映射拷贝服务(VSS,Volume Shadow copy Service)请求端301、VSS服务模块305、VSS硬 件提供模块306、快。

23、照代理模块307、VSS编写器308。 0069 其中,VSS服务模块305用于根据VSS请求端的请求,刷新并保持VSS编写器,与 VSS硬件提供模块交互进行快照操作,完成后释放VSS编写器,并将快照卷的读写属性设置 为只读。VSS服务模块305使用“IOCTL_VOLSNAP_FLUSH_AND_HOLD_WRITES ”以及“IOCTL_ VOLSNAP_RELEASE_WRITES”两个IO控制(IOCTRL)命令来处理文件系统级别的数据一致性 问题,通过这个两个控制命令,能够保证备份数据的一致性。具体地,当VSS 服务器模块 收到“IOCTL_VOLSNAP_FLUSH_AND_HOL。

24、D_WRITES”的IO控制消息后,会将VSS编写器缓存中 数据刷新到磁盘中,并阻塞VSS编写器对磁盘的I/O,使VSS编写器进入保持(HOLD)阶段, 本I/O控制过后,磁盘处于只读状态;而当VSS服务器模块收到“IOCTL_VOLSNAP_RELEASE_ WRITES”的IO控制消息后,将释放编写器对磁盘的I/O操作,编写器会将在保持阶段所缓存 的对磁盘的I/O数据刷新到磁盘中,从而保证备份数据以及应用数据的一致性。 0070 而对于应用级别的系统一致性问题,需要应用程序的编写器(Writer)来处理自 身打开的文件的一致性,例如SQL Server等应用,如果应用程序没有提供“Writ。

25、er”,那么, 说 明 书CN 102402471 A CN 102402474 A 5/6页 8 VSS所备份的则是保证系统级别的一致性的文件备份。对于上层应用来说,需要在VSS服务 模块305保持住系统IO以后,应用所打开的文件,需要应用本身来维护相关的状态。也就 是应用程序需要提供编写器,如果应用不具备编写器,那备份出来的数据就是操作系统级 别的一致性备份。 0071 快照代理模块307负责与存储阵列进行通信,例如对逻辑卷进行快照等操作。 0072 VSS硬件提供模块306用于根据VSS服务模块305的指令,通过快照代理模块307 命令存储阵列生成源卷的快照卷。 0073 VSS请求端3。

26、01用于向VSS服务模块发送建立快照的服务请求,以及接收VSS服务 模块导出的快照信息。VSS请求端301中进一步包括命令行界面(CLI)操作单元302、备份 代理单元303和日志记录单元304。日志记录单元304用于记录跟踪信息并将相关信息记 录到日志文件中。CLI操作单元302提供了用户命令接口,负责接收处理CLI命令并将其解 析成为VSS能够使用的一些相关数据。备份代理单元303是一个服务程序,它负责接收远 端脚本或者应用的命令请求,并将其送给CLI操作单元302,同时等待CLI操作单元302解 析处理完成后,返回执行结果给远端调用脚本或者应用。 0074 图4示出了一个完整的备份过程中。

27、备份代理模块之间的消息流程。具体包括如下 步骤: 0075 步骤401至404:VSS请求端与VSS服务模块交互,建立VSS备份单元,并对VSS备 份单元进行初始化,设置备份状态,收集编写器元数据。在此阶段,备份会通过调用收集编 写器元数据(GatherWriterMetadata)接口完成初始化VSS请求端与VSS编写器以及填充 内部数据结构、设定备份以及建立VSS请求端与VSS编写器通信等操作。 0076 步骤405:VSS服务模块通知(Onidentify)VSS编写器进行生成编写器的只读元数 据文档(Metadata Document)。 0077 步骤406:VSS请求端与VSS服务。

28、模块交互,设置备份的卷影副本内容。 0078 步骤407:将所有需要备份的所有组件增加到备份组件文档(Backup Components Document)的备份集合中去。 0079 步骤408-409:生成新的空的备份集合并将源卷加载到此备份集合中。 0080 步骤410至411:判断逻辑卷是否支持建立快照,若是,则准备建立快照,生成 “PrepareForBackup“事件。 0081 步骤412:设置编写器状态,使之准备进行备份。 0082 步骤413:收集编写器状态信息。 0083 步骤414:顺序提交所有卷影拷贝请求。 0084 步骤415:完成快照准备。 0085 步骤416:VS。

29、S编写器处理“PrepareForSnapshot“事件,通过此事件,编写器能够 确定是否能能够参与备份操作。 0086 步骤417:VSS编写器接收“Freeze“事件,将自己的状态设置成适合进行VSS操 作。 0087 步骤418:VSS服务模块查询VSS硬件提供模块是否可以对源卷进行快照操作。 0088 步骤419:刷新编写器缓存到源卷并保持编写器。需要刷新并保持VSS编写器的 持续时间约10秒。 说 明 书CN 102402471 A CN 102402474 A 6/6页 9 0089 步骤420:进行快照操作。 0090 步骤421:释放编写器 0091 步骤422:所有快照生成完。

30、毕后,清除快照生成中产生的相关标志。 0092 步骤423:VSS编写器处理“Thaw“事件,用以将自己状态设置成正常状态。 0093 步骤424:对新生成的快照卷进行扫描,填写相关结构信息。 0094 步骤425:通过调用VSS硬件提供模块设置新生成的快照卷,使之在计算机上可 见。 0095 步骤426:将计算机上可见的快照卷信息与VSS硬件提供模块提供的信息进行比 对,从而进一步修正快照卷相关信息。 0096 步骤427:设置VSS硬件提供模块使之支持“自动恢复“卷影副本。 0097 步骤428:通知VSS编写器处理最终的编写器组件的元数据,并且做清除操作(删 除临时文件)。 0098 步。

31、骤429:通知VSS硬件提供器相应的快照卷的读写属性变成“只读“,直到步骤 436。 0099 步骤430:导出快照信息。 0100 步骤431-432:生成可移动卷影副本所需步骤,与步骤425、426相同。 0101 步骤433:收集编写器状态信息。 0102 步骤434:备份完成。 0103 步骤435:通知编写器处理“备份完成”事件。 0104 步骤436-438:断开或者删除快照备份集合。步骤439-440:编写器处理“备份关 闭”事件。当备份应用关闭或者崩溃的时候,需要处理此事件。 0105 本方案可以实现零备份窗口,也就是说在备份期间用户的应用程序可以继续运 行,不会对业务系统造成。

32、任何影响。 0106 本方案可以实现备份数据不经过局域网,而是从快照卷上通过光线通道直接移动 到磁带介质中。避免了对用户的局域网上的正常业务带来影响。 0107 本方案在系统运行过程中进行在线备份,避免了对用户的正常业务带来影响。 0108 本方案可以将快照卷挂载到备份服务器上或介质服务器上,这样在将备份数据的 移动到备份介质上是就不需要占用应用服务器上的CPU和内存资源。 0109 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。 说 明 书CN 102402471 A CN 102402474 A 1/3页 10 图1 图2 说 明 书 附 图CN 102402471 A CN 102402474 A 2/3页 11 图3 说 明 书 附 图CN 102402471 A CN 102402474 A 3/3页 12 图4 说 明 书 附 图CN 102402471 A 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1