早在上世纪60年代,IBM就已经提出并实验过硬件虚拟化的概念。随着90年代末VmWare和Ctrix两大公司的发力,虚拟化才真正被人们所认知。近年来,云计算在国内的热浪一波接一波,各大大小小的公司都推出自己的云计算产品,这其中绝大多数都是基于某种虚拟化的技术。从而导致大家认为云计算就是虚拟化,而且虚拟化无所不能,虚拟化是企业上云的无二且优秀的选择。
然而,任何技术必有它的优势和缺点,也必有它的使用场景。今天就来稍微聊聊服务器和桌面虚拟化的这些事:
包括两个方面:
a. 一般来说,企业IT的物理资源利用率都是非常低的,因为所有的物理资源必须满足当前甚至几年以后的“峰值”计算需求。而在出现虚拟化以后,可以通过可动态扩展/调整来解决“峰值”的问题,让一台物理机器上运行多个虚拟机以利用这额外的“闲时”容量,而不必增加大量的物理资源;
b.在没有虚拟化之前,为了保证应用的可靠性和可用性,避免他们之间的冲突和相互影响,每个物理机一般不会运行多个重要应用,也就是说物理资源一般得不到有效的利用。而虚拟化的隔离特性很好的解决了该问题,从而也提高了硬件的利用率。
3. 动态调整机器/资源配置:通过部署额外的功能和方案,带来具有透明负载均衡、动态迁移、快速复制等高可靠服务器应用环境,减少服务器或应用系统的停机时间,提高可靠性。
虚拟化毕竟是在硬件层之上进行了封装,相比直接基于物理机,必然会损失一部分性能。从之前的经验来看,当一台物理机上并行运行多个虚拟机时,物理机资源的使用率越高,虚拟机性能下降的越剧烈。主要有两个原因:
a. CPU-若VM配置了多核CPU,当VM内应用要求多核同时处理某一任务时,此时物理机若只有少于所需的核数空闲,那么VM会锁住可用的核再去等待其他的核释放。若虚机较多并且物理机CPU很繁忙,此操作会造成类似于死锁的现象,导致表象性能急剧下降。近几年各大厂商在此方面做了很多的优化,该bug有很好的改进。
b. IO-通常的IO是直接写在物理硬盘上,而VM的IO则是先写在host系统的虚拟机镜像文件上,再由host以某种策略写入物理硬盘。一来这种二段式的写入会造成读写的延迟,二来当计算部署的虚机数量时,硬盘的IOPS和多机造成的随机写方式,往往是非常容易忽略的一个指标。例如,7200转的SATA盘理论IOPS是76,一般windows工作时的IOPS是10~30(装杀毒软件的话可能double一下),因此理论上一块SATA盘只能支持2~3个VM。当虚拟机数量超配后,多个VM繁忙时会造成所有VM处于io_wait的状态。
2. 降低硬件利用率虽然后期的电力和管理费用比传统纯物理机要省,但前期建设成本甚至有可能超过单买PC机的价格。
虚拟化要想长期稳定的运行,监控和运维所需的能力要比传统运维硬件要求高很多,否则就会出现用着用着虚拟机就越来越慢,效果越来越差的问题。等到资源爆表再想挽回的那一天就悔不该当初了。之前有项目是在教育领域,实施完毕之后客户方连键盘鼠标插服务器哪里都不知道,这就有点尴尬了。
然而,如果使用场景相贴合,虚拟化实施的前后期工作一定要做足,才能使技术发挥它应有的作用和长处,实实在在的解决问题。
明辰智航云安网络与虚拟化性能管理解决方案,更多详情请咨询明辰智航400-0606891。