将改变传统文件备份战略,深入浅知虚拟化和灾难恢复

随着将传统的各类技术和知名企业文件备份技术以及虚拟化领域的一些独有技术相结合,虚拟化技术开始促使用户反思其文件备份战略。
 
在过去,传统企业文件备份系统绝大部分包括了spinning磁盘——用于存放短期数据和媒介数据,用于长期存储的磁带库和软件有:IBM公司的Tivoli和惠普公司的StorageWorks等等。
 
但是一些人说仅这些磁带库和软件产品已经不能满足虚拟化领域的需求。
 
Forrester公司一个虚拟化战略高级分析师Stephanie
Balaouras说,“你当然不能守株待兔,期待系统自己进行文件备份,特别是当前越来越多的公司在核心产品环境中采用服务器虚拟化技术。如果公司尚未开始研发自身系统的文件备份选择,文件备份技术将成为一个重大的挑战。”
 
传统的文件备份系统和服务器之间是一对一的关系。这些经使用证明很好的备份系统和相关软件已可以支持存储区域网络
(SAN)、光纤以及最新的操作系统和服务器硬件升级。但是这些备份系统对于复杂的虚拟化系统(包括同一服务器上的多客户机操作系统)来说并不是非常适合。
 
Gartner有限公司的服务器和存储器调查分部副总Dave
Russell说概述了三个最流行的虚拟化文件备份战略。最常见方法是在每个虚拟机上安装软件代理(software
agents),接着采用传统企业备份软件。第二种方法是创建一个虚拟机的影像,接着或者采用一个主机寄存服务或者采用逻辑单元数的每日快照技术。
 
第三种方法是采用Vmware公司的整合备份系统软件——将存档功能增加到了虚拟机上,这意味着其只复制自上次备份起进行过更改的文件。用这种方法,公司可以实现单一文件的恢复,甚至可以实现一个有三十个客户操作系统的单一物理服务器上文件的恢复。
 
Russell说,“大多数公司倾向于采用备份代理和传统的文件备份软件,这两种方式都是采用物理服务器实现的,比较简单易行。但是这一方式被证明成本比较高,因为虚拟机的数量多、规模大,同时还需要许可。”
 
Vmware和其他一些虚拟化产品包括了备份代理以协助管理人员将传统的文件备份流程整合到虚拟机上。这一策略的核心优势在于成本低:备份代理是免费的,或者只增加了非常少的费用。从另一方面来说,备份代理促使系统管理人员采用一个相当简化的方式:管理员可以将整个虚拟化服务器进行存档,但是不能选择数据量或者客户操作系统。服务器管理人员恢复数据的特定组分,或者使虚拟机数据存储量实体化(校验数据的完整性)。
 
虚拟机快照技术  
Russell说,企业创建虚拟机数据存储量镜像的一个新趋势是采用虚拟机快照技术,因为这一技术提供了更多的灵活性,减低了成本,并实现了使公司的整个一个地区实体化,从而与公司范围的文件备份战略中的灾难恢复系统相适应。
 
比如,在Immune Tolerance
Network(ITN)——位于旧金山的加利福尼亚大学临床研究中心团队的一个分部——中,虚拟化备份系统不仅仅是灾难计划的一部分,实际协助研究者进行临床试验以战胜疾病。
 
ITN将逻辑单元号存档,或者存放在磁盘驱动器的特定地址。采用重复数据删除技术运算法则来去除冗余数据,这保证了虚拟服务器的multi-terabyte存档。研究人员可以查询附加的存档逻辑单元号——这一处理过程在物理机上几乎无法实现。
 
Michael
Williams说,“传统的方法是将磁带放入一个文件备份系统来进行多服务器备份,但是这一方法当前已经过时了。一旦你转移到了虚拟存储器,并将物理磁盘的数据存储分离,你就能进行非常有意思的工作了。当我们提供一个逻辑单元号,首先可以实现认购超额。一个研究人员认为他们拥有2TB的数据存储量。”
 
Williams说,但是事实上,逻辑单元号是进行过自动精简的,或者基于快照技术,在物理磁盘上分配刚好够用的存储空间,这大概是每个物理磁盘20GB。这一数据存储量每四个小时备份一次。这与一次hard
crash备份(数据进行完全存档,这样可以完全恢复之前的状态)的备份量是相同的。
 
