您的位置:首页 > 其它

关于虚拟化一些思考——不应该盲目使用

2015-03-25 00:00 597 查看
转载请保留此信息

原文地址: http://blog.csdn.net/jmppok/article/details/17277775
时间:2013-12-12 作者:jmppok 联系方式:jmppok@gmail.com

说起云计算,就必然会谈到虚拟化,好像没有虚拟化就不算是云计算。但虚拟化并不是万能的,我们必须根据实际需求,谨慎使用。

什么是虚拟化?

维基百科

“在计算机技术中,虚拟化(Virtualization)是将计算机物理资源如服务器、网络、内存及存储等予以抽象、转换后呈现出来,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料储存。”

百度百科

虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

从上面两条说明,我们可以总结出:

虚拟化——将物理资源抽象虚拟,并以分组的方式呈现,从而使用户/应用程序可以拥有相互独立的空间(虚拟硬件,操作系统等)。

虚拟化的三大特性

虚拟

将所有的硬件资源抽象,虚拟

分组/组合

根据用户需要或者划分规则,可以将一个硬件资源划分虚拟为多个硬件资源,也可将多个硬件资源虚拟组合为一个更高性能的硬件资源。

隔离

通过虚拟机/分组等隔离各个虚拟资源环境,让用户感觉他们好像是在使用一台物理机一样,用户之间相互隔离,互不影响。

虚拟化的优缺点

优点:

1)安全:用户相互隔离。

2)可动态扩展/调整,非常灵活:通过虚拟化可以实现虚拟机数量的动态增加,单个虚拟机资源的动态调整等。

3)可以提高硬件资源的利用率,节约成本。

主要包括两个方面:

a.大家都知道,以前所有IT公司的物理资源利用率都是非常低的,因为所有的物理资源必须满足“峰值”时的计算需求,而在出现虚拟化以后,可以通过可动态扩展/调整来解决“峰值”的问题,而不必在增加大量的物理资源;

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

缺点:

1)一定程度上会影响性能

虚拟化毕竟是在硬件层之上进行了封装,想比直接基于物理机,必然会损失一部分性能;

2)会降低资源的利用率

这点好像和上面的矛盾了,其实只是角度不同而已。

虚拟化必然需要占用一部分资源(CPU/内存/硬盘),一个可以发挥出100%性能的物理机,加上虚拟化以后,可能只能发挥出80%的性能,所以又说它会降低资源的利用率。

虚拟化的使用场景

根据虚拟化的特点及优缺点分析,个人认为其应用场景如下:

适应使用虚拟化的场景:

直接面向用户的,需要为用户提供单独空间/运行环境的,如Google GAE,Sina SAE, Amazon AWS等,或者企业内部为员工提供虚拟桌面的,为不同部门提供单独运行环境的等等

不适于使用虚拟化的场景:

服务提供商,内部直接基于普通物理机即可提供服务的,如Google数据中心,baidu等。或者我们以前使用几百台物理机组成集群,直接提供服务的。这种不是说不可以使用虚拟化,而是说没必要用。毕竟虚拟化的优点是虚拟、分组、隔离。在不是特别需要这些特性的时候,没必要使用。

以上仅是一些个人的思考,欢迎批评指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  虚拟化