大多数采用虚拟化策略的公司都没能计划好如何配置足够的存储,至少开始的时候是这样。但是企业也可以采用一些技术来充分利用他们已有的存储容量,这些技术包括存储虚拟化、自动精简配置和重复数据删除。
这些措施都可以帮助解决存储使用等式中供给一方的问题–它们基本上充分利用了可用的物理磁盘空间,并进一步确保大部分所使用的磁盘空间是以真实有效的方式使用的,缓解磁盘使用的"紧张"状况,保留那些没有被实际请求的磁盘空间。
但是在这个等式中还有另一方,即需求方:一个虚拟化策略所需要的存储空间容量的大小。如果存储需求可以被减少,那么就可以极大地节省所需的存储容量,并从而进一步节省成本。
怎么做?
这种方法是可能的,但是不幸的是,我们还需要等待一段时间才能看到大部分功能的实现。
"我们目前还没有足够智能的软件来减少存储需求,但是这种技术已经在发展中",Butler集团的高级研究分析师Roy Illsley说,"另一个需要指出的是这种技术目前也还没有标准化。因此,举个例子说,它们有VMware格式和Microsoft格式,但是它们可以在某种程度上协同工作。如果你希望将一个虚拟机从一个平台迁移到另一个平台的话,那么你就需要将虚拟机予以转换。当这些不同的文件被迁移之后,磁盘使用率将下降,因为你可以无需处理不同的文件格式和指针了。
实际上,Illsley认为随着这种技术的发展,在空间利用上,整个虚拟机平台将变得更加有效率。
"大部分标准的操作系统在I/O、磁盘和内存上已经很成熟–它们能够有效地处理这些问题",他说,"但是虚拟化出现的时间还不久,因此在这方面还不够有效率。随着互操作性和标准化的到来,以及Intel和AMD进行更多努力以便提供虚拟化硬件支持,这种虚拟化软件将更加精简"。
关联虚拟机(Linked Clones)
这听起来很好,但是组织们现在有什么办法可以减少存储的需求呢?
部分答案很可能是Illsley所暗示的软件智能–通过使用模板并记录下变化,从而减少虚拟机所需要存储的数据–这种技术实际上和重复数据删除以及差异备份非常类似。
一个简单的例子就是VMware(纽约股票交易所代码:VMW)使用的关联虚拟机。关联虚拟机技术使用了母虚拟机的概念,然后复制出关联的虚拟机。关联复制后的虚拟机和母虚拟机共享虚拟磁盘,但是它们是独立的,它们可以改变虚拟磁盘的内容。关联虚拟机所发生的任何变化都不会反映到母虚拟机,反过来也是一样。
从关联虚拟机被创建的那一刻起,它的存在形态就是所发生的与母虚拟机原始快照所不同的一系列变化,这种特点使得它尤其具有空间效率。如果使用得当,用户可以创建许多关联虚拟机,让它们独立工作,同时只需要非常少量的额外存储空间。但是,这种方式的主要缺点是它们只能在和母虚拟机保持联系的情况下才能操作:删除母虚拟机,则无法访问关联虚拟机。
虚拟模板
另一个例子就是虚拟环境(VE)的模板技术。总部位于佛吉尼亚州Parallel的Virtuozzo公司的虚拟化系统使用了这种技术。Virtuozzo服务器有模板区,其中承载了操作系统和应用程序的模板。单个VE包含一个操作系统或一个或多个应用程序,但是这些VE实际上都是模板,它们都可以归溯到模板区所存储的实际的操作系统或应用程序文件。只要在主模板上应用(或存储)一次应用程序补丁和更新,就可以反映到服务器上的所有VE。
Virtuozzo已经推出了一种名为EZ模板的技术。这种技术可以减少模板本身的存储需求。它实现这种目的的方式是利用在线Linux目录。EZ模板本身并不包含所有的所需要的包,而是包含了指向目录以及所需要的包的名称的元数据。如果一个VE需要一个特定的Linux发布,那么EZ模板就能够下载最新的包,以便让系统随时都拥有一个保持最新状态的,拥有完整补丁的实例。
位于纽约的DataSynapse公司提供一种技术,这种技术可以扩展这些模板的用途。它使用了模板,以便用户可以减少定制化应用程序虚拟机所需要的存储空间。最直接的方式就是为每个应用程序都存储一个静态的虚拟机镜像,其中包括了应用程序在操作系统中的整个堆栈,所有的中间件以及应用程序代码本身。
DataSynapse的技术能够将虚拟机"分解"成可重复利用的模板,并分别根据应用程序栈的三个组件来构建块。在虚拟机运行的时候,虚拟机可以通过模板组件组合起来。DataSynapse声称这种技术可以将虚拟机镜像存储所需要的空间减少80%。
虚拟化的历史还很短暂,而随着虚拟化技术的发展,上面所描述的这些技术很可能在以后看起来非常简单粗糙。但是就像虚拟化本身可以让多个不同的虚拟服务器分享一个物理主机一样,未来,多个不同的虚拟服务器也将可以通过不同的方式来共享同样的物理数据。这种方式将有效帮助虚拟化技术将存储需求减少到合理的水平。