Williams解释说这一存档系统接着被转移到Herndon一个远程地点,通过一个广域网在Serial
Advanced Technology
Attachment驱动器(成本很低)上创建一个全影像备份,并采用Veritas
NetBackup来进行进一步存档。
 
他认为快照技术对研究人员来说很有益处,因为数据恢复被简化,同时速度也比采用非虚拟化技术时期快,但是其对于IT环境来说仍很复杂。一个科学家可以要求进行数据恢复——这与传统的存储恢复需求相似,然而他不需要等待IT系统进入磁带库,之后再进行数据恢复。但是虚拟化技术支持的数据恢复流程对于IT系统来说却更加复杂,因为其员工或许不得不从一个恢复点(位于一个独立文件备份系统,例如一个Veritas档案文件)查找并设置一个虚拟化逻辑单元号。终端用户用几个小时就可以访问一个事件的数据,这比之前所需的时间少很多。
 
另一个优点是将重复数据删除技术包括在内。重复数据删除技术是一个处理流程,其采用备份软件将多次出现的相同数据识别,同时将冗余数据删除,仅将一份数据进行存档。比如,在ITN中,有150个虚拟服务器,大概有一百台Windows系统的机器。NetApp软件可给Windows系统制作一个有8.5GB可识别影像的复本,同时给每个附加档案文件创建一个指纹文件(用于识别)——这可以节约磁盘空间,因为NetApp没有对相同的
Windows数据进行重复备份。
 
持续的数据保护  
第三种进行虚拟化备份的流行方式是采用一个持续的数据保护系统,例如Vizioncore
vRanger或者PHD技术有限公司的esXpress系统。
 
健康第一有限公司是一个医疗集团,其外伤中心——坐落于东佛罗里达——就采用了连续数据保护系统。这一公司在19个VMware
ESX服务器(连接到一个150TB存储区域网络上)上运行着300个客户机。健康第一公司采用了IBM
Tivoli来进行惯例备份,但是由于其大型的虚拟服务器设备,公司决定增加一个持续备份系统。
 
健康第一公司负责虚拟化计划的网络工程师Jeff
Allison说,“我们需要灾难后的重建时间更短。我们采用了Vizioncore
vRanger来进行每天晚上我们给每台虚拟机进行的热备份。文件备份流程开始于下午五点,在两台不同的机器上进行,一直进行到凌晨两点。我们要对230
台虚拟机上的数据进行备份。”剩下的70台虚拟机将在早上进行备份。Allison说,运行医疗软件不受热备份影响。
 
Allison解释说外伤中心和门诊部的这一IT环境对系统正常运行时间要求更高,因为医疗器械的数据丢失会对病人的生命造成威胁。
 
他陈述了一个事件,一台测试/开发物理服务器没能进行很好的控制,在启动冗余恢复程序前,80台虚拟开发服务器全部无法正常使用。有一个连续备份系统,进行系统恢复当前只需要一个小时时间,仅需要一个技术员进行操作。
 
印第安那大学提供了另一个持续备份的案例,作为其发对采用虚拟机镜像或者代理的理由。由于灾难备份时间缩短,同时进一步增加了数据存档的益处。
 
印第安那大学一个软件主管Robert
Reynolds说,一台虚拟机被包含在文件——可通过一个快照文档进行完整存档——中。“对于我们的大部分虚拟机来说,静默文件足够稳定,接着被作为一个灾难恢复备份进行复制。很明显,数据库服务器和其他流程更需要关注一个灾难恢复备份的创建。
 
Reynolds说,“我们在每台VMware
ESX服务器上运行每周的工作,采用PHD的esXpress虚拟化备份设备来为虚拟机创建灾难备份系统。我们在EXE服务器的本地存储器上创建了一个复本,我们当前正在进行第二阶段的开发:为FTP和灾难恢复在另一台服务器(将由Tivoli
Storage
Manager软件选出并发送到远程Indianapolis,距离Bloomington大约五十英里)进行备份。
 
