世上没有万能钥匙!十大理由拒绝虚拟化

最近趋势科技对1200家拥有五百名以上员工的企业进行了调查,结果显示有59%的公司在生产或测试环境中使用了虚拟化产品。不过因为我在和大型企业与服务运营商合作进行虚拟化领域有着超过10年的经验,再加上曾经用了很长时间在最大的两家虚拟化技术厂商之一公司中负责策略和规划,因此我会在文章中提出十种你需要考虑的,是否不应该对服务器或应用进行虚拟化的可能情况。

理由一:当你有固定和可预期的运算需求时

在这种情况下,你的系统可能已经处于稳定的运作状态中,所以进行虚拟化的好处并不是很多,相反这样做反而会导致更大的复杂性和停机的时间……除非你这套已经在稳定运行的环境使用了老旧,而且即将停止支持的操作系统。如果真是这种情况,那么你也就没有太多选择,只能进行虚拟化,然后接受转移的成本还有以后可能遇到的复杂性问题。

理由二:当你无法获得虚拟化环境下的授权时

如果你使用的特定软件并不提供在虚拟环境内使用的授权,那么就面临着一个难题。虽然你可以进行虚拟化并且不告诉厂商,但一来这样可能并不那么容易做到,二来也可能不合法。无论是哪种情况,都代表着会有风险,而且也会面临后续支持的问题,除非你为了获得技术支持先把虚拟化系统重新还原到实体机器上。因此通常比较简单的作法是和你的软件厂商重新洽谈新的虚拟环境授权。

理由三:当它就是无法正常运作时

有些应用程序会因为各种原因无法在虚拟环境中运行。虽然虚拟化技术的厂商对这些特殊情况的支持已经越来越好了,并且新出现的一些技术,例如I/O虚拟化也可以有效改善这种状况,不过也请特别注意具有下列特点的应用程序:

高I/O应用程序,例如数据库,或其他需要经过调整以直接和底层硬件进行通讯的程序

会给硬盘造成重度负荷的程序(如果真的需要进行虚拟化,请使用直通模式的硬盘,而不要使用虚拟硬盘)

使用网格或分布式运算等需要高速内部连接,以实现大负荷运算的应用程序

需要特殊接口却又没有虚拟环境下驱动程式,或者是需要硬件锁的应用程序

重度依赖图形运算的应用程序(尤其是需要高级显卡的程序)

理由四:如果时间飘移会影响应用程式

虚拟机并不会和物理主机实现完全的时间同步,也就是说会出现时间飘移(虚拟机的时间会慢慢地和物理机不一致)的情况。如果你的应用程序对这样微小的误差无法接受,就不能进行虚拟化。与金融有关的交易程序或者工业控制系统程序往往存在此类考虑。

理由五:如果你的老板很小气

很遗憾的是,和每个值得做的IT项目一样,虚拟化也需要预算。如果没有足够的预算来执行整个项目,就压根不要开始。只做一半的虚拟化项目,加上没有到位的管理工具,只会比虚拟化之前的状况更糟糕。

理由六:如果你的服务器已经负荷满载了

在已经满载运行的服务器上再加一个虚拟机Hypervisor,这对提高效率一点帮助也没有。虽然我们在过去十年间已经大幅降低了虚拟机Hypervisor对处理器造成的负担,但它毕竟还是一种额外负荷。在这种情况下,只为了虚拟机Hypervisor程序再购置一台服务器并不划算。这也是为什么很少有大型网站(例如Facebook和Google)会将自己的服务器虚拟化。

理由七:如果你没办法妥善管理加密密钥

在实体服务器上管理加密密钥很容易。但是信息安全工作转移到虚拟化环境后,为实体服务器所设计的加密密钥管理方式就不管用了。此时最简单的解决方式是,使用密码或是在每个虚拟机器上存放凭据,但这种方式并不安全。如果想要安全地执行应用程序,就必须具备基于策略的加密密钥管理方案。

理由八:如果你所用的是内建故障转移群集功能的应用程序

现在的虚拟化平台为虚拟机提供了各种方式的高可用性解决方案。然而不幸的是,有些应用程序,特别是比较老的,或者非常关键的应用程序,其本身也会提供高可用性功能。例如利用微软群集服务的共享磁盘功能,而这样的设置在允许虚拟机迁移到私有云之后将会失效。如果你的虚拟化平台提供了高可用性功能,那么就不需要使用应用程序所提供的对应功能,反之亦然。

理由九:如果你希望通过虚拟化节省桌面成本

服务器成本远高于廉价的桌面设备,即使部署虚拟化,企业仍然要为PC、笔记本或瘦客户端之类的桌面设备及其管理和安全埋单。桌面虚拟化能够带来安全和一致性(Compliance)收益,但绝不是节省成本之选。

理由十:如果你要运行虚拟化平台组件

如果你的虚拟化平台和虚拟机运行于活动目录(Active Directory)或DNS服务器,而这些服务器已经进行了虚拟化,那么你将进退维谷。因为Hypervisor会由于等待运行于之上VMs的服务而无法启动,而且还请检查你的虚拟化管理软件(如vCenter)是否会运行于他们所管理的服务器之上。

以上这十点原因可能需要我们对服务器和应用虚拟化说“不”!希望本文对那些正在考虑部署虚拟化或云的朋友有所帮助:不要轻信,除非确保虚拟化可用!