虚拟化的前景非常远大,现在,这些前景所带来的许多承诺已经触手可得。但是,只有当为虚拟化的独特要求而进行优化的备份方案出现在市场上时,更为广泛的虚拟化部署才会出现。
服务器虚拟化已经跨过了那个众所周知的门槛。不久之前,在部署新的服务器时,我们还必须去论证为什么要使用虚拟方式而不是物理方式。现在,相反的情况已成为一个事实。对于许多机构的 IT 经理,“虚拟优先”的策略已成为一项法令,部署新的服务器时必须使用虚拟方式,除非特别要求使用物理服务器。
虽然虚拟化存在各种各样的优点,但也带来了许多新的存储和数据管理问题。其中一个主要的问题是备份。物理服务器领域的备份技术也可用于虚拟机环境,但效果并不是很好。
原因何在?虚拟机备份代表着四个新的技术因素:
1. 由于服务器的使用在增加,所用的相应资源在减少。备份应用是资源消耗大户,它们会消耗大量服务器的输入/输出、CPU 和内存资源。通常,我们希望这些备份应用能够在备份范围内相对较快地完成工作。在物理服务器阶段,这些应用可能占用了 10% 的服务器资源,这不会成为一个问题。备份可以利用那些闲置的资源,不会对正在进行备份的应用程序造成严重的影响。
对于虚拟化,服务器的使用方式更近于容量。事实上,这是虚拟化的基本目标。虚拟化是很好的方式,但是这种服务器不再具有大量的闲置资源可供备份使用。现在,备份工作及其备份的应用程序更加消耗服务器和存储硬件资源。
这还不是最糟糕的。在现在的服务器运行的应用程序不止一个而是多个,甚至是很多个,所以备份一个虚拟服务器所带来的负面影响不再限于某个虚拟机,而是对所有共享同一硬件的虚拟机都会造成影响。
2. 现有的备份客户端运行在 guest 虚拟机内部,并且除非采取特定的预防措施,这些事先预定的备份将是重叠运行的。由于服务器资源已经很少的问题,服务器管理员必须格外谨慎。如果在服务器运行一个备份已经很糟糕,运行多个备份对于应用程序响应会是一场灾难。所以,相对于物理机器,虚拟机备份计划必须更为仔细地进行制定。
额外的备份负载这一问题被所涉及的多个 guest 虚拟机放大,另外,虚拟机负载的动态本质也使复杂性进一步加剧,虚拟机的实时迁移(有时并非由服务器管理员启动)也会把手工备份计划搞得一团糟。
3. 针对这些问题的解决方案是在超级管理员等级上运行协作备份,最好是主机外(off-host)的方式。资源争夺发生在虚拟化层,运行在这一层的协作备份可最小化应用占用资源的问题。在超级管理员等级上的备份操作,如果进行准确地部署,可以成为最有效地利用资源。
最理想的情况是在独立而又潜在专用的硬件上运行备份,这样备份服务器的操作就不会对活动的应用程序造成影响。
4. 现有的架构,比如微软的 VSS,是为运行“热备份”(hot backup)而设计。这样的架构不具备足够的伸缩性,能够从 guest 虚拟机内部影射虚拟盘,正如在超级管理员曾所见的那样。在采用服务器虚拟化技术多年以前,微软的卷影射服务(Volume Shadow Service)已经出现,并被广泛使用。但是 VSS 是在卷上运行而不是在虚拟机上。在过去,硬盘卷和应用程序之间是静态的 1:1 关系,这种情况下不会出现问题。但是,在虚拟服务器上,最好的方式是在单一卷上为多个虚拟机设置虚拟硬盘(在 VMware 上,是 VMDK;在 Hyper-V,是 VHD)。
激活的VSS 为整个卷创建一个影像副本,即使需要的只是备份单一虚拟机。在超级管理员等级运行当前的 VSS 架构并非最理想的情况,但是最接近。这一“解决方案”在 guest 虚拟机等级上运行备份,但这会导致上述的问题 1 和问题 2。
面对这些问题,正确的虚拟机备份方案应是什么样的?虚拟化备份行业需要提供:
- 能够为附属于 guest 虚拟机的虚拟硬盘创建快速、空间高效的高性能快照。它应能够为虚拟机关联的所有虚拟硬盘同步建立快照,这样就可以创建崩溃状态一致的(crash-consistent)的备份镜像。根据客户的备份计划和方案,应可以按照组(group)的管理虚拟硬盘。
- 利用可感知应用程序的备份方案,对这些快照的创建和管理进行整合。崩溃状态一致很好,不过应用程序一致更好。
- 能够访问服务器上的快照而不是运行活动虚拟机的快照。对于将备份负载及其附带的资源消耗从活动的产品应用程序中分开,这是至关重要的。正如前文所述,在虚拟服务器环境中,主机外备份是一个尤为紧迫的需求。
- 长期在线可用的快照。理想的情况是能够拥有长期在线的快照。大多数快照具有的空间高效功能,这意味着基镜像(base image)及其子快照中的数据块仅保持一次。这样就可以廉价地长期保持许多快照,使得从之前快照中快速恢复数据变得简便。
- 遗憾的是,很多快照产品的设计是短期保持的。快照在线时间越长,I/O 性能降低的也越多,不仅是对于快照,也包括它们的基镜像,这会使得创建保持在线快照变得不切实际。
- 有关增加备份的信息。虚拟机镜像文件很大,通常数十个 GB。如果备份软件知道上次备份之后镜像的某些部分没有变化,那么它的效率就可以变得更高。虚拟硬盘摘要层应为备份提供镜像和对象等级的更改数据列表。
- 对活动虚拟机性能没有过度的性能处罚。这是一个很明显的要求,现金的处理方式对性能造成了很严重的影响。
- 独立于存储硬件。对于 IT 机构,所有权的限制从来都不是好事情。利用正确的软件设计,虚拟机备份方案没有理由将所有权限制于特定存储子系统中。
很长时间以来,虚拟化对于数据中心(内部和云端)是最好的方式。虚拟化的前景非常远大。现在,这些前景所带来的许多承诺已经触手可得。但是,只有当为虚拟化的独特要求而进行优化的备份方案出现在市场上时,更为广泛的虚拟化部署才会出现。