1、企业更加关注数据连续性
我们对于重要的数据,提到保护第一想到的就是备份。通过备份的方式将文件、数据库等重要数据做一个副本。这是一个简单易行的方法,而且目前很多企业里都是如此来实现的。但是随着电子业务的发展和依赖,约来越多的IT设备需要连续运转,这样比以前更容易受到中断的影响。业务的中断对不同类型的企业来说造成的损失有所不同,但众多的业务和客户数据从而受到影响将会直接导致客户感受、竞争对手、法律责任、企业信誉等受到严重影响。随之而来的损失更是不可估量。
以前我们讨论过业务的连续性通过高可用、集群等方式实现,还讨论过连续数据保护(Continuous Data Protection,CDP)。动辄百万的IT投入资金和维护让众多的企业望而却步,不得已继续使用原始的定期备份方式。在某市的一家武警医院,仅有2台服务器实现高可用技术,但是还是担心数据的丢失,希望能够在增加1台存储和一台服务器的情况下实现数据的连续复制保护解决后顾之忧。当了解到冗灾复制方案时,所需要的预算资金就把客户的这一念头彻底打消了。
在这里我们就是要讨论一下如何能够在最有限的资金投入下也能够获得最大的数据连续性的保护。那么我们要保护的是什么?保护级别是什么?如何能够实现各种各样的保护?
总的来看排除业务应用,所关注的数据无非分为2类:
- 普通文件
- 数据库
普通文件是指的能够随时打开的可读写的文档,例如WORD、EXCEL、POWEPOINT等。它的特点是不受其它关联程序的干扰,相对独立的个体所承载的信息量少,我们随时打开、编辑、保存和关闭。备份与复制过程都简单,只要文件不被读写改变时都可以完整地保护单个文件。普通文件的复制实现过程较为简单,我们不做讨论。
数据库通常由库文件、日志文件、控制文件等组成,而且在工作时处于程序访问状态和变化状态,不能通过简单的复制、转移实现备份过程。文件中所包含的数据表也无法确保其完整性。因此如何确保数据库的实时保护是很多方案中最为核心的部分。
2、数据保护方法
目前大部分企业客户所使用的数据库都是Oracle数据库和SQLSERVER数据库,这两部分客户占据了大部分应用。因此基于浪潮存储的Oralce/SQL数据复制冗灾方案无疑对众多中小型企业具有很强的吸引力。而对于我们来说,能够在极其有限的预算情况下同样可以为客户实现数据的远程冗灾也是非常具备竞争力的。
2.1、Oracle数据的远程复制方案
对于Oracle数据库本身的企业版就集成了数据复制功能–Oracle Data Guard,它是管理、监控和自动化软件的基础架构,它创建、维护和监控一个或多个备用数据库,以保护企业数据结构不受故障、灾难、错误和崩溃的影响。
Data Guard 使备用数据库保持为与生产数据库在事务上一致的副本。这些备用数据库可能位于距生产数据中心数千英里的远程灾难恢复站点,或者可能位于同一城市、同一校园乃至同一建筑物内。当生产数据库由于计划中断或意外中断而变得不可用时,Data Guard 可以将任意备用数据库切换到生产角色,从而使与中断相关的停机时间减到最少,并防止任何数据丢失。
灾难恢复和高可用性。Data Guard提供了一个高效和全面的灾难恢复和高可用性解决方案。易于管理的转换和故障切换功能允许主数据库和备用数据库之间的角色转换,从而使主数据库因计划的和计划外的中断所导致的停机时间减到最少。
完善的数据保护。使用备用数据库,Data Guard 可保证即使遇到不可预见的灾难也不会丢失数据。备用数据库提供了防止数据损坏和用户错误的安全保护。主数据库上的存储器级物理损坏不会传播到备用数据库上。同样,导致主数据库永久损坏的逻辑损坏或用户错误也能够得到解决。最后,在将重做数据应用到备用数据库时会对其进行验证。
有效利用系统资源。备用数据库表使用从主数据库接收到的重做数据进行更新,并且可用于诸如备份操作、报表、合计和查询等其他任务,从而减少执行这些任务所必需的主数据库工作负载,节省宝贵的 CPU 和 I/O 周期。使用逻辑备用数据库,用户可以在模式中不从主数据库进行更新的表上执行数据处理操作。逻辑备用数据库可以在从主数据库中对表进行更新时保持打开,并可同时对表进行只读访问。最后,可以在维护的表上创建额外索引和物化视图,以获得更好的查询性能和适应特定的业务要求。
灵活的数据保护功能,从而在可用性与性能要求之间取得平,Oracle Data Guard 提供了三种模式:
- 最大保护,确保零数据丢失,完全同步。在写入Standby Database后,Primary Database才能继续下一个写入操作,如果网络等故障也会影响Primay Database,对主机的性能影响较大。
- 最高可用性,接近于零数据丢失,在网络故障的发生时,Primary Database可以正常操作,在恢复后再将数据写入到Standby Database。
- 最高性能,异步写入数据到Standby Database。Primay Database无需等待写操作完成即可进行下一个事务处理。如果主数据库与一个或更多个备用数据库之间的连接丢失(例如,由于网络问题),则在主数据库上生成的重做数据将无法发送到那些备用数据库上。一旦重新建立连接,Data Guard 就自动检测丢失的存档日志序列(或间隔),并将必要的存档日志自动传输到备用数据库中。备用数据库将重新与主数据库同步,而无需管理员的任何手动干预。
了解了这些功能和特点后,我们可以通过灵活的配置来帮助企业在系统性能要求和数据保护之间取得平衡。
Data Guard 进程
简单的集中式管理。Data Guard Broker 使一个 Data Guard 配置中的多个数据库间的管理和操作任务自动化。Broker 还监控单个 Data Guard 配置内的所有系统。管理员可以使用 Oracle Enterprise Manager 或 Broker 自己专用的命令行界面 (DGMGRL) 来利用这个集成的管理框架。
与 Oracle 数据库集成。 Oracle Data Guard 是作为 Oracle 数据库(企业版)的一个完全集成的功能提供的,无需任何额外费用。
2.2、SQLSERVER数据的远程复制方案
针对Microsoft的SQLSERVER数据库也能够利用数据库本身的管理功能实现数据复制。通过使用SQLSERVER复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
SQL复制的基本元素包括:出版服务器、订阅服务器、分发服务器、出版物、文章 。
SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据(在Oracle中就成为Primary Database尽管概念有所差别)。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器(在Oracle中称为Standby Database),分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器。
SQL SERVER提供了三种复制技术:
- 快照复制
- 事务复制
- 合并复制
在这里不在详细阐述,详情可以参考Microsoft MSDNhttp://msdn2.microsoft.com/zh-cn/library/ms151793(SQL.90).aspx)