标题：浪擎A系镜像系统
1.1      简介
浪擎镜像系统是业界成熟的、应用系统级的复制容灾解决方案，通过实时的、连续的复制以确保应用系统的及时同步。
首倡在线式应用级容灾理念
在线式是指备用服务器上的数据库是实时在线的，处于可读可查询的状态，源端发生故障时无需恢复，可以直接使用；应用级是指镜像系统复制的数据是数据库事务，是属于应用层的。
1.2      应用说明
浪擎·镜像系统在容灾、高频率备份、数据分发与迁移、异地同步等业务领域有广泛应用。
实时容灾提高业务系统可用性
浪擎·镜像系统可提供持续的、备用端可直接启用的容灾方案，比传统备份解决方案更高级别的系统可用性，极大地降低了服务停止导致的损失。
系统将主服务器的数据准实时复制至备用服务器，建立主系统的可用副本，实现业务系统的冗余。一旦主服务器停止服务，可立即启用备用服务器上的业务系统并使之投入运行，从而保障业务系统持续运行。
高频率备份
将多台业务服务器的数据镜像（备份）到备份设备，镜像（备份）周期可达秒级别，备份窗口趋于零，对数据的保护程度远远高于传统备份系统。
业务系统数据及时同步
准实时增量复制将源系统的数据复制到目标系统，使源和目标及时保持同步。SQLServer或Oracle数据库仅同步变化的记录数据；文件或目录仅同步变化的文件块或元数据。系统还可按应用设置同步过滤逻辑，仅复制需要的数据。
数据仓库系统的数据抽取会对源系统造成巨大压力，降低其性能和响应速度。利用浪擎·镜像系统的同步方案可将生产数据快速抽取到数据仓库，改善业务系统的性能。
1.3      支持的应用系统
浪擎·镜像系统支持的主流应用系统如下：
l  文件系统（参见后续说明）
l  Oracle （参见后续说明）
l  MSSQL Server （参见后续说明）
2   系统规格
2.1      系统组成
浪擎·镜像系统组成
浪擎·镜像系统由代理软件、服务器软件和系统管理界面三部分构成。其中，客户端软件安装在需要镜像的主服务器上；服务器软件安装在存储镜像的备用服务器上；系统管理界面提供给系统的管理员使用，在主服务器端进行配置。
2.2      镜像服务器
镜像服务器软件是系统的核心部件，负责存储文件系统的备份和数据库系统备份。当镜像服务器接收到客户端同步来的文件时，将此文件存储到设定的目录下；当接收到数据库备份数据时，将数据库备份或后续事务日志应用到备份数据库。如果当主服务器发生故障时，可直接切换至备用服务器上的数据库。
2.3      镜像代理
镜像代理安装在主服务器上。负责将需备份的文件和目录以及数据库数据备份存储到本系统镜像服务器。镜像代理提供了文件系统备份模块和数据库备份模块以及用户配置接口。
镜像代理提供了各种服务器系统的支持，包括：
l  文件系统镜像代理
l  MSSQL Server镜像代理
l  Oracle镜像代理
2.4   Web管理和监控界面
镜像系统采用Web管理进行镜像代理和服务器的管理、监控。管理功能包括：
运行参数设置和系统用户配置
存储目录配置（用于文件镜像）
目标数据库设置（用于数据库镜像）
事务Snapshot存储配置（用于数据库镜像）、
设置需镜像的用户、表、视图、触发器、存储过程等对象（用于数据库镜像）、
镜像拓扑设置、
定时镜像计划配置
监测运行状态和镜像任务：
监控运行性能和状况。监测的任务包括：文件和数据库镜像。性能和运行状况依据于不同的任务类型。监测程序提供按任务、用户、客户端IP进行分类。
2.5      应用架构
系统支持丰富的复制连接拓扑。
一对一复制：
在极为重要的业务系统中，为生产线上的主服务器建立一套备用系统非常关键。当主服务器因宕机等意外状况而停止服务器，可立即启用备用服务器提供服务。浪擎·镜像系统实时或定时将文件系统或数据库数据复制到备用服务器，保证主服务器与备用服务器的数据相差一个镜像周期。
多对一复制：
多对一镜像是综合性价比非常高的应用方式，可用于容灾、数据同步。在多业务系统环境中，将不同的业务系统复制到目标系统中，为这些业务系统均保存一个冗余；在分布式的应用环境中，将多个分部或地区的数据汇总复制到总部，实现汇总统计功能。
3   MSSQL Server镜像SQLServer镜像基于事务日志分析技术，将数据库事务定时或准实时应用到目标数据库，占用极少的系统开销，极大地改善数据库可用性，可用于容灾和数据同步领域。
SQLServer镜像提供两个基本功能，实时增量复制和定时全量复制。
浪擎镜像系统采用ACA(应用捕获与分析)引擎，实时捕获源端生产系统的生产数据，然后还原成应用系统的数据库记录，然后再通过目标端保存到目标数据库中，从而实现一个完整的复制过程。
3.1      ACA引擎工作原理
1）镜像引擎架构
SQLServer数据库镜像引擎包括代理、镜像服务器软件两大部件。代理包含操作系统驱动程序、事务日志实时捕获器、事务日志分析器、自适应数据字典、初步过滤器、传输控制器和任务队列等；镜像服务器包含接收队列、事务队列和Snapshot存储、SQL应用机构等。
2）复制流程
事务日志实时捕获器通过操作系统内核驱动驱动程序实时监控源SQLServer事务日志文件和捕获其变化数据；事务日志分析器通过数据字典将日志数据解析还原成数据库记录，并过滤不需要镜像的表或其他数据库对象；传输控制器从任务队列中取出记录数据传输至镜像服务器。镜像服务器接收队列将记录数据保存至事务队列和Snapshot文件中；SQL应用机构扫描事务队列，将提交事务应用到目标SQLServer。如下图所示。
SQLServer镜像原理示意图
3）传输控制
传输控制器记录当前传输成功的事务点。当连接中断等因素导致传输失败，传输控制则停止传输工作，尝试连接直至成功。
4）基准同步
基准同步采用全量复制技术（参见后续说明）实现，将源数据库备份出来，还原至目标数据库，实现源和目标数据库基准一致。
5）目标数据库状态
目标SQLServer处于运行状态，能读能写，运行的目标系统保证了系统的一致性。
3.2   追逐式全量复制
在实时增量复制之前，需要保障主、备数据库之间的数据同步，才能进行后续实时增量复制。从3.2版本开始新增极具特色的全量复制功能：无需停顿、全程自动化、速度极快的追逐式复制功能，适应于那些7x24小时连续运转的业务系统容灾要求。
追逐式复制定义：
追逐式复制：浪擎科技自主研发的一项新技术，在完全无需停止业务数据库的条件下，极快的将源数据库全量复制或迁移到目标容灾服务器。追逐式复制技术把源数据库所有事务，包括缓存数据全部复制到目标端，并且对全量复制过程中新增的数据做增量复制，以达到源与目标服务器数据完全一致的容灾要求。
SQLServer数据库追逐式复制有以下技术特性：
1）复制速度快 追逐式复制相当于两个数据库之间直接传输数据，经测试追逐式复制速度比使用DTS导入/导出或快照发布的复制技术至少快20倍，可有效的提高复制效率，节省系统资源。
2）源数据库无需停顿，在线式直接复制 比传统的数据库复制技术更据优势，传统的数据库复制方式都需要先停止数据库再进行复制操作，当进行全量复制操作时，业务系统要停止工作，可能会对用户使用造成很大麻烦，而追逐式复制就避免了这种情况，它在做全量复制时数据库无需停止，有效保证业务系统持续运行，不会对用户造成损失。
3）全程自动化，操作简单 执行追逐式复制前只需简单设置便可完成，无需烦琐的配置工作。
4）保证源服务器数据与目标服务器数据完全一致 全量复制技术结合增量复制技术可实现在做全量复制的同时也可把新增的数据内容复制到目标端，确保源服务器和目标服务器数据完全一致。
追逐式复制技术原理：
1) 在源数据库端全量备份数据库
2）将全量备份数据传输至目标服务器
3）还原全量备份至目标数据库
4）找出全量备份中的最大LSN
5）以该LSN开始后续增量复制
3.3      技术特性
技术参数
说明
复制原理
捕获SQLServer的增量事务进行复制
复制粒度
数据库记录
复制DML语言
复制应用程序提交的数据
保存事务日志
系统保存捕获的事务日志
源与目标硬件规格要求
无需一致
网络带宽占用
远小于存储层复制
复制时延
异步复制，秒级延时
复制最大距离
无限制
对系统性能的影响
源系统CPU占用率不超过5%
支持应用方式
一对一、多对一
事务完整性
完整、一致
目标应用系统状态
运行状态，能读能写
复制方向
单向，从源至目标
支持过滤
可设置过滤条件
支持版本
SQLServer 2000、SQLServer 2005

