其他一些值得注意的问题
虽然VMware提供了工具帮助管理应用性能,但在迁移到ESX Server之前我们还是要多花些时间评估性能需求。不仅要看某个应用需要多少资源,还要看它在峰值运算时的概况。
在部署虚拟化时,一种常见的应用是在一个虚拟机上运行邮件服务器,而另一个虚拟机上运行文件/打印服务器。但问题在于,如果在下班时有许多人下载邮件、打印大文档带回家看、或者备份文件,这时这些虚拟机性能就会变得很慢,因为会争抢系统资源。
用来管理虚拟机镜像的Virtual Infrastructure Client有一套工具可以监视虚拟机的性能,但缺乏根据需要自动配置资源的能力。而ESX Server在某个虚拟机的CPU率利用过高时,可以自动地从那些闲散的虚拟机上分出一部分资源来给它用。
另一个值得注意的是,要关注某个特定应用的资源需求变化。因为,随着时间的推移,有些应用会变得越来越重要,工作负载越来越重,而另一些应用可能不再象以前那么重要,负载也越来越轻。在这种情况下,需要虚拟机有自动适应的能力,如VMware Virtual Infrastructure 3就能够根据资源需求变化把虚拟机迁移到不同的硬件平台上去。如果某台虚拟机影响了另一台虚拟机的性能,你也可以轻轻松松地把它迁移到另一台服务器上去。象Altiris提供的第三方工具也有能创建虚拟机镜像,从而简化按需增加更多计算资源的操作。
最后,只要你愿意花时间去分析应用性能的变化,使用Vmware Virtual Infrastructure 3中的ESX Server来做虚拟化,就可以实现服务器硬件资源的最大化利用。要用虚拟机把需要不同资源的应用整合到一台服务器上,这样他们才不会争抢稀缺资源。
在评估性能和管理虚拟机环境时,我们还碰到了一些轻微的性能问题。
1) 在测试中,依靠秒表而不是系统时钟,因为虚拟机显示的时间不一定准确,在测试中有5-10秒的误差,如我们在运行SQLIOSim测试时,发现屏幕右下角的系统时钟总落后于手工测算的时间。
2)在管理虚拟机上的应用时,要注意网络性能的影响。尽管VMware已经做了大量的工作来优化Virtual Infrastructure Client远程控制台工具的显示效果,但我们还是发现性能会受一定影响。运行LoadSim测试时,每次运行结束时要停止存储子系统,删除临时的用户帐号,删除日志文件和重新装载Exchange的邮件存放目录。一般情况下,这些任务大概只要10分钟就能做完,但在虚拟机上要花20分钟,因为要等待控制台刷新。
3)留足时间做部署。我们发现一些基本的虚拟机设置同样令人痛苦。因此,那些帮助你快速设置、部署虚拟机以及安装应用的管理工具还是值得花钱去买的。
综上所述,我们看到,虚拟化所产生的性能损耗是无法完全消除的。根据应用不同以及应用所需的资源不同(如有磁盘密集型、内存密集型或CPU密集型),性能表现也会不同。为了获得令人满意的应用效果,我们建议:1)要预测虚拟化带来的性能损耗;2)不要指望虚拟硬件资源能比物理硬件带来更多的价值;3)把对资源需求不同的应用分到一组,放在同一套硬件上;4)使用VMware的工具来优化资源的使用;5)采用VMware或第三方工具,使得虚拟机更容易被迁移到其它硬件平台。