虚拟服务器在企业中发挥着越来越重要的作用,管理员面对的现状是在同一台物理服务器上安装了多台虚拟机。每台虚拟机都使用物理服务器的一部分进程,内存和输入/输出资源。理想状态是,服务器虚拟化可以提高硬件的利用率。
但是,随着越来越多的"逻辑"服务器整合到越来越少的"物理"计算机系统上,保护每一台虚拟机上的数据不受到损坏和丢失就变得至关重要了。虚拟服务器就能提供这种保护。本文将介绍如何使用传统备份技术和特殊虚拟化工具来对虚拟服务器进行备份,还包括了相关的部署内容。
什么是虚拟服务器备份?
虚拟机就是存在于物理服务器上以单独实体形式存在的一个完整的逻辑环境。每一台虚拟机都可以看做是一台真正的物理服务器。事实上,用户是无法区分二者之间的区别的。一个数据中心可能在一小部分硬件设备上就运行着上千台虚拟机,而这就给存储或备份管理员带来了严重的问题。虚拟机上的数据丢失和物理机上的数据丢失一样可怕,所以每一台虚拟机都要成为公司备份制度的一部分,来严格执行。
虚拟机的备份可以通过使用一般的备份软件这种传统的备份方法来完成。备份软件只要安装在每台虚拟机上并做好配置,备份一般就能正常完成,可以把数据备份到常规的目标源上,包括磁带、虚拟磁带库或者是存储磁盘上。Enterprise Strategy Group (ESG) 的分析师Lauren Whitehouse表示:"这可能是目前最受欢迎的备份方式了,因为这是最简单的办法,大家都已经轻车熟路了。这种方法可以保证备份的可靠性,能够提供小粒度的恢复,而且是专门的应用程序。"
然而,应用传统的备份策略在虚拟服务器的备份上却有一些障碍。最主要的问题是资源争夺的问题。因为备份需要相当可观的处理能力,而执行备份需要的那些额外的资源可能会影响到这台虚拟机的性能,甚至是威胁到同一个系统上其他的虚拟机的正常运行。Storage IO Group 的创始人兼高级分析师Greg Schulz 表示:"不要追求100%的利用率。"不要让服务器满负荷运转,需要留一些空闲的服务器资源来完成备份的任务,错开备份的过程,这样同一时刻的一个物理系统上只有一台虚拟机在做备份。
虚拟化环境的备份过程更加耗时费力
如果备份软件是安装在每一台虚拟机上的时候,肯定要比安装在一台服务器上耗时费力得多,而且这也会让你的备份过程代价更高。还有,传统的备份将拷贝程序和数据,但可能并不需要将整个虚拟机的状态完全记录下来,不过一旦出现问题,虚拟机可能会需要重建并重新配置,之后才能进行备份恢复。
虚拟化专用工具,例如VMware Consolidated Backup (VCB)或者Microsoft公司的Virtual Machine Manager (VMM),和各自的虚拟化平台直接接口,并记录下整个VMware的Virtual Machine Disk (VMDK)或者是Microsoft的Virtual Hard Drive (VHD)的即时快照。虚拟服务器备份工具VCB 或VMM可以快速记录整个虚拟机的状态,虚拟机一般就不需要停机或者离线了。这样的工具不仅仅可以提供快速的完整的系统恢复,而且完整的快照还可以上载到新的虚拟机上,系统管理员就能够按需"克隆"虚拟机了。
缺点就是虚拟服务器无法进行文件粒度的恢复。传统的备份方式,恢复一个单独的应用程序或者数据文件很简单。如果只有一个VMDK或者VMM文件,就算只有一个文件丢失或者受损,你也不得不恢复整个快照的内容, 才能完成任务。"有些快照厂商已经解决了如何利用快照级别的备份,并分解成用户需要的单一文件粒度的恢复,不过并不是所有的厂商都实现了这一技术。"
执行虚拟服务器备份
存储空间给虚拟机文件带来了特殊的挑战。虚拟快照总是被当作一个新的文件,所以也就总是完整的备份下来了,不管上一次快照之后到底有多少数据是真正发生了变化的。快照还将使用完全备份的时间并且消耗同样大小的磁盘/磁带空间。数据重复删除,也叫做单一实例存储,就可以减少这些存储量。数据重复删除并没有缩短备份的时间,因为数据还必须通过网络传输然后才能进行重复删除。专家建议通过一个设备来进行数据重复删除或者在源头进行数据重复删除可以节省存储媒介,与此同时可以最小化备份的时间。
虚拟服务器的备份对备份目标源并没有特殊要求。目前,传统的备份可以到磁带、虚拟磁带库或其他磁盘系统。不过有些对于性能特别挑剔的用户会先把数据备份到磁盘,然后将其下线再备份到磁带。VCB或者VMM备份差不多都是这样来做的,先备份到磁盘,然后下线后备份到磁带或者复制到存储磁盘上保存起来,这和传统的备份方式没有什么两样。不过,备份保存的时间要考虑清楚,可能并不需要把所有的快照都留存很久,关于这个问题可以咨询存储专家以及律师的意见。
虚拟服务器备份还应该可以定时进行校验和检查,以保证必需的数据做好了备份,但是这一般包括了将备份恢复到另一台虚拟服务器上并进行常规操作校验。对于那些经常做恢复操作的用户来说,"校验"过程是持续的;每一次恢复一个文件或者程序时都需要做备份校验。其他一些实施虚拟化的用户有专门来做校验的辅助机器,可以让管理员进行周期性的备份检查,而不需要将原始生产机器下线。
简化备份和灾难恢复的过程
某物流企业与客户之间的生意往来生成了大量的客户数据。数据量接近20TB,而且还有10TB的测试数据散布在运行着VMware Infrastructure 3虚拟化软件的数台EMC服务器平台上。而虚拟化则让这家公司可以有效的利用资源,并且简化备份和灾难恢复的过程。
这家企业使用VCB和EMC的Legato备份软件来对虚拟机进行备份。虚拟服务器备份是在晚间进行的,同时按照需求还会做完全备份。完全备份的过程大概需要6至7个小时,大概有160台服务器要做备份,其中有一半是虚拟服务器,很难计算出一台虚拟服务器的备份时间到底要多久。
为了保护现有的虚拟服务器,他们还使用虚拟快照来克隆新的服务器。使用VCB来保存一个虚拟服务器的拷贝,然后可以把这个拷贝恢复到另外一台虚拟机上,作为前一个的复制品。
EMC的Clariion Disk Library (CDL)提供了对于虚拟磁带的支持。备份程序既把数据备份到了虚拟磁带上也备份到了真正的物理磁带上,所以这家企业拥有两种备份。此外,目前的LTO-3磁带机将很快升级为LTO-4的。虽然目前而言,这家企业还没有恢复过虚拟机,恢复的过程已经完全被证实可用,而且至少每月有一次测试,有时甚至会在更短时间内进行测试。
这家企业的运维负责人Thompson表示:自从解决了早先出现的一些问题之后,虚拟化的表现很可靠。他说:"我们遇到过VCB运行的时候虚拟机死锁的情况,那是因为我们没有及时升级VMware驱动和工具。" 升级之后,虚拟机就再没有出过问题。这一点强调了在虚拟环境中软件维护和版本控制的重要性。
提升效率和灵活性
说到效率和灵活性,这在服务器虚拟化的整合架构中可能是最大的优势了。一家信息服务公司在整合数据中心的过程中,使用Microsoft Virtual Server 2005 R2提供了灵活性。该公司信息安全主管表示:我们兼并了一家公司,并对整合上把他们的技术架构加入到我们的数据中心,虚拟环境是我们唯一的选择,这样才足够灵活应出现的问题。
一旦存储虚拟化的优势显而易见,整体架构就向着虚拟服务器环境转变,生产环境上有超过600台虚拟服务器(占生产环境的80%-85%),而且还有大概400台虚拟服务器是为了灾备恢复的,另外400台处于开发环境中。该公司信息安全主管认为:这是一种硬件未知观点,任何运行Windows服务器的平台可以支持完全虚拟化并能真正利用硬件的全部潜在能力。如今,他们在一台IBM FAST存储服务器上大概存储着60TB的数据。
同时,他们使用VMM来管理和备份Microsoft的虚拟机。VMM不仅能够帮助配置和优化虚拟环境,而且还能生成VHD文件的备份快照。还使用VMM来生成标准服务器"图像",这样可以缩短部署新虚拟机的时间,并有助于在环境上统一软件和硬件的版本。这样,他们开始的时候从头开始配置一台新服务器可能需要2到4个小时,而现在可以仅仅通过已经生成的硬拷贝图像正确地配置到主机上就大功告成了–也就用10到15分钟时间。
几乎所有的虚拟机备份都是通过VMM完成的,不过还有一些手动的备份方式可以提供给那些还没有虚拟化的重要程序。一台虚拟机真正需要的备份时间取决于VHD文件的大小和备份数据从源到目的的带宽情况。备份总是先到磁盘,然后离线作为一个独立的过程再备份到磁带。
事实上任何地点都能配置灾难恢复,只要有电源,有互联网接入,这一点很重要。虚拟化让整个灾难恢复过程具有可操作性,没那么可怕了。而且VMM还能帮助进行配置管理,升级等等。VMM提供的负载均衡还可以帮助优化每一台服务器上虚拟机的数量。
虚拟服务器备份的未来
存储的数据会越来越多,这就不可避免地导致对虚拟机备份的网络存储空间的需求也会越来越大。这也预示着人们对虚拟服务器备份软件方面和重复数据删除技术的关注度会越来越高。真正的挑战将是执行重复数据删除却不会影响到虚拟机的性能。
如果你在一台虚拟机上执行重复数据删除,你会给虚拟机的CPU带来更大的负荷。也就是说,可能会需要一台外部的数据重复删除设备来达到必要的性能标准。使用优化的硬件芯片可能还会提升虚拟服务器的一些其他性能表现,可以选择使用Intel公司的vPro 处理器技术以及Q35 Express芯片。
传统的备份还得依赖备份软件才能进行正确的恢复,本地安全性一般,虚拟机则是一个完全自我独立的系统快照,恢复起来要比一个备份卷简单得多。加密是虚拟备份环境中另外一个要素,但是目前几乎没有多少用户意识到了安全问题的重要性。
基本上,还看不清虚拟服务器备份的未来。专家指出虚拟化厂商可能会将备份的负担甩给第三方开发厂商。Whitehouse这样表示:"我认为他们(虚拟厂商)的第一步骤将是为备份厂商提供应用程序接口。"备份厂商然后就能开发新的应用程序或者在现有备份产品上添加功能,可以利用那些应用程序接口,提供更好更细致的备份产品。