文档章节

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

j
 jmppok
发布于 2015/03/25 10:14
字数 1226
阅读 5
收藏 0

转载请保留此信息    

原文地址:  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等。或者我们以前使用几百台物理机组成集群,直接提供服务的。这种不是说不可以使用虚拟化,而是说没必要用。毕竟虚拟化的优点是虚拟、分组、隔离。在不是特别需要这些特性的时候,没必要使用。


以上仅是一些个人的思考,欢迎批评指针。


本文转载自:http://blog.csdn.net/jmppok/article/details/17277775

j
粉丝 10
博文 138
码字总数 0
作品 2
海淀
高级程序员
私信 提问
开发成功手机应用所需的8大技巧

原文连接:http://www.eoeandroid.com/industry/2012/0502/1503.html 虽然很少人认为手机应用开发是最热门的设计领域之一,但是眼看着这里如此强势的竞争局面,你更需要抱以正确的心态与现实的...

DannyZhou
2012/05/06
71
0
云栖专辑 | 阿里开发者们的第12个感悟:多维思考,胜过盲目苦干

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。 所以社区特别制作了这个专辑——...

阿里云云栖社区
01/07
0
0
WannaCry?这才刚开始…

没想到之前的一篇紧急之下写的简单文字,这么快就破了4000的阅读。突然蹭了网红病毒的热度,有点不太习惯。 于是,想花点时间来稍微深入的写点东西。毕竟,在我看来,这次爆发仅仅是个开始。...

HaoHu
2017/05/17
0
0
好的程序员花去90%的时间在思考、研究和实验,来找出最优方案。

好的程序员花去90%的时间在思考、研究和实验,来找出最优方案。 差的程序员花去90%的时间在调试问题程序、盲目的修改程序,期望某种写法能可行” 做程序员的经历让我知道了一些关于软件编程的...

Allen_My
2011/06/23
336
1
Fedora 和 CentOS Stream

一封来自 Fedora 项目负责人办公室的信件: (LCTT 译注:背景介绍 —— 红帽宣布与 CentOS 同步构建一个 CentOS Stream 滚动构建版。我们知道 Fedora 是红帽企业版 Linux [RHEL] 的上游,经...

作者: Matthew Miller
10/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

堆”和“栈

C++作为一款C语言的升级版本,具有非常强大的功能。它不但能够支持各种程序设计风格,而且还具有C语言的所有功能。我们在这里为大家介绍的是其中一个比较重要的内容,C++内存区域的基本介绍。...

SibylY
29分钟前
3
0
总结:Https

一、介绍 简单理解,https即在http协议的基础上,增加了SSL协议,保障数据传输的安全性。 它由以前的http—–>tcp,改为http——>SSL—–>tcp;https采用了共享密钥加密+公开密钥加密的方式 ...

浮躁的码农
32分钟前
4
0
数据库表与表之间的一对一、一对多、多对多关系

表1 foreign key 表2 多对一:表 1 的多条记录对应表 2 的一条记录 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记...

Garphy
今天
7
0
MySQL 表崩溃修复

MySQL日志报错 2019-10-19 13:41:51 19916 [ERROR] /usr/local/mysql/bin/mysqld: Table './initread_hss/user_info' is marked as crashed and should be repaired2019-10-19 13:41:51 1......

雁南飞丶
今天
6
0
Error和Exception

1.Error类和Exception类都是继承Throwable类 2.Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问...

大瑞清_liurq
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部