上一篇焦点话题中,我们曾对目前服务器虚拟化在实施之前,及具体部署过程中遇到了问题进行了总结与分析,本文就将致力于破解这些挑战,以帮助确实适用虚拟化技术的用户能够更放心、更轻松也更为坚定的迈上服务器虚拟化之路,接下来就让我们依次对症下药吧:
一、如何界定适合实施虚拟化技术的服务器及应用?
严格意义上讲,对于哪些应用适于做虚拟化,并没有明确的定义,但可通过相应的原则来帮助我们过滤。这个原则主要就是应用对系统资源的需求情况,有些企业级应用对处理器资源占用率更大,可能还需要多台物理服务器来支持,那就不太适合做虚拟化,因为虚拟化本身就是一个追求资源复用的技术,它适合整合那些平均处理器占用率略低的应用,比如在20%左右的应用,这样一台物理服务器可以整合4个这样的应用,再留出20%的资源应对突发需求,就是一个比较好的解决方案。
当然,资源占用情况与用于承载应用的服务器的能力也是密切相关的,在计划实施虚拟化时,不光要考虑应用对服务器的处理器、内存等资源的占用,还要考虑其在I/O方面的需求。根据这一原则,用户应该选择具备相应能力的服务器,由于它要当作多台虚拟服务器使用,所以处理器与内存资源是首当其冲。比如运行企业关键应用的英特尔至强7500平台,目前在8路配置上即可提供64个CPU核心和高达2TB的内存容量,这在x86服务器中是非常领先的,而其基于英特尔VT-d与VT-c实现的平台内I/O与网络互联的虚拟化功能,也能大大提升了虚拟机的I/O能力。针对这一平台,显然适用于虚拟化的应用种类也就大大增多了。而对资源要求以及关键等级不高的应用,双路平台中,基于英特尔至强5600的服务器就完全可以胜任。总之,资源占用率与占用倾向(占用处理器资源、内存资源还是I/O资源?)是我们根据应用界定服务器是否有必要应用虚拟化技术的重要依据,也是我们做服务器选型时的重点参考。
二、是选小型机还是x86服务器来做虚拟化?
在虚拟化技术方面,x86架构的服务器阵营的确是后来者,但这并不代表它们在虚拟化应用上就是弱者,事实上随着技术的进步,特别是这一领域的核心厂商英特尔推出了硬件辅助虚拟化,强化了性能和功能,并降低了虚拟化的性能开销后,x86服务器的虚拟化能力就不再是一个疑问,而是一个肯定的回答了。事实上,现在所有的基于虚拟化技术的公共云(如Google、Amazon等)都是建立在x86平台上的。而且与小型机平台相比,英特尔至强 7500平台新增了超过20个增强可靠性、可用性和可维护性的功能,已能提供与小型机相当的关键业务承载能力,也能为虚拟化提供坚实的硬件基础,完全可以应用于金融、电信等高端核心业务的虚拟化整合领域。
因此,对于那些没有小型机应用遗留与兼容问题困扰的用户,现在完全可以考虑使用基于至强的x86平台来做核心应用的虚拟化平台,只有那些需要保留原有小型机应用的客户,才有必要认真思考两者间的取舍。
三、服务器虚拟化管理程序选谁的好呢?
目前主流虚拟化软件提供商的方案大体功能正在趋于一致,但仍有各自的长处,例如:VMware在数据中心级的虚拟化解决方案占据领导地位;如果基于Windows平台,那么微软的方案则是近水楼台先得月;在终端虚拟化方面,则是思杰的传统强项。
在这些的虚拟化解决方案中,一定要注意的是它们对处理器硬件虚拟化辅助技术的支持,它将大大减少虚拟化的性能开销,并更容易实现新的应用。比如英特尔面向处理器的VT-x、面向芯片组的VT-d和针对网络适配器的VT-c虚拟化技术,他们都提供了独一无二的全方位的硬件级虚拟化辅助能力,选用支持这些技术的虚拟化解决方案,将得到事半功倍的好处,甚至可以获得一些"独有"或额外的收益,比如思杰的XenClient终端虚拟化方案,就是借助于英特尔VT-d技术才能实现,它使得PC终端也能生成全功能的虚拟机,而不会造成本地3D显卡与硬盘存储方面的性能下降。
四、虚拟化之后的性能不理想?
如果排除之前应用是否适用于虚拟化的界定问题,那么出现这一现象的最大原因就是服务器的选型没有与应用的资源占用倾向相挂钩,也就是说用户考虑得还不是很全面。很多人在做虚拟化时,只关注到了CPU与内存资源的占用,而没有关注到与应用效率密切相关的I/O性能。我们不难想象当多个虚拟机共用一套物理存储或网络设备时的情况,这时就需要我们对平台进行相应的配置。英特尔VT-d与VT-c技术,配合吞吐量更高的英特尔SSD(固态硬盘)与虚拟网卡解决方案将能有效解决这一问题,前者可以允许虚拟机直接访问主板外设,比如硬盘,而SSD百倍于传统硬盘的IOPS性能可以满足同时多个虚拟机的并发访问,VT-c则可以让一块网卡应对多个虚拟机的复用,让网卡具备了多个虚拟端口的直通响应能力,这些都会大大提高的虚拟机I/O的性能与效率。
五、虚拟机迁移的灵活性如何保证?
虚拟机的实时迁移是虚拟化的一个重要的优势,它为我们带来了很多的应用想象空间,然而不同CPU平台间的迁移的确面临着因CPU指令集不同可能造成虚拟机与新的物理平台不兼容的情况发生,所以当有这一需求时,一定要注意平台相关技术的保障能力。
在这方面,英特尔的虚拟化技术就专门提供了一项针对此问题的技术--VT FlexMigration,借助这一技术,可以在迁移池中的不同服务器间建立起一组协调一致的指令集,以确保迁移的平滑进行,而不会因为虚拟机请求一个目的服务器所不支持的指令集功能而出现错误,从而让虚拟机迁移的优势发挥到最大。目前,VT FlexMigration支持自至强5100系列(2006年推出)及之后所有的处理器平台间的虚拟机平滑迁移。
六、虚拟化将多个应用集中在一台服务器上,可靠么?
经过多年的发展与技术上的进步,x86服务器已经越来越可靠,正如前文所述,基于至强7500的服务器在RAS特性(可靠性、可用性、可维护性)上已能达到与小型机相当的水平,再配合适合的操作系统,在这一点上已经无需用户太过担心,已有能力整合多个关键业务应用。当然,绝对可靠的系统并不存在,小型机也是如此,但不要忘了英特尔的VT-x、VT-d、VT-c等硬件虚拟化辅助技术,也让运行在x86平台上的虚拟机有了更多的"玩法",提供了物理服务器比不了的功能,比如跨越物理服务器局限的多点虚拟机快速灾备功能,它在保证虚拟机的可用性的同时,借助虚拟机本身的优势,也为IT架构注入了强大的灵活性,并将依此诞生全新的应用模式。
眼见之前列出的六大挑战在眼前被一一破解,相信大家对服务器虚拟化技术也有了更强的信心,不过,在这些主要的挑战之外,仍有很多细节性的问题需要解决,这还需要整个虚拟化产业界与用户的进一步互动。同样,本期《IT号外》的专家支招也不会就这样结束,我们还摘录了一篇有关英特尔顶尖虚拟化技术专家答疑解惑的文章分享给大家,敬请期待。