百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

VMware备份和恢复的方法

csdh11 2025-01-03 15:03 19 浏览


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中。

目前针对中小企业,UCache现在提供软件和空间支持,可以免费申请UCache云灾备 免费使用100G(实际700G)——只要不超过实际700G的数据,可以免费使用一年,帮助企业用户实时高效低成本的增加业务容灾能力,一切为企业快速发展兜底!(数据压缩、重删比例:可达到7:1,实际700G的数据(意思是经过加密切块压缩,及并行重删备份后实际在UCache灾备云平台上显示的占用容易仅为100G)。


;?Z?D

相关推荐

探索Java项目中日志系统最佳实践:从入门到精通

探索Java项目中日志系统最佳实践:从入门到精通在现代软件开发中,日志系统如同一位默默无闻却至关重要的管家,它记录了程序运行中的各种事件,为我们排查问题、监控性能和优化系统提供了宝贵的依据。在Java...

用了这么多年的java日志框架,你真的弄懂了吗?

在项目开发过程中,有一个必不可少的环节就是记录日志,相信只要是个程序员都用过,可是咱们自问下,用了这么多年的日志框架,你确定自己真弄懂了日志框架的来龙去脉嘛?下面笔者就详细聊聊java中常用日志框架的...

物理老师教你学Java语言(中篇)(物理专业学编程)

第四章物质的基本结构——类与对象...

一文搞定!Spring Boot3 定时任务操作全攻略

各位互联网大厂的后端开发小伙伴们,在使用SpringBoot3开发项目时,你是否遇到过定时任务实现的难题呢?比如任务调度时间不准确,代码报错却找不到方向,是不是特别头疼?如今,随着互联网业务规模...

你还不懂java的日志系统吗 ?(java的日志类)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

谈谈枚举的新用法--java(java枚举的作用与好处)

问题的由来前段时间改游戏buff功能,干了一件愚蠢的事情,那就是把枚举和运算集合在一起,然后运行一段时间后buff就出现各种问题,我当时懵逼了!事情是这样的,做过游戏的都知道,buff,需要分类型,且...

你还不懂java的日志系统吗(javaw 日志)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

Java 8之后的那些新特性(三):Java System Logger

去年12月份log4j日志框架的一个漏洞,给Java整个行业造成了非常大的影响。这个事情也顺带把log4j这个日志框架推到了争议的最前线。在Java领域,log4j可能相对比较流行。而在log4j之外...

Java开发中的日志管理:让程序“开口说话”

Java开发中的日志管理:让程序“开口说话”日志是程序员的朋友,也是程序的“嘴巴”。它能让程序在运行过程中“开口说话”,告诉我们它的状态、行为以及遇到的问题。在Java开发中,良好的日志管理不仅能帮助...

吊打面试官(十二)--Java语言中ArrayList类一文全掌握

导读...

OS X 效率启动器 Alfred 详解与使用技巧

问:为什么要在Mac上使用效率启动器类应用?答:在非特殊专业用户的环境下,(每天)用户一般可以在系统中进行上百次操作,可以是点击,也可以是拖拽,但这些只是过程,而我们的真正目的是想获得结果,也就是...

Java中 高级的异常处理(java中异常处理的两种方式)

介绍异常处理是软件开发的一个关键方面,尤其是在Java中,这种语言以其稳健性和平台独立性而闻名。正确的异常处理不仅可以防止应用程序崩溃,还有助于调试并向用户提供有意义的反馈。...

【性能调优】全方位教你定位慢SQL,方法介绍下!

1.使用数据库自带工具...

全面了解mysql锁机制(InnoDB)与问题排查

MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度...

看懂这篇文章,你就懂了数据库死锁产生的场景和解决方法

一、什么是死锁加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获...