混合方案  
Gartner公司的Russell说,“最近这一个学期,一个混合技术方案或许是最好的选择,选择一个影像水平的文件备份系统并制订那些文件的索引,这样公司可以进行一个单一文件的修订,迅速采用快照技术,采用一个传统备份软件和虚拟代理来为服务器上的内容编制索引。这样管理的复杂程度不会提升,也不会为传统备份系统增加另一个抽象层级,但是存储资源工具面前仍未达到所需水平。

基本的灾难恢复是行之有效的。但也存在一定的不确定性,甚至因此有供应商虚报和过分夸大虚拟化的兴起对于灾难恢复的影响。

随着服务器虚拟化的到来,有些人声称灾难恢复(DR)和保持业务连续性(BC)能够更的容易实现了,甚至认为这些都是属于过去的事情了。

这种情况的出现是很容易理解的。现如今,与任何一名虚拟化管理员交流时,都会谈到使用传统的备份和磁带的想法和理念似乎已经是一个遥远的记忆了。

自虚拟化技术采用初期开始,我们就已经看到高可用性集群和诸如vMotion等功能的引进,似乎解决了大部分数据保护方面的需求。

但是,如果仔细推敲,我们就会发现这些说法是有些夸张的。

图片 1

定义灾难恢复

能够确定一个定义的基准总是好的。而且,这在灾难恢复规划方面也是相当有必要的——读者可以以便了解全面的指南。灾难恢复和保持业务连续性在其各自的定义方面稍有不同:

  • 业务连续性描述的是确保业务持续运作的过程。
  • 灾难恢复描述的是在某次灾难袭击后恢复服务的过程。在大多数情况下,企业将希望尽可能的避免这种情况,或者至少将其可能性降至最小化。

目前,在灾难恢复和保持业务连续性方面,还有两大被广泛应用的定义。即恢复时间目标(RTO)和恢复点目标(RPO)——二者都为数据恢复确立了一个服务水平:

  • 恢复时间目标确定了将业务恢复到正常运营状态的预期或目标时间。一个零RTO意味着服务必须立即恢复,或者没有中断。一小时的RTO需要在一小时内恢复应用程序至正常使用状态。
  • 恢复点目标则表示的是必须将服务恢复至历史时期的某点。一个零RPO意味着服务必须从那一历史时间点开始,所有数据均必须恢复,不能丢失(针对银行应用程序是必须的)。而24小时的RPO则意味着只需恢复到昨天的数据即可(可用于测试/开发环境)。

制定一套灾难恢复计划

在理想的情况下,所有的应用程序应该恢复至RTO等于零,且RPO等于零,但从可行性和成本方面来看则是站不住脚的。

相反,任何灾难恢复和保持业务连续性规划都应该始于建立灾难场景,对灾难场景的重要性和影响进行评估,并将其应用到每款应用程序中。例如,故障场景包括:

  •  (火灾、停电、洪水、地震)造成的损失或损害。
  •  (火灾、水灾、危险灾害、化学事件、辐射)造成无法访问基础设施。
  •  (心怀不满的员工或网络攻击)犯罪行为或恶意伤害。
  • (软件错误,升级失败,数据损坏)造成系统或应用程序故障。

我们可以评估每款应用程序发生故障失败所造成的影响,并用它来决定我们的RTO/RPO服务级别目标(SLO)。同样,这里也有一些例子:

  • 电子邮件系统的停机影响——高冲击;RTO = 30分钟,RPO =零。
  • 银行核心应用程序的停机影响——关键性冲击;RTO =零,RPO =零。
  • 隔夜报告程序的停机影响——低影响;RTO=4小时,RPO = 24小时。

在今天这样一个永远在线的世界中,大多数面向客户的应用程序预计都将需要保持24/7全天候的运行。这会降低一定的SLO,但应用程序的设计可以通过从后端功能分离前端接入访问来尽量减少。

显然,无论一款应用程序是否已经被虚拟化,其技术是否独立,业务恢复的要求必须首先确立。事实上,应该始终由企业的业务部门来提供他们具体需求方面的指导,而不是让IT强加标准,这一直是传统的经营运作模式。

虚拟化如何帮助灾难恢复

