注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

构成云平台的三种虚拟化技术的技术差别图解  

2015-04-14 18:00:01|  分类: 开源云系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
         随着开源云平台的流行,虚拟化技术被用得越来越广越来全面,甚至天我们都需要认真了解其基础虚拟化技术的差别了。不过作为开发者,如果想开发或是定制自己的云平台,这几种技术的区别之处还必须分析清楚(多种虚拟化技术实际上可以使用计算指令与硬件关系的直接性进行区分)。
        注:不过将来的lxc技术也许就可以不考虑这些因素了。特别是有了DocKer.io 的推波助澜......
        1)图解全虚拟化技术(vmware是代表)
三种虚拟化技术的技术差别图解 - itoedr - itoedr的it学苑
2)半虚拟化技术的指令执行层次(xen是代表)
 
三种虚拟化技术的技术差别图解 - itoedr - itoedr的it学苑
3)硬件虚拟化的电气原理
 
三种虚拟化技术的技术差别图解 - itoedr - itoedr的it学苑
 4)最新的虚拟化技术lxc(并不虚拟)
         虽然lxc不是真正意义上虚拟化,但其功能却能代替前面的虚拟化技术。因此现在的云平台(可以直接理解为虚拟机的管理工具)都抢先支持lxc,不管是openstack还是cloudtsack。
           LXC为Linux Container的简写。Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比,它的优势在于:
(1)与宿主机使用同一个内核,性能损耗小;
(2)不需要指令级模拟;
(3)不需要即时(Just-in-time)编译;
(4)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制;
(5)避免了准虚拟化和系统调用替换中的复杂性;
(6)轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。
   总之:Linux Container被看成了一种的虚拟化的手段。相对于xen、kvm、vmware,宿主机资源目前都是其享的,也许某个应用可能会占用超过自己申请份额的资源。
         Linux Container提供了在单一可控主机节点上支持多个相互隔离的server container同时执行的机制。Linux Container有点像chroot,提供了一个拥有自己进程和网络空间的虚拟环境,但又有别于虚拟机,因为lxc是一种操作系统层次上的资源的虚拟化。
        LXC的实现逻辑
        Sourceforge上有LXC这个开源项目。LXC项目本身只是一个为用户提供一个用户空间的工具集,用来使用和管理LXC容器。LXC真正的实现则是靠Linux内核的相关特性,LXC项目只是对此做了整合。基于容器的虚拟化技术起源于所谓的资源容器和安全容器。
       LXC在资源管理方面依赖于Linux内核的cgroups子系统,cgroups子系统是Linux内核提供的一 个基于进程组的资源管理的框架,可以为特定的进程组限定可以使用的资源。LXC在隔离控制方面依赖于Linux内核的namespace特性,具体而言就 是在clone时加入相应的flag形成一个相对独立的计算区间。
     而在lxc之上就有了docker.io与lxd的容器方案,随这两个容器的成熟,未来的云天下会不会让它们占有了呢?
  评论这张
 
阅读(81)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017