3.4      主要实现功能
n  实时单向数据镜像，单向镜像以主服务器系统作为复制的数据源，复制到备用数据库用于查询。
n  定时全量镜像计划，系统还提供便捷的定时全量镜像计划。镜像计划作业可配置信息字段：开始时间、结束时间和日期以及在这段时间之内的镜像频率、需要镜像数据库。
n  数据一致性校验，系统提供对镜像的表进行数据一致性校验，并修改目标表的数据。这种补偿性能力解决当镜像系统停止时，源和目标产生的不一致性。
n  数据库备份存储，镜像系统可将基准同步或定时全量镜像计划使用的数据库备份保存在磁盘上；系统采用时间戳命名备份文件。用户可手工在SQLServer企业管理将数据库备份还原至数据库中。
3.5   支持版本列表
支持以下SQLServer数据库版本：
SQLServer 2000、SQLServer 2005 
支持以下操作系统：
Windows 2000系列、Windows 2003
4   Oracle镜像Oracle镜像代理采用基于REDO LOG日志分析，将数据库操作定时或准实时应用到备用数据库，占用极少的系统开销，极大地改善数据库可用性，可用于容灾和同步领域。
Oracle镜像提供两个基本功能，实时增量复制和定时全量复制。
浪擎镜像系统采用ACA(应用捕获与分析)引擎，实时捕获源端生产系统的生产数据，然后还原成应用系统的数据库记录，然后再通过目标端保存到目标数据库中，从而实现一个完整的复制过程。
4.1      ACA引擎工作原理
1）镜像引擎架构
Oracle数据库镜像引擎包括代理、镜像服务器软件两大部件。代理包含操作系统驱动程序、事务日志实时捕获器、事务日志分析器、自适应数据字典、初步过滤器、传输控制器和任务队列等；镜像服务器包含接收队列、事务队列和Snapshot存储、SQL应用机构等。
2）复制流程
事务日志实时捕获器通过操作系统内核驱动驱动程序实时监控源Oracle Redo Log事务日志文件和捕获其变化数据；事务日志分析器通过数据字典将日志数据解析还原成数据库记录，并过滤不需要镜像的用户、表或其他数据库对象；传输控制器从任务队列中取出记录数据传输至镜像服务器。镜像服务器接收队列将记录数据保存至事务队列和Snapshot文件中；SQL应用机构扫描事务队列，将提交事务应用到目标Oracle。如图Oracle镜像示意图。
3）传输控制
传输控制器记录当前传输成功的事务点。当连接中断等因素导致传输失败，传输控制则停止传输工作，尝试连接直至成功。
Oracle镜像示意图
4）基准同步
基准同步采用全量复制技术（参见后续说明）实现，实现源和目标数据库基准一致。
5）目标数据库状态
目标Oracle实例处于运行状态，能读能写，运行的目标系统保证了系统的一致性。
4.2   追逐式全量复制
在实时增量复制之前，需要保障主、备数据库之间的数据同步，才能进行后续实时增量复制。从3.2版本开始新增极具特色的全量复制功能：无需停顿、全程自动化、速度极快的追逐式复制功能，适应于那些7x24小时连续运转的业务系统容灾要求。
追逐式复制定义：
追逐式复制：浪擎科技自主研发的一项新技术，在完全无需停止业务数据库的条件下，极快的将源数据库全量复制或迁移到目标容灾服务器。追逐式复制技术把源数据库所有事务，包括缓存数据全部复制到目标端，并且对全量复制过程中新增的数据做增量复制，以达到源与目标服务器数据完全一致的容灾要求。
Oracle数据库追逐式复制有以下技术特性：
1）复制速度快 追逐式复制相当于两个数据库之间直接传输数据，经测试追逐式复制速度比使用导入/导出（exp/imp）的复制技术至少快20倍，可有效的提高复制效率，节省系统资源。
2）源数据库无需停顿，在线式直接复制 比传统的数据库复制技术更据优势，传统的数据库复制方式都需要先停止数据库再进行复制操作，当进行全量复制操作时，业务系统要停止工作，可能会对用户使用造成很大麻烦，而追逐式复制就避免了这种情况，它在做全量复制时数据库无需停止，有效保证业务系统持续运行，不会对用户造成损失。
3）全程自动化，操作简单 执行追逐式复制前只需简单设置便可完成，无需烦琐的配置工作。
4）保证源服务器数据与目标服务器数据完全一致 全量复制技术结合增量复制技术可实现在做全量复制的同时也可把新增的数据内容复制到目标端，确保源服务器和目标服务器数据完全一致。
追逐式复制技术原理：
1) 捕获数据库事务变化
2）复制数据文件，控制文件，日志文件到目标服务器
3）把源服务器缓存中的数据强行写入数据库文件 
4）将事务复制到目标服务器
5）找到数据库文件开始复制时事务的变化节点，并把动态事务和静态文件组合成一个完整的数据库文件
6）全量备份完成，继续增量复制
4.3      技术特性
技术参数
说明
复制原理
捕获Oracle的增量事务进行复制
复制粒度
数据库记录
复制DDL语言
复制数据库定义语言，如：
1)      增加、删除、修改表
2)      增加、删除、修改字段定义
3)      增加、删除、修改触发器、存储过程
…
复制DML语言
复制应用程序提交的数据
保存事务日志
系统保存捕获的事务日志
源与目标硬件规格要求
无需一致
网络带宽占用
远小于存储层复制
复制时延
异步复制，秒级延时
复制最大距离
无限制
对系统性能的影响
源系统CPU占用率不超过5%
支持应用方式
一对一、多对一
事务完整性
完整、一致
目标应用系统状态
运行状态，能读能写
复制方向
单向，从源至目标
支持过滤
可设置过滤条件
支持版本
Oracle 8i/9i/10g
支持操作系统
Windows、Linux、AIX
不支持字段
用户自定义字段类型
Archive Log（日志归档）
需开启
Supplemental Log（附加日志）
需开启

