2008年(456)
分类: 服务器与存储
2008-05-15 13:14:50
数据对企业越来越重要,传统的离线备份方式已经不能满足需求,高可用、磁盘阵列、备份,还是不能让我们放心,当灾难发生时一切都会显得苍白无力。本文讨论的就是如何为我们广大的中小企业实现数据容灾保护方案。
我们对于重要的数据,提到保护第一想到的就是备份。通过备份的方式将文件、数据库等重要数据做一个副本。这是一个简单易行的方法,而且目前很多企业里都是如此来实现的。但是随着电子业务的发展和依赖,约来越多的IT设备需要连续运转,这样比以前更容易受到中断的影响。业务的中断对不同类型的企业来说造成的损失有所不同,但众多的业务和客户数据从而受到影响将会直接导致客户感受、竞争对手、法律责任、企业信誉等受到严重影响。随之而来的损失更是不可估量。
以前我们讨论过业务的连续性通过高可用、集群等方式实现,还讨论过连续数据保护(Continuous Data Protection,CDP)。动辄百万的IT投入资金和维护让众多的企业望而却步,不得已继续使用原始的定期备份方式。在某市的一家武警医院,仅有2台服务器实现高可用技术,但是还是担心数据的丢失,希望能够在增加1台存储和一台服务器的情况下实现数据的连续复制保护解决后顾之忧。当了解到容灾复制方案时,所需要的预算资金就把客户的这一念头彻底打消了。
在这里我们就是要讨论一下如何能够在最有限的资金投入下也能够获得最大的数据连续性的保护。那么我们要保护的是什么?保护级别是什么?如何能够实现各种各样的保护?
总的来看排除业务应用,所关注的数据无非分为2类:
普通文件是指的能够随时打开的可读写的文档,例如WORD、EXCEL、POWEPOINT等。它的特点是不受其它关联程序的干扰,相对独立的个体所承载的信息量少,我们随时打开、编辑、保存和关闭。备份与复制过程都简单,只要文件不被读写改变时都可以完整地保护单个文件。普通文件的复制实现过程较为简单,我们不做讨论。
数据库通常由库文件、日志文件、控制文件等组成,而且在工作时处于程序访问状态和变化状态,不能通过简单的复制、转移实现备份过程。文件中所包含的数据表也无法确保其完整性。因此如何确保数据库的实时保护是很多方案中最为核心的部分。
数据保护方法
目前大部分企业客户所使用的数据库都是Oracle数据库和SQLSERVER数据库,这两部分客户占据了大部分应用。因此基于浪潮存储的Oralce/SQL数据复制容灾方案无疑对众多中小型企业具有很强的吸引力。而对于我们来说,能够在极其有限的预算情况下同样可以为客户实现数据的远程容灾也是非常具备竞争力的。
1.Oracle数据的远程复制方案
对于Oracle数据库本身的企业版就集成了数据复制功能——Oracle Data Guard,它是管理、监控和自动化软件的基础架构,它创建、维护和监控一个或多个备用数据库,以保护企业数据结构不受故障、灾难、错误和崩溃的影响。
Data Guard使备用数据库保持为与生产数据库在事务上一致的副本。这些备用数据库可能位于距生产数据中心数千英里的远程灾难恢复站点,或者可能位于同一城市、同一校园乃至同一建筑物内。当生产数据库由于计划中断或意外中断而变得不可用时,Data Guard可以将任意备用数据库切换到生产角色,从而使与中断相关的停机时间减到最少,并防止任何数据丢失。
灾难恢复和高可用性。Data Guard提供了一个高效和全面的灾难恢复和高可用性解决方案。易于管理的转换和故障切换功能允许主数据库和备用数据库之间的角色转换,从而使主数据库因计划的和计划外的中断所导致的停机时间减到最少。
完善的数据保护。使用备用数据库,Data Guard可保证即使遇到不可预见的灾难也不会丢失数据。备用数据库提供了防止数据损坏和用户错误的安全保护。主数据库上的存储器级物理损坏不会传播到备用数据库上。同样,导致主数据库永久损坏的逻辑损坏或用户错误也能够得到解决。最后,在将重做数据应用到备用数据库时会对其进行验证。
有效利用系统资源。备用数据库表使用从主数据库接收到的重做数据进行更新,并且可用于诸如备份操作、报表、合计和查询等其他任务,从而减少执行这些任务所必需的主数据库工作负载,节省宝贵的CPU和I/O周期。使用逻辑备用数据库,用户可以在模式中不从主数据库进行更新的表上执行数据处理操作。逻辑备用数据库可以在从主数据库中对表进行更新时保持打开,并可同时对表进行只读访问。最后,可以在维护的表上创建额外索引和物化视图,以获得更好的查询性能和适应特定的业务要求。
灵活的数据保护功能,从而在可用性与性能要求之间取得平衡,Oracle Data Guard提供了三种模式:
了解了这些功能和特点后,我们可以通过灵活的配置来帮助企业在系统性能要求和数据保护之间取得平衡。
Data Guard进程
简单的集中式管理。Data Guard Broker使一个Data Guard配置中的多个数据库间的管理和操作任务自动化。Broker还监控单个Data Guard配置内的所有系统。管理员可以使用Oracle Enterprise Manager或Broker自己专用的命令行界面(DGMGRL)来利用这个集成的管理框架。
与Oracle数据库集成。Oracle Data Guard是作为Oracle数据库(企业版)的一个完全集成的功能提供的,无需任何额外费用。
2.SQL Server数据的远程复制方案
针对Microsoft的SQL Server数据库也能够利用数据库本身的管理功能实现数据复制。通过使用SQL Server复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
SQL复制的基本元素包括:出版服务器、订阅服务器、分发服务器、出版物、文章。
SQL Server主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据(在Oracle中就成为Primary Database尽管概念有所差别)。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器(在Oracle中称为Standby Database),分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器。
SQL Server提供了三种复制技术:
容灾方案选择推荐
了解数据的保护方式后,我们就可以更方便的为客户设计方案了。我们在这里的容灾方案主要是指的是数据的连续保护方式,并没有讨论和探讨高可用、备份、链路冗余、网络、灾难恢复计划等。
1.基于存储的高级容灾方案
主机特点 | 存在多品牌主机(>4台)、异构操作系统(Windows、Linux、Unix) |
存储特点 | 高端、数据中心级别 |
数据特点 | 数据库(Oracle/SQL)、多种文件并存 |
保护级别 | 零数据丢失或者极小数据丢失 |
预算范围 | 预算充裕,近百万 |
方案特点 | 基于存储的数据同步/异步复制方案,与主机端软件无关,能够在SAN的环境中配置光纤链路实现基于存储的块数据复制。适合远距离数据容灾保护。 |
设备选型 |
|
本方案适合类似电信、政府、银行等对于数据安全要求非常高,IT建设资金充裕的客户。由于基于存储端实现复制技术,因此无论存放何种数据、格式,都可以实现同步/异步复制过程,不会随着要增加的主机数量而大大增加投资成本。但需要购买同档次设备例如2台EMC CX500,以及2套MirrorView软件,使得方案成本高居不下。
2.基于主机复制软件的中级容灾方案
主机特点 | 存在少数主机(<4台),系统平台单一 |
存储特点 | 无特殊要求,可选AS500 IP&FC存储 |
数据特点 | 数据库(Oracle/SQL)、多种文件并存 |
保护级别 | 零数据丢失或者极小数据丢失 |
预算范围 | 预算一般,三十万以上 |
方案特点 | 基于主机安装的存储卷管理软件来实现多主机之间的数据同步/异步复制方案,与存储设备无关,可以基于FC/SCSI/iSCSI存储架构。 |
设备选型 |
|
本方案适合类似政府、企业等对于数据安全要求非常高,现有服务器不多,IT建设资金相对充裕的客户。由于服务器数量较少,便可以使用基于主机的卷复制软件,对于保护何种数据、格式限制较少,都可以实现同步/异步复制过程。缺点就是会随着增加的重要业务主机数量而增加成本。而且由于占用主机资源的复制技术,在负载量大时会导致住业务性能下降。不适合业务负载比较大的应用。
3.基于应用程序的容灾方案
主机特点 | 存在少量主机(1~2台)、同类操作系统(Windows、Linux、Unix) |
存储特点 | 入门级、企业关键业务 |
数据特点 | 数据库(Oracle/SQL)、多种文件并存 |
保护级别 | 零数据丢失或者极小数据丢失 |
预算范围 | 预算不足、二十万元级别 |
方案特点 | 基于数据库的管理功能实现数据同步/异步复制方案,与主机端软件无关,与存储无关。 |
设备选型 |
|
本方案适合IT架构简单资金紧张但又不满足于备份所提供的数据保护,希望实现数据实时保护的客户,例如中小企业、财务系统、医疗系统等。使用企业版数据库软件所附带的高级复制功能,可以在远程实现2台数据库服务器的数据复制。无论从性能还是兼容性上来看都是最佳的选择,而且无需购买昂贵的第三方软件。缺点就是需要较强的数据库管理人员来维护。