关闭

三种VMware数据备份和恢复方法

标签: 数据备份服务器vmware
12985人阅读 评论(0) 收藏 举报
分类:

  服务器虚拟化,尤其是VMware形式的服务器虚拟化使IT人员获益良多,这么说一点也不为过。据我们所见,服务器虚拟化能解决服务器扩张、资源消耗、服务器扩张、能源消耗、高可用性等相关问题。服务器虚拟化也使我们有更多的时间解决其它的迫切问题,如企业资源预案升级、存储项目再三迁移或者为什么《星舰迷航记 11》要到2009年才上映。

 

  尽管VMware提供封装技术和抽象技术,使我们受益匪浅,但数据保护领域发生的基本变革也带来了各项挑战。即使出现了VMware虚拟化,备份人员依然是牢骚最多的IT人员。最大的挑战在于保证数据的一致性,解决VMware物理资源过度消耗的问题。

 

  VMware能将物理服务器封装成大型的硬盘图像文件——虚拟机磁盘格式(VMDK)文件,因此我们不禁认为:备份整台服务器应该和备份这些VMDK文件(当然也包括相关的配置文件)一样简单。

 

  但是在大多数情况下,事实并非如此。除非已经关闭虚拟机(VM),否则,在运行状态下备份VM不能覆盖所有文件。换句话说,这种备份方式不能保证数据的一致性,因而也不能保证已恢复的VM包含足够的精确信息,不能说明服务器已成功恢复。

 

  至于资源过度消耗的问题,这是虚拟化的副作用。利用VMware使系统虚拟化的一个关键原因是,将资源消耗集中在较少的物理服务器中,从而减少大多数IT服务器架构都存在的空闲周期。但是,这么也做带来了不良影响——无法找到足够资源,使数据备份不受阻碍地运行。

 

  备份触到了VMware内部的脆弱之处:VMware处理过量磁盘和网络I/O的能力很弱。实际上,决定是否将物理服务器虚拟化取决于物理服务器中的磁盘密度、网络I/O。毋庸置疑,备份负载是VMware服务器承担的最大负载。

 

  但是,的确有方法能解决这些问题,并且在某些情况下,比标准的物理服务器备份和恢复方法更加出众。但是,人们对这些方法存在一些误解,对第三方备份/恢复产品提供的实施措施也存在误解。实际上,许多管理员依然缺乏有效实现备份和恢复的方法,道路充满挫折。

 

  方法1:在每个VM中安装本地备份程序

 

  工作原理:这是一种传统的备份方法,在每个VM中安装备份程序,就像以前在每台物理服务器中安装备份程序。如下图所示,数据通过LAN流入备份/恢复设施,以往在本地物理服务器中安装备份程序时,数据流向也如此。

 

  这种方法的优点如下:

 

  备份程序的安装和配置与在物理服务器中的安装和配置十分相似,所以无需专门技巧和程式变化。

 

  恢复过程没有发生变化,与将文件恢复到物理服务器的过程十分相似。

 

  这样,就有可能恢复文件;这一点在我们采用其它方法时显得更加重要。

 

  也有可能实现完全备份和增量备份,同样,在我们讨论其它方法时,这一点显得尤为重要。

 

  如果你采用专门的应用感知备份程序,如SQL或Exchange,这将有助于实现应用程序数据的一致性,由此实现的备份在应用程序上具有一致性。

 

  这种方法的缺点如下:

 

  由于所有的备份都在同一台服务器中运行,因而你需要十分小心,不要过度消耗VMware主机资源。

 

  尽管服务器能封装成少量的大型VMDK文件,但备份程序对此一无所知,也就不能利用这一点提供快速的备份或恢复能力;而进行灾难恢复时,需要快速、全面地恢复服务器,从这点上讲,这种方法价值不大。

 

  部署技巧

 

  在物理服务器中,同时运行数据备份可能问题不大,因为物理服务器具有充足的闲置资源,但是对VMware虚拟架构而言,闲置资源已得到充分利用,多个备份操作就有可能阻塞物理服务器。从而,在进行虚拟化以后,应该修改备份手册,通过备份窗口避免资源过度重叠。

 

  一个VM只允许一条数据流。VM的VMDK文件通常寄存在一个VMFS卷中,多条数据流操作很容易覆盖VMFS卷。因此,除非VMDK文件隔离在独立卷(RDM、 iSCSI LUN、或独立的VMFS卷)中,否则备份就应该单流运行,而不是多流运行。

 

  方法2:ESX Service Console中安装备份程序

 

  工作原理:这种方法是在ESX Service Console在安装备份程序,按下图备份VM中潜在的VMDK文件组。Service Console采用红帽子Linux操作系统,因此能够使用Linux备份程序。

 

  这种方法的优点包括:

 

  只需一个备份程序就能备份所有的VM,而不是一台VM配备一个备份程序。

 

  通过这种方法,VM资源能完全备份,只需简单备份少量的大型VMDK文件。

 

  图像能快速恢复,因为只需恢复大型图像,而不必查找大量的小型图像。

 

  这种方法的缺点包括:

 

  需要脚本才能自动关闭、快照和启动VM。为了保证备份过程应用程序数据的一致性,必须这么做。

 

  不可能恢复文件,这种方法只能备份和恢复图像。另外,这也意味着不能实现增量备份。

 

  VNware指出,其开发流程包括从ESX Server移除Service Console。VMware的ESX Server 3i在这一点上迈出了第一步。

 

  部署技巧

 

  为了保证应用程序的一致性,在备份VMDK之前应该关闭VM。

 

  VMDK文件在备份窗口中静止不动。

 

  很不幸,备份过程中VM失去效用。

 

  VMDK文件利用Service Console中的备份程序进行备份。

 

  如果不能关机,可以利用VMware快照功能拍摄运行中的VM,获取即时备份。

 

  备份数据停留在相同的状态,因而不能保证数据的一致性。

 

  同样,实现自动化也需要脚本。

 

  不是所有的备份程序都支持这种方法,所以你需要事先进行调查。

 

  对于应用程序数据一致性的备份,利用VSS使应用程序在备份之前停止运行。但是,这需要非常复杂的脚本。

 

  你可以利用ESX Service Console 中的VCB设施,获取运行状态下虚拟机的快照:

 

  vcbMounter设施:

 

  创建VM的静态快照。

 

  将快照投射到一组文件中,文件可能处于控制台的本地目录中,也可能处于LAN的远程目录中。

 

  利用ESX控制台支持的备份软件对本地文件进行备份和恢复。

 

  vcbRestore设施:

 

  将VM恢复到初始站点或者其它站点,

 

  如果你决定冒险采用脚本技术,就会发现错误校验和更正是脚本技术最难的一个方面,需要编写大量代码。

 

  方法3:VMware集中备份(VCB-Proxy)

 

  工作原理:这种方法涉及一组VMware设施,通常称为VMware集中备份。这种方法使集中的Windows 2003代理服务器中的非LAN备份与相同的SAN卷相连,称为ESX Server。随后,数据通过第三方备份软件传送到代理服务器中,作为后序备份。这种方法比上述两种方法更为复杂,包括以下组件:

 

  备份代理服务器:

 

  服务器能与VMware主机访问相同的卷。

 

  代理服务器中加载/输出VMDK文件的图像。

 

  这种加载/输出图像通过寄存在代理服务器中的备份程序实现备份。

 

  VCB框架:

 

  ESX服务器中的“同步推动器”能刷新文件系统,创建快照。

 

  VCB代理服务器中的“vLUN推动器”允许服务器中存在VMDK文件。

 

  采用VCB自动工作流,命令行设施(vcbMounter/vcbRestore)发挥作用。

 

  备份软件集成模块:

 

  模块集成到VCB框架的组件中。

 

  VMware和备份程序都能开发并支持这种模块。

 

  备份程序之间的集成和使用变量相对简单。

 

  在此点击,查看采用备份代理服务器的VMware集中备份示意图。

 

  采用备份代理服务器的VMware集中备份能够执行非LAN文件备份和非LAN图像备份。但是,这两种方法的实现途径截然不同。

 

  VCB文件备份/恢复是在VCB代理服务器中加载VMDK文件,具体步骤如下:

 

  1备份工作要求VCB框架获取VM快照,在VCB代理服务器中加载VB快照,加载路径包括SAN、C:\mnt等。

 

  2利用备份程序备份(完全、增量、差异备份)目录/文件。

 

  3备份程序要求VCB框架卸载VM快照,使VM不再具有快照功能。

 

  4通过安装在VM中的备份程序,文件经由LAN恢复到初始VM中。

 

  在此点击,查看文件备份和恢复的VCB-Proxy工作流。

 

  VCB图像备份/恢复是将VMDK文件输出到VCB代理服务器中,具体步骤如下:

 

  1.备份工作要求VCB框架获取VM快照,并输出快照,输出路径包括SAN、C:\mnt等。

 

  2.系统文件等输出的图像文件通过备份程序进行备份。

 

  3.备份软件要求VCB框架卸载VM快照,使VM不再具有快照功能。

 

  4.利用备份程序,将输出的VM图像恢复到一个VMware能够访问的临时区域,该区域可能位于Proxy Server 或ESX Service Console,由此完成恢复工作。

 

  5.VM图像加载到ESX主机中的指定位置。

 

  在此点击,查看图像备份和恢复的VCB-Proxy工作流。

 

  这种方法的优点包括:

 

  你可以利用VCB Proxy中一个备份程序,备份所有的VM,而不必每个VM配备一个程序。

 

  通过这种方法,VM资源能完全备份,只需简单备份少量的大型VMDK文件。

 

  图像能快速恢复,因为只需恢复大型图像,而不必查找大量的小型图像。

 

  将备份过程转移到VCB代理服务器中,降低了ESX服务器的开销。

 

  这种备份方法无需LAN,在SAN中也能实现,从理论上讲,备份速度比基于LAN的备份方法要快。

 

  这种方法的缺点包括:

 

  能否实现自动化、能否方便地加以使用取决于第三方备份软件的能力。

 

  如果没有某种形式的备份软件集成到备份过程中,要部署这种方法就变得非常复杂。

 

  如果你想将文件直接恢复到VM中,就需要在VM中安装备份软件。

 

  对于没有集成VSS的Windows系统,由VCB提供的图像备份会使数据处于相同的状态。

 

  VCB不提供Windows系统状态的恢复机制,尽管有可能成功实现服务器完全恢复,但是如果在操作VM时,系统状态紊乱,就不能保证完全恢复。

 

  部署技巧

 

  请记住,VCB不是备份/恢复程序,而是一组能集成到第三方备份应用程序中的设施。

 

  Proxy Server不是虚拟机。

 

  VCB不能安装在虚拟中心的服务器中,也不能注册。

 

  Proxy Server需要安装Windows 2003 Server、SP1或R2。

 

  Proxy Server必须和ESX Servers安装在相同的LUN区域中。

 

  VCB Proxy Server不支持多路径。

 

  如果需要恢复文件,但你又不想为每个VM都安装备份程序,你就可以创建一个仅用于恢复的VM,这个VM包含备份和恢复程序,将文件恢复到这个VM中,然后通过网络共享将文件迁移到正确的目标VM中。

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:76119次
    • 积分:1405
    • 等级:
    • 排名:千里之外
    • 原创:66篇
    • 转载:3篇
    • 译文:0篇
    • 评论:10条
    最新评论