服务器虚拟化给存储系统和维护存储系统的管理员带来了一些严峻的挑战。一个简单的事实就是在全球数据中心中只有大约50%的服务器已经被虚拟化——尽管服务器虚拟化能带来明显和真正的好处。
服务器虚拟化的一个最基本推动力就是成本。服务器虚拟化可以带来明显的成本节约,但是需要支持它的存储系统称职才行。2010年,William Blair and Company,一家芝加哥投资银行,它所进行的一项研究发现进行服务器虚拟化的公司基本上在服务器虚拟化上每花1美元,在存储上就要花2到3美元。根据企业策略集团(ESG)高级分析师Mark Peters的说法,这样的数据可以打破服务器虚拟化的经济性幻想。他表示:“没有事先做好功课的人当然是有可能会因为存储成本而失去服务器虚拟化的经济性的。”
存储成本巨升的一个原因就是随着服务器虚拟化将虚拟机(VM)从所运行的物理硬件上脱钩,它也将VM从底层存储上脱钩,而底层存储通常是在一个SAN(存储局域网)上。服务器虚拟化厂商实际上使得新VM的创建变得快速和容易,不过这也导致VM的泛滥和数百个幽灵VM——那些不再需要或使用的但是仍然在消耗存储资源的VM。当VM从标准镜像中创建的时候,这种情况更严重了,因为标准镜像通常被给予比实际所需远远更多的存储资源。
更概括地说,根据服务器虚拟化本身的特性,服务器虚拟化对存储资源是非常渴求的。由于服务器虚拟化让顺序访问变得随机——随机访问这种存储行为对存储系统来说是最大的挑战——它尤其会加重存储系统的负担。Peters表示:“由于它很容易创建VM,你对存储容量的需求就会上升。同时,随着VM在虚拟化基础设施中的活动,你会遇到更多的随机I/O(输入/输出),这对你的存储系统的容量和性能都是负担。这种情况一定程度上会迫使人们放慢虚拟化步伐,因为他们必须在存储上花费比预期更多的钱。”
Peters提到说用户需要事先规划,在没有清晰战略下进行存储扩展的一个陷阱就是存储蔓延——配置新设备来扩展存储以便满足虚拟化对性能和容量的要求,而不是通过使用可以升级或扩展的存储架构来确保存储扩展的可能性。一个可以扩展的系统应该是便于管理和维护的;它占用更少的数据中心空间;消耗更少的电源;冷却成本低。如果你要购买的存储系统在它的整个工作寿命中采购成本只占到总的运行和维护成本的20%,那么选择这样的便于维护和占用更少资源的系统可以为你带来明显的成本节约。
缓解存储对虚拟服务器的制约
服务器虚拟化所带来的最大挑战之一就是如何应付多个VM在一个物理主机上运行来带来的高I/O水平,所有I/O都要通过主机上运行的一个虚拟机管理器。目前越来越流行的一个解决方案就是安装一个虚拟化高速缓存——通常是数百GB的快速固态记忆体——在处理器旁边使用一个PCIe主线连接。
如果再加上在虚拟机管理器和客机操作系统中运行的应用程序层面的高速缓存软件,用户可以有效地将后端存储系统的IOPS(每秒输入输出)卸载到高速缓存,从而减轻存储系统的压力,降低延迟性,有效加快应用程序速度。提供这种类型固态高速缓存和软件的厂商包括Fusion-io(io Turbine软件)、OCZ(VXL产品)和SanDisk(FlashSoft产品)。
这股将存储技术应用到虚拟化中的潮流还在继续。这些存储技术包括动态分层存储阵列(比如EMC和NetApp的产品),服务器这边的SSD设备(包括Tintri、Nimble、Nutanix和StorSimple的产品)。
另一个解决方案就是所谓的存储虚拟机管理器,它进一步将存储在VM层次上呈现。一个例子就是加州Virsto提供的产品。它的存储虚拟机管理器被安装为每个物理虚拟化主机上的虚拟设备,然后它可以干涉处理那些原来正常情况下应该直接给虚拟机管理器的I/O请求。这些I/O请求被写入到一个日志文件,然后以优化的方式写入到一个异质共享存储池中,在底层虚拟磁盘的自动精简配置功能的帮助下,这种方式可以将性能提升10倍,也就是说可以将存储要求降低至多90%。
ESG的Peters表示:“我很赞成使用存储虚拟机管理器。如果你虚拟化了所有其他东西,那为什么不像Virsto那样把存储放在一个存储池中来管理呢?”
自动精简配置在用于虚拟化架构的时候可以带来很多好处。根据ESG进行的研究,大约一半的公司浪费了一半的存储容量。虚拟化要求大量的存储,而自动精简配置可以帮助确保这些存储没有被浪费。Peters表示:“每个人都应该使用自动精简配置。”
然而,一个让人惊讶的事实是,根据一位厂商提供给Peters的数据,只有大约一半的企业在使用自动精简配置技术。他表示:“许多组织甚至是没有开启这个功能。”
当然,在一些情况下,自动精简配置也许不是一个好主意——例如,它不适合用于那些存储要求变化非常剧烈和快速的应用程序。不过Peters认为在许多情况下自动精简配置只是因为保守主义而没有被使用。
这里边还有另一个因素。Ovum首席分析师Roy Illsley表示,在那些已经虚拟化了任务关键型应用程序的公司中,很少有公司愿意在这些应用程序上使用自动精简配置。“它们最终会使用,但是要想实现这点,它们将需要某种形式的复杂的自动配置系统。”自动系统现在就已经存在,不过Illsley表示还是需要那种可以帮助提供稳定的服务水平的东西。
这可能涉及存储分层或是那种可怀疑将数据分配到不同存储层(通常是根据数据访问频率)的存储系统。Illsley建议自动存储分层系统可以使用类似VMTurbo产品那样的技术来提高使用的经济性:放弃根据使用频率将数据自动分配到各个存储层的做法,VM或应用程序可以根据分配的“预算”从存储系统中“购买”不同的存储层。通过为重要的应用程序分配更高的预算,自动系统可以确保不同的存储层以更有效的方式进行数据分配。
存储所面临的其他服务器虚拟化挑战
服务器虚拟化还可以以其他方式给存储环境带来挑战——想想备份和灾难恢复,在虚拟化环境如何管理存储和由谁管理存储的问题。大型存储厂商将寻求提供解决方案。EMC营销经理Phil George表示:“你的针对虚拟化环境的存储平台将与你的虚拟化平台紧密相连。尤其是,我们认为你的备份应该要和你的存储设备整合在一起。”存储厂商也在将它们的产品同管理系统(比如VMware的vCenter)整合在一起,意味着存储管理员和虚拟化管理员之间的界限正在模糊。
虽然界限可能模糊了,但是有一件事是很清楚的:服务器虚拟化给存储带来了严峻的挑战。除非这些挑战用最新的技术来应对,企业很有可能放慢自己的虚拟化步伐,错过服务器虚拟化所能带来的好处。