虚拟化将服务器的物理资源抽象成逻辑结构,代表硬盘,网卡、磁盘控制器。处理器、内存和网络端口以配置文件中的参数来表示,硬盘则用本地或共享存储的文件来表示。

因此,备份虚拟机(VM)是复制一个文件副本和配置数据的一个简单的情况。此外,可以实现迁移虚拟机到替代硬件,即使物理硬件是不相同的。这使得能够更容易的管理硬件故障问题。虚拟化的功能解决了灾难恢复和保持业务连续性在以下几个方面的问题。

简单的备份/恢复

恢复通常是基于创建一个备份和在一个灾难恢复的情况下从这些备份副本恢复的需要。为了满足这种需求,虚拟机管理程序所提供的功能,允许备份可以通过复制VM的内容。为了确保数据的完整性,虚拟机运行的代理软件或工具在复制VM文件时停止或暂停I/O。

一个简单的备份可以用来提供文件、应用程序或虚拟机级别的恢复,这取决于备份软件的复杂性。备份整个虚拟机快照会影响一些系统允许存储系统快照的功能,结合虚拟快照卸载处理工作,同时保持数据的完整性。

虚拟机迁移

虽然不是严格意义上的数据恢复过程,能够在物理硬件之间动态地迁移虚拟机的能力减少了硬件故障的影响。VM迁移本身并不能防止服务器故障,但可用于当发生局部故障时迁移虚拟机,无论是在服务器或其它组件(例如网络)。

虚拟机迁移也可以在当服务必须从一款硬件(为了维护)移除或为了减轻数据中心失败的风险(如应对即将到来的风暴或飓风可能对数据中心运营的影响)时,作为一个控制过程。从这个意义上说,虚拟机迁移更类似于保持业务连续性,确保服务器继续运行,即使是在发生潜在或实际事件的情况下。

高可用性/容错能力

这些是管理程序的功能,使虚拟机能够在硬件故障的情况下保持运行。提供了两个层次的服务。高可用性监控虚拟机,并在服务器发生故障的情况下,
在替代硬件上重新启动。这导致了一个小故障的应用程序重新启动。其他在替代硬件运行ghost虚拟机映像,使得该映像在服务器发生故障的情况下成为生产服务的一体,一般没有应用程序中断。

当然,使用这些功能可能需要共享存储硬件(用于存储虚拟机的配置和数据),同时也是收费的。一些供应商支持使用基于阵列的复制与高可用性/容错功能相结合的能力。这使得硬件配置能够跨越一个很短的距离(几百米),并创建一个Metro
cluster。Metro
cluster能够减轻数据中心的中断或严重的硬件故障,而无需部署复杂的应用程序集群。

连续备份

某些第三方应用程序使用虚拟化来拦截虚拟机的写I/O,并
创建一个远程备份映像。这个过程是异步发生的,并提供了在故障的情况下的虚拟机副本,可用于在主站点发生故障时加强故障转移复制。使用这种系统的应用程序的RPO将取决于数据可以迁移到场外的速度。

应用程序弹性

正如所讨论的那样,虚拟化通过抽象物理硬件组件提供好处。在执行灾难恢复/业务连续性时需要考虑的另一件事是在应用程序本身直接内置恢复功能。

应用程序的弹性是通过运行许多应用程序实例来实现的,每一款均可能失败,当然也能够通过替代硬件来重新启动。这种设计是不直接依赖于虚拟化,但可以通过多个管理程序和硬件的配置来实现很好地工作。在未来,我们将看到业务连续性/灾难恢复的弹性将借助container容器的使用来实现,这是一种应用程序虚拟化的形式,并已经开始在被广泛采用。

参照诸如RTO和RPO等灾难恢复/业务连续性原则,我们可以应用恢复选项以满足应用程序的需求。有些应用程序会得到充分的高可用性/容错能力,而其他应用程序可能只是使用虚拟机管理程序的快照进行备份。在某些情况下,持续备份或全高可用性/容错能力与基于阵列的复制可以是合理的。其完全只是基于具体要求来应用技术。

【编辑推荐】

发表评论

电子邮件地址不会被公开。 必填项已用*标注