技术支持
support
虚拟化的优缺点
发布时间:2020-03-24文章来源:明辰智航技术部

早在上世纪60年代,IBM就已经提出并实验过硬件虚拟化的概念。随着90年代末VmWare和Ctrix两大公司的发力,虚拟化才真正被人们所认知。近年来,云计算在国内的热浪一波接一波,各大大小小的公司都推出自己的云计算产品,这其中绝大多数都是基于某种虚拟化的技术。从而导致大家认为云计算就是虚拟化,而且虚拟化无所不能,虚拟化是企业上云的无二且优秀的选择。

然而,任何技术必有它的优势和缺点,也必有它的使用场景。今天就来稍微聊聊服务器和桌面虚拟化的这些事:


优点(其实已经被说的够多的了,点到为止):
1. 集中化管理:
管理员不用再跑上跑下的处理每个工位上的主机,所有日常操作远程完成。复制、快照等功能更为管理员的日常维护提供了给力的工具。
2. 提高硬件利用率:

包括两个方面:

a. 一般来说,企业IT的物理资源利用率都是非常低的,因为所有的物理资源必须满足当前甚至几年以后的“峰值”计算需求。而在出现虚拟化以后,可以通过可动态扩展/调整来解决“峰值”的问题,让一台物理机器上运行多个虚拟机以利用这额外的“闲时”容量,而不必增加大量的物理资源;

b.在没有虚拟化之前,为了保证应用的可靠性和可用性,避免他们之间的冲突和相互影响,每个物理机一般不会运行多个重要应用,也就是说物理资源一般得不到有效的利用。而虚拟化的隔离特性很好的解决了该问题,从而也提高了硬件的利用率。

3. 动态调整机器/资源配置:
虚拟化把操作系统和应用程序与服务器硬件分离开来,提供了大大增强的灵活性。不用关闭及拆卸物理服务器,就可以为虚拟机增加或减少资源。
4. 高可靠性

通过部署额外的功能和方案,带来具有透明负载均衡、动态迁移、快速复制等高可靠服务器应用环境,减少服务器或应用系统的停机时间,提高可靠性。


缺点:
1. 降低性能

虚拟化毕竟是在硬件层之上进行了封装,相比直接基于物理机,必然会损失一部分性能。从之前的经验来看,当一台物理机上并行运行多个虚拟机时,物理机资源的使用率越高,虚拟机性能下降的越剧烈。主要有两个原因:

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. 降低硬件利用率
这点似乎和上面所说的优点矛盾了,其实只是角度不同而已。
虚拟化必然需要占用一部分资源(CPU/内存/硬盘),一个可以发挥出100%性能的物理机,加上虚拟化以后,可能只能发挥出80%的性能,所以又说它会降低资源的利用率。因此某些极度吃资源的应用可能并不适用于虚拟化的环境。
3. 可能扩大错误影响面
在常规配置下,虚拟机存储于本地物理机硬盘上。真实物理机down机,上面的虚拟机将全部不可用。另外还有一个真实发生的故事,物理机硬盘损坏,一般可以恢复出绝大部分文件,但碰巧坏的是虚拟机镜像文件,结果虚拟机里面的文件全军覆没。
4. 实施配置复杂,管理复杂
通常的IT管理员并不能很好的排查并解决虚拟化使用过程中的问题,例如经常碰到的VM不能启动或者卡死,没有真实物理机那么好解决。
5. 建设成本并不低。

虽然后期的电力和管理费用比传统纯物理机要省,但前期建设成本甚至有可能超过单买PC机的价格。


成功实施的关键
大多数虚拟化方案不能落地,或者在使用过程中效果差强人意的表面原因大多来自于上面所说的几个缺点。然而,所谓的缺点其实需要辩证的来看,认清楚虚拟化的使用场景,深入了解客户的需求和使用习惯,做出对应的部署方案和运维策略,就可以避免绝大多数的问题,甚至将问题转化为优势。
一问应用类型。
大型的应用在极限情况下会要求尽可能多的硬件资源,此时若再加上虚拟化,要么性能不足,要么价格飞上天。若真要考虑闲时机器的共享问题,多用户分享一下也许就够了。
二问规模和用途。
小规模的虚拟化使用一般不配HA和外接存储等,因此在稳定性上面是存在比较大的风险的。但是像学校多媒体教室、话务中心这种不需要有状态VM的情况下,影响会降低,然而并不能解决一台宿主机出现故障整个教室都不能上课的情况。这种情况下,IDV甚至简单的RDS+一些管理功能就能胜任了。
三问使用需求和习惯。
详细的询问应用列表,观察客户的使用时间和使用习惯,是能够大致计算出上云之后对硬件的整体压力的,如CPU核数、VM的内存、所需的IOPS等等,根据指标和未来的规划算出真正实用的部署方式。但是现在大多不会去做这些前期工作,只是简单的询问就推出已定的标准化配置;要么厂家为了压低价格,把虚机跑的满满的,导致真的使用的时候开个机要10分钟。
四问稳定性和价格需求。
负载均衡、高可用性、外接存储系统、动态迁移、冷/热备份等等的功能往往是需要额外购买和配置的,并且通常价格不菲。不要以为用了虚拟化就自带了这些优势。还是那句话,单纯的虚拟化是降低可靠性的,要提高可靠性和可用性,需要考虑并且付出额外的东西。
五问客户方的维护能力。

虚拟化要想长期稳定的运行,监控和运维所需的能力要比传统运维硬件要求高很多,否则就会出现用着用着虚拟机就越来越慢,效果越来越差的问题。等到资源爆表再想挽回的那一天就悔不该当初了。之前有项目是在教育领域,实施完毕之后客户方连键盘鼠标插服务器哪里都不知道,这就有点尴尬了。


结论
首先还是那句话,云是多样的,流行的不一定是合适的,漂亮的不一定是实用的。茫茫多的技术中,虚拟化只是其中一角而已。

然而,如果使用场景相贴合,虚拟化实施的前后期工作一定要做足,才能使技术发挥它应有的作用和长处,实实在在的解决问题。

明辰智航云安网络与虚拟化性能管理解决方案,更多详情请咨询明辰智航400-0606891。


返回