虚拟化的硬件瓶颈尚需克服

服务器在线1月14日报道 如果你指望虚拟化没有任何问题,那么,你的期望就是不现实的。虚拟化是极好的技术,能够做许多对你的数据中心有利的事情。但是,要利用虚拟化的好处,你需要了解如何处理虚拟化带来的问题。

虚拟化是一种比较年轻的技术。尽管许多企业和数据中心已经采用了虚拟化,但是,仍有许多需要克服的技术挑战。

发现性能下降的原因并不总是很容易的事情。这个过程本身就能够在生产环境中造成许多问题。服务器和存储虚拟化都会带来问题。但是,这些问题的性质是不同的。许多问题是很容易绕过的。如果你了解如何使用这种方法,你在你的数据中心就会遇到较少的虚拟化问题。

虚拟化问题基本上取决于你在运行什么应用程序。幸运的是,有一些软件程序(如VMWare的AppSpeed)专门检测虚拟化的应用程序性能下降情况并且提出处理这些问题的解决方案,还有VKernel公司的容量瓶颈分析器虚拟设备。

甚至还有一些开发一种专用操作系统的计划,如VMWare的虚拟数据中心操作系统。这个操作系统旨在解决虚拟化的瓶颈和其它性能/管理问题。但是,这个操作系统的推出还是未来的事情,现在还很难说这个操作系统是否能达到预期的性能。

你需要做许多事情解决虚拟化瓶颈问题。最常见的瓶颈是:处理器/内存相关的瓶颈、输入/输出瓶颈和存储瓶颈。尽管没有如何处理这些问题的统一药方,但是,有一些一般的指南,了解这些指南通常是有用的。

处理器/内存瓶颈

处理器/内存瓶颈是最容易发现和解决的瓶颈。正如你了解的那样,虚拟化需要强大的机器,因为你要在一台物理计算机上运行多个逻辑机器。你不能指望一台配置1GHz处理器和512MB内存的计算机能够做五台计算机的工作,对吗?这就是你需要增加内存和升级处理器的原因。升级内存/处理器通常可以解决处理器/内存瓶颈我能提。因此,这个问题是很容易解决的。然而,你也许会遇到一些局限性。也就是说你增加的内存或者速度更快的处理器不能超过你的主板支持的极限。

处理器/内存瓶颈的另一个解决方案是部署数量较少的虚拟机。这将减少机器的工作量和性能要求。虚拟化的思路就是要利用闲置的处理能力,而不是过度利用机器的能力和造成机器崩溃。因此,如果你看到主机不能处理这个工作量,就停止使用一些虚拟机,并且把这些虚拟机转移到其它主机。

当没有足够的内存的时候,这个系统将开始转换硬盘。这将进一步减慢机器的速度,甚至会产生严重的输入/输出瓶颈。这甚至会消耗更多的有限的处理器能力或者输入/输出容量。在虚拟化环境中,输入/输出瓶颈是他们自己的问题,为什么要使这种局面更恶化呢?

输入/输出瓶颈

输入/输出瓶颈是虚拟化环境中最常见的问题。同处理器/内存瓶颈一样,输入/输出瓶颈基本上取决于你运行什么应用程序。但是,虚拟化的服务器总是比没有采用虚拟化的服务器需要更多的连接。这是合乎逻辑的,在规划和配置虚拟化解决方案的是偶,你需要考虑这个因素。

作为一条规律,没有采用虚拟化的服务器通常运行的应用程序很少,甚至仅运行一个应用程序。这个应用程序拥有它需要的全部输入/输出资源。虚拟化的服务器运行更多的应用程序,每一个应用程序都需要单独的输入/输出资源。这就需要更多的输入/输出资源,每个机器需要6个至8个端口,是没有采用虚拟化的服务器的输入/输出需求的2至3倍。实际上,当你使用虚拟化的时候,你的连接变成了一个布线难题。此外,你在许多情况下不向一台虚拟化的服务器增加连接就不能运行。实际上,这是输入/输出瓶颈的最佳解决方案,增加更多的连接或者能够提供所需要的连接的解决方案,而不是需要更大的机架。这种特别的解决方案和想法将增加虚拟化的成本。这些解决方案将解决输入/输出的问题。

与存储有关的瓶颈

从技术上看,与存储有关的瓶颈是输入/输出瓶颈的一个亚变种。但是,由于他们是最常见的虚拟化瓶颈,因此需要单独讨论。这个问题通常是连接网络附加存储和存储局域网存储的连接。这里最容易出现问题。大多数虚拟化解决方案支持网络附加存储、存储局域网和i-SCSI存储。但是,并非所有的虚拟机够能直接连接到这些存储设备。如果这个虚拟机不能直接链接到存储设备,就会出现更高的响应时间,并且在更糟糕的情况下造成存储操作的故障。有四个与存储有关的主要瓶颈:在虚拟服务器中超额订购服务、在硬盘和目标存储系统中超额订购服务、在存储局域网结构中超额订购服务以及在目标存储端口上超额订购服务。超额订购服务是一种正常的做法,能够提高存储的利用率。但是,如果你错误地估计了这个情况,存储就变成了瓶颈。

你需要监视每一个应用程序的存储需求并且根据这个需要求分配资源,而不要使用一般的建议。需要存储访问的虚拟化的应用程序的数量是确定优化的订购服务比例时应该考虑的一个因素。但是,每一个应用程序运行的数字和性质是更重要的因素。增加更多的存储容量不是这个问题的解决方案,因为你的实际需要是更好的连接而不是更多的容量。

虚拟化引起的问题并不局限于上述几种。实际上,通常有两种或者更多的与虚拟化有关的因素一起引起这些问题。除非你能找到所有这些问题,否则,这些问题将一直存在。但是,这与没有采用虚拟化的机器不是一样吗?