文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 招聘 专题 新闻
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» 服务器硬件 » 关于虚拟化的讨论       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [转载] 关于虚拟化的讨论  ( 查看:351  回复:1 )   
 
luoyuehansong
技术员  点击可查看详细



十二生肖之兔   双子座   行业勋章   技术勋章   诚信兄弟  
帖子 155
精华 0
无忧币 2277
积分 323
阅读权限 30
注册日期 2007-11-21
最后登录 2008-7-5 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-11-24 09:33   标题:关于虚拟化的讨论
上一帖 |
什么是虚拟化?

   这是一个崇尚自由和自主的年代,没有人愿意去为违背自由与自主的事务埋单。
    你乐于用自主的方式支配房间的自由,还是愿意为那些限制想象的墙壁去埋单。虚拟化,正如同现代人对自由和自主的崇尚,给了IT一个新机会。
虚拟化是一个广义的术语,是一个为了简化管理,优化资源的解决方案。如同现在空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。
    虚拟化:从简单入手
   虚拟化涉及的应用范围和专业领域十分广泛,主要有纯软件虚拟化和硬件虚拟化等技术,所以也很难用一个更加准确的定义来解释清楚虚拟化的概念。所以,一切从简单的入手。
举一个比较通俗的例子:三人在只有一台电脑的情况下,是选择排队轮流上网,还是选择添置两台新设备呢?后者显然是个愚蠢的方法,但却是使用最多的解决方案。同样的问题也出现在众多企业中:IT业务量不断增加,只依靠增加大量服务器来满足业务需求,会导致许多服务器无法得到充分利用,致使网络管理成本增加,灵活性和可靠性降低。虚拟化技术就此应运而生,利用它可以模拟任何资源和环境的特点,将上述问题轻松化解。在现有操作系统下,安装一个软件,在一台电脑上模拟三台相互独立的电脑,安装三个独立的操作系统,那么这三个人就可以互不影响的使用这台电脑了,感觉和一个人使用一台电脑是一样的(当然,宕机的时候就会感觉是一台电脑了)。
在个人应用中,最常见的虚拟软件是VMware,在VMware的虚拟机环境下,可以安装一个或者是几个操作系统,并且让这几个操作系统同时运行,并且相互独立、互不影响。这样,问题就得到了解决,在不增加设备的情况下解决了三个人同时使用一台电脑的问题,实现资源的利用率最大化。
上面介绍的虚拟化是一个纯软件的虚拟化技术,也是最容易实现的虚拟化,而且不会带来诸多的硬件兼容性问题。但是,纯软件虚拟化解决方案存在很多限制。在纯软件虚拟化解决方案中,虚拟机中的操作系统其实是真是操作系统下的一个应用程序,因此,虚拟操作系统上的应用程序到实际操作系统就要比通常应用程序多经过一个通信层。这个多出来的通信层同样要经过数据转换,这种转换必然会增加系统的复杂性和系统资源的额外开销。此外,客户操作系统的支持受到虚拟机环境的能力限制,这会阻碍特定技术的部署,因而会降低系统可靠性和安全性。

         硬件虚拟化:虚拟化技术的革命
的确,纯软件的虚拟化技术在应用上受到了很多物理资源的限制。除了上述提到的额外通信层,为了运行虚拟软件,就必须占用一部分系统资源,甚至是很大一部分,而这也会增加系统应用的额外开销,这样就大大降低了资源的效率,甚至失去了虚拟化的意义。
纯软件虚拟化的诸多不足,让人们想到了硬件虚拟化。在很多年前,硬件虚拟化还是一个不可思议的想法。但是现在,这个不可思议的想法已经成为现实了。
CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有经特别优化过的指令集来控制虚拟过程,通过这些指令集,虚拟机可以很容易提高性能,相比纯软件的虚拟化技术会在很大程度上提高性能。CPU虚拟化技术可以提供基于芯片的功能,借助其兼容技术还能改进纯软件解决方案。由于虚拟化硬件可以提供全新的架构,支持操作系统直接在上面运行,从而无需额外的二进制转换,减少了相关的性能开销,从而大简化了虚拟软件的设计,并使得设计可以标准化,性能更加强大。另外,在纯软件虚拟技术中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
对于软件虚拟化方案来说,CPU虚拟化技术是一个巨大的进步,其优势简单的说来主要表现在减少软件虚拟机相关的性能开销,极大简化了软件的设计并支持更广泛的操作系统两个方面。

            虚拟化还有很大的潜力
    当然,目前的多任务和超线程技术已经相当成熟,应用也十分普遍,那为什么不能取代虚拟化技术呢?其实不然,虚拟化技术与多任务和超线程是有本质上的区别的。多任务是指在一个操作系统中多个程序同时并行运行;这只是对资源的优化使得多个任务可以同时进行,但是如果两个人同时使用的话仍然会相互影响,比如两个人同时要运行同一个应用软件来执行各自的任务,那么,即使是多任务也难以实现;而超线程则只是让一个CPU来模拟两个CPU同时工作,通过提高CPU的效率来提升运行的速度,但是这两个CPU必须协同工作,是不可分离的。而虚拟化技术则是将整个硬件资源模拟成两个或者使更多的硬件系统,同时运行几个相互独立的操作系统,这样一来,几个用户之间才可以实现相互独立的应用。
虚拟化技术的巨大优势在个人应用领域很难表现出来,但是在企业级应用,尤其是大规模服务器整合和数据中心管理方面,虚拟化技术表现出了巨大的潜力。虚拟化可以减少服务器数量的增加,简化服务器管理,同时明显提高服务器利用率、网络灵活性和可靠性。将多种应用整合到少量企业级服务器上即可实现这一目标;通过整合及虚拟化,数百台服务器可以减少至数十台。10% 甚至更低的服务器利用率将提高到 60% 或更高;并且IT 基础设施的灵活性、可靠性和效率也得到改进。
读到这里,有人忍不住会提出这样的疑问:这么说来,虚拟化技术是不是会影响到服务器的销量呢?如果会降低服务器的销量,必然遭到各厂商的强烈抵制。那么]虚拟化会不会减少服务器的销量呢?期待您的精彩评论。



网络工程师到底该不该去考CCIE认证?
2007-11-24 09:331楼
[ 顶部 ]
 
ncrr
初级工程师  点击可查看详细



帖子 2764
精华 0
无忧币 2551
积分 3182
阅读权限 50
来自 (保密)
注册日期 2006-11-8
最后登录 2008-7-6 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-11-24 12:02 
学习了,虚拟化技术近几年来很热。感谢分享。



网络工程师到底该不该去考CCIE认证?
2007-11-24 12:022楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号