4.4      实现主要功能
n  实时单向数据镜像，单向镜像以主服务器系统作为复制的数据源，复制到备用数据库用于查询。
n  定时全量镜像计划，系统还提供便捷的定时全量镜像计划。镜像计划作业可配置信息字段：开始时间、结束时间和日期以及在这段时间之内的镜像频率。
n  数据库备份存储，镜像系统可将基准同步或定时全量镜像计划使用的数据库文件保存在磁盘上；系统采用时间戳命名备份文件。用户可手工更改这些数据文件，然后让Oracle数据库使用。
4.5      支持版本列表
操作系统
Oracle
Windows 2000系列
Oracle 8i/9i/10g （非RAC环境）
Windows 2003
Oracle 8i/9i/10g （非RAC环境）
Linux
Oracle 8i/9i/10g （非RAC环境）
AIX
Oracle 8i/9i/10g （非RAC环境）
5          文件系统镜像镜像代理内嵌文件系统驱动程序和内核模块，高效检测文件系统，从而实现只镜像变化的文件，并且采用文件块级增量复制技术，极大的降低了对磁盘空间和网络带宽的要求。
文件系统镜像还适用于文件分发。例如WEB网页的发布，通过镜像代理将手工制作或内容管理系统动态生成的网页实时或定时分发到不同站点上。
5.1      并行优化增量传输技术（POIT）
文件系统系统镜像采用复杂的并行优化增量传输算法实现大规模的文件系统复制。该算法对传输任务智能分解成更小的任务，然后并行控制传输，最大限度的利用可利用的网络带宽；其次，对于已经镜像过的文件在以后镜像时，将采用优化增量传输，仅复制不同的数据块，尽量降低网络流量，极大的提升传输速度。
5.2      技术特性
n  系统采用文件块级别的增量传输算法，高效的传输和极少的网络带宽占用；
n  采用文件系统驱动程序实时检测，对主服务器系统无负载；
n  只复制在设定周期内变化的文件或目录；
n  可配置需同步复制文件检测目录；
n  可配置出严密的镜像复制计划，减少故障发生时的数据丢失；
n  可以过滤文件系统镜像代理端文件删除事件；
n  支持基于文件属性的正则表达式镜像过滤机制。
5.3      支持功能
1）并行传输
对于文件或目录均可实现传输任务智能分解，然后并行控制传输。
2）增量传输和断点续传
采用基于文件块的优化增量传输技术，仅只传输不同文件块，尽量减少在网络上的传输流量。并且支持断点续传功能，当传输某文件失败，下一次重新传输时，在优化增量传输控制下，将从上一次的传输点开始传输后续的文件块。
3）虚拟目录映射和访问控制
为目标物理存储目录设置对应的虚拟目录名称和简单访问控制列表，禁止非授权用户访问，提高目标存储的安全性。
4）实时镜像
镜像代理采用文件系统变化实时检测技术，当文件在发生变化时可立即将变化的文件镜像至镜像服务器。
5）定时镜像
系统还提供便捷的定时镜像。镜像计划作业可配置信息字段：开始时间、结束时间和日期以及在这段时间之内的镜像频率、需要镜像的文件或目录以及过滤表达式。
6）指定的文件或目录镜像
系统支持仅镜像指定的文件或目录；也可采用修改时间、大小、文件或目录名组成正则表达式过进行过滤。并可过滤指定的文件动作，例如过滤删除动作，不镜像删除至目标。
5.4      支持版本列表
操作系统
文件系统格式
Windows 2000系列
NTFS格式
Windows XP
NTFS格式
Windows 2003
NTFS格式