浪擎双活容灾与赛门铁克StorageFoundation的比较分析
摘要:
一、浪擎双活容灾及其特性 浪擎双活容灾方案以浪擎的明星级产品AgileMirror镜像系统为主来构建。浪擎AgileMirror镜像系统(以下简称镜像系统)是数据库级别的实时复制容灾产品,具备容灾、容错、查询三大功能。镜像系统采用实时复制与恢复技术,且支持Oracle
浪擎双活容灾方案以浪擎的明星级产品AgileMirror镜像系统为主来构建。浪擎AgileMirror镜像系统(以下简称镜像系统)是数据库级别的实时复制容灾产品,具备容灾、容错、查询三大功能。镜像系统采用实时复制与恢复技术,且支持Oracle和SQLServer两大数据库,主要用于关键业务系统。
镜像系统的原理是实时的复制与恢复。其复制过程为:生产端代理进程实时捕捉数据库在线日志的变化数据块,然后传输到容灾数据库端;容灾端的装载进程分析和组装这些变化数据块,然后提交给数据库的存储引擎保存到数据库。
镜像系统实现数据丢失趋于零与数据库容灾切换趋于零的容灾指标。镜像系统支持Oracle、SQSLerver两大主流数据库,且完全不依赖数据库的工具或对象来实现数据的实时复制和恢复,因此对数据库无副作用和对性能影响极小。
镜像系统的主要功能:
1、全自动化的追逐式全量复制
追逐式全量复制主要用于第一次实施,或者镜像系统长时间停止后的再次启动。在不停机的要求下,追逐式复制技术把生产数据库所有事务,包括缓存数据以及全量复制期间的新增数据,全部复制到目标服务器,达到生产和容灾数据基准相同。
2、实时增量复制
实时增量复制主要用于全量复制后的日常增量复制。镜像系统实时监控和捕获生产系统变化事务,然后分析出记录数据,并将结果传输到容灾端,再通过存储进程保存到容灾数据库。
目标数据库处于运行状态,能读能查询,可提供及时、可靠的容灾切换;运行的目标数据库确保了业务系统的一致性和完整性,从而确保了容灾的可靠性。
3、容错功能
镜像系统可将源端增量事务一一保存起来,当发生人为误操作,或者数据被损坏时,可以回退到一个好的历史状态。
4、查询功能
镜像系统还提供查询功能,利用备用数据库可以用来实现查询统计功能,分担主数据库的性能压力。
5、容灾切换
镜像系统提供的接管切换功能,可将业务系统无缝的切换至备用系统运行,保障业务系统的连续性。此功能需mCenter支持。
6、监控、报警
监控主、备两端服务器、应用系统的运行状况。当软、硬件发生异常或故障时,可通过短信、邮件进行报警,及时通知相关负责人。此功能需mCenter支持。
二、赛门铁克StorageFoundation
StorageFoundation是赛门铁克的存储系列产品,包含Veritas Cluster(VCS)高可用、Veritas Volume Manage(VM)卷管理、Veritas File Sytem(VFS)文件系统、Veritas Volume Replicator复制等组件。通常采用VCS、VM、VFS等组件一起构建双机双存储的容灾架构。其原理为:镜像传输原理:
新增的阵列与原来的阵列对称地光纤连接到SAN交换机上。
在两台服务器上都安装的VM、VFS、VCS等软件,并将数据卷都做成镜像卷关系。所有的写I/O都同时发给两个磁盘阵列上的卷,操作系统接到两个写确认后,才算commit。当任何磁盘阵列有问题时,VM自动将其剃掉,让应用继续运行,没有任何业务停机。
1、安装Veritas Storage Foundation 的风险
1)安装Storage Foundation套件,必须安装VM和VFS,更改服务器存储的分区格式和文件系统格式为Veritas识别的格式。
对已有系统改造存储格式,会带来如下风险:
1.停机。不是简单通过重启就能解决问题,需要进行重大恢复才能解决。
2.数据格式可能无法识别。文件虽然存在却无法使用,且无法通过恢复软件恢复。
Storage Foundation对已经部署的应用环境需要做数据转换,因此不太适用于现存业务系统,而适合新的系统和需要升级的系统。
浪擎镜像系统是不需要改变存储的分区格式和文件格式的就能做镜像,避免了以上2个问题的发生。
三、两产品对比分析
1.复制原理对比分析
数据库往磁盘上写内容的过程可以分解成4个层次,第一个是事务层,事务是数据库能理解的最小单位;每个事务分成多个I/O;每个I/O分成多个数据块;每个数据块分别写到物理磁盘块上面。Storage Foundation是属于文件块的复制。在复制过程中,因为软硬件问题,网络问题,不在复制过程中可会会造成一些数据的缺失。当如果有文件块缺少时会导致如下问题:1.数据库文件格式损坏,这在灾难时无法修复。2.数据库一致性损坏。如oracle的数据库文件内在关联性遭破坏。
I/O或数据块复制不能保障1和2的完整性,就会造成容灾端数据库的不能启用,原先已经备份的数据也就丢失了。
浪擎镜像系统属于数据库事务操作,丢失的也只是该事务本身的数据,不会造成1和2的错误。不会破坏数据库的文件格式和数据库的一致性,能保证容灾数据库还是能启用的。
2.数据复制结果实时可见分析
1)根据数据库的存储机制,数据库的存储数据的磁盘空间只能由数据库进行写操作,不能由其他的软件来写,如果要由其他软件来写就要求在关闭数据库的情况下进行。Storage Foundation文件块的复制,往磁盘上存储数据的过程是由Storage Foundation本身去执行。这就要求容灾数据库是处于脱机状态。复制是否真正成功不能实时可见,要等灾难发生时进行恢复阶段才能知道复制的效果。这样复制过程中出现的问题也就不能及时的显示反馈出来并得以解决。
2)浪擎镜像系统是基于应用层的事务的复制,是在了解了数据库的内部逻辑结构,物理框架的基础上进行的事务的复制。容灾端软件将生产端传过来的变化的事务交给数据库去存储进磁盘。这就能保证容灾数据库是实时在线的,处于可读、可写的状态。复制的结果也是可以验证的。
3.数据恢复风险分析
恢复过程指的是主服务器发生宕机之后,备用服务器的数据库启用的过程。
Storage Foundation因为容灾端不是实时在线的,就需要一个恢复的过程。
在这个过程中存在两个风险:
1) 数据库能不能恢复:由于数据在复制的过程中有数据丢失造成的数据库的数据文件或数据库的一致性遭到破坏。造成容灾数据库直接不能启用。这就达不到一个实时容灾的要求。
2)容灾数据库的恢复时间:容灾数据库的恢复过程所需要的时间取决于多方面的因素,可能恢复的时间很快,也可能需要一个很长的恢复时间。所以,这个恢复时间是不可预见的。
浪擎镜像系统的容灾端是处于在线、可读查询的状态,当生产系统发生宕机时可以无需恢复时间直接代替生产系统工作。
比较项 |
浪擎镜像系统 |
Storage Foundation |
复制原理 |
捕获数据库增量事务,然后复制到目标数据库 |
复制卷的每个I/O,然后同步或异步复制到目标主机存储 |
生产服务器存储格式改造 |
无需改造 |
需要改造:磁盘格式、卷管理或逻辑磁盘管理程序,风险大 |
数据库缓存事务复制 |
复制缓存事务 |
因为在数据库的缓存中,还没有被写到存储,不能被复制 |
复制粒度 |
事务级别 |
I/O |
应用系统完整性保证 |
完全保证 |
不能完全保证事务一致性 |
目标数据库状态 |
目标数据库完全处于运行状态,可读可写 |
目标数据库处于脱机状态 |
支持CDP、容错 |
支持 |
不支持 |
当数据库日志或数据文件遭到非法改写 |
非法事务,不会被复制 |
目标数据库日志或数据文件遭到同样改写 |
当遭受突然宕机等灾难时 |
损失未传输的事务 |
部分I/O丢失,目标数据库日志或数据文件可能损坏 |
当灾难发生时,启用目标系统 |
直接使用目标数据库 |
需要恢复,仅当I/O正确才能恢复成功 |
支持应用过滤 |
可根据应用配置过滤条件 |
不支持 |
应用领域 |
可用于实时备份、容灾、同步 |
仅用于容灾 |
占用网络带宽 |
低,<=1/5 Storage Foundation |
比较高 |
综上所述,采用浪擎镜像系统构建的数据库双机双存储系统在高可用性、可靠性、投资实用性上相比一般的采用存储层复制的双机双存储解决方案都有更加优秀的表现。