如何使用基于容器的虚拟化提高效率性能

本文讲的是如何使用基于容器的虚拟化提高效率性能【IT168云计算】如果你不介意只使用一种操作系统的话,那么和传统的hypervisor相比,基于容器的虚拟化能够提供更高的效率与性能。

  基于容器的虚拟化使用单个内核运行一个操作系统的多个实例。每个实例在一个完全隔离的环境中运行,因此不存在一个容器访问另一个容器中文件这样的风险。因此,基于容器的虚拟化是安全的。

  而且这种虚拟化方式的资源使用效率也是非常高的,因为所有的容器都运行在同一个内核上。但是这种方式同样存在弊端:只有一个内核意味着无法选择其他的操作系统。在对虚拟化方式进行评估时,了解它们之间的差异以及每种虚拟化方式的优势是非常重要的。

  基于容器的虚拟化与hypervisor的差异

  hypervisor与基于容器的虚拟化存在一些不同之处。首先,基于hypervisor的虚拟化,其每个虚拟机都需要安装一个完整的操作系统,这当然包括内核。这一需求使得基于hypervisor的虚拟化相当厚重但也非常灵活。因为每个虚拟机都有自己的内核,所以hypervisor只需要协调虚拟机访问硬件设备。因此,你可以安装任何操作系统,而且它们都是在完全隔离的环境中运行的。

  另一方面,在基于容器的虚拟化环境中,虚拟机与硬件的关系更紧密,因为所有的虚拟机都使用同一个内核,不再需要hypervisor。流行的基于容器的虚拟化运行在Windows内核(使用Parallels Virtuozzo虚拟化容器时)或者Linux内核之上。由于Linux内核具备开放性以及灵活性,所以在多数情况下基于容器的虚拟化通常使用Linux内核。而且可以使用很多开放以及免费的解决方案。

  通常企业不会使用基于容器的虚拟化,他们偏爱hypervisor使用多种操作系统。但是基于容器的虚拟环境是虚拟主机提供商的一个理想选择。基于容器的虚拟化为用户提供了一种高效、安全的运行服务的方式。

  为简化虚拟机的维护,虚拟主机提供商力图为所有的虚拟机提供相同的操作系统。例如,只需要升级物理服务器的Linux内核,就完成了运行在该物理服务器上的数百台虚拟机的内核升级工作。如果最先考虑的是实现效率的最大化而不是在不同的操作系统之间进行选择,而且要使用影响更为深远的方式(比如cgroups)对性能进行优化,那么基于容器的虚拟化是一种理想的解决方案。

  Linux LXC为基于容器的虚拟化提供了便利

  LXC是最新的Linux附加产品之一,它天生就能创建基于容器的虚拟化解决方案。LXC基于chroot和所谓的chroot jail。允许在单个内核之上运行彼此隔离的虚拟机。但是LXC并没有完全复制chroot jail——实际上只需要二进制文件、库文件以及配置文件。同样,可以对单个虚拟机进行最大化的精简。

  Linux容器虚拟化另一项重大的改进就是使用了cgroups。cgroups可以在内核级别创建资源组,而且你可以指定这些资源的优先级。这样,你就可以确保所有的虚拟机恰好具备它所需要的资源。

  基于容器的虚拟化的上述两个方面创建了一个非常高效的环境,正是在这个高效的环境中同一个操作系统的多个实例可以提供您的用户使用。

原文发布时间为:2012-06-12

本文作者:Sander van Vugt

原文标题:如何使用基于容器的虚拟化提高效率性能

时间: 2024-11-08 22:21:43

如何使用基于容器的虚拟化提高效率性能的相关文章

DockOne微信分享(七十八):中英人寿保险有限公司基于容器技术的实践分享

本文讲的是DockOne微信分享(七十八):中英人寿保险有限公司基于容器技术的实践分享[编者的话] 中英人寿在移动应用开发与运维上引入DevOps,极大的提升了开发效率,进而实现持续交付能力.持续交付让移动应用上线的速度从以月为单位提升到周甚至到天. 通过在企业云上使用(Docker.Git.Jenkins etc)搭建自动化部署流水线, 使软件的构建.测试.部署的过程自动化实现.随着IT架构向云架构的转型,在架构级管理工具上采用虚拟化容器管理,实现从IaaS到PaaS的转变.对移动应用系统进行

一个“优雅”技术人眼中,容器与虚拟化的相爱相杀

       不知是由于技术炒作还是资本市场的青睐,近年来以 Docker 为代表的容器化技术已掀起一股浪潮,甚至出现了不少 Docker 容器将替代虚拟化的声音,他们认为 Docker 容器技术将推动云计算行业下一场革命. Docker是如何火遍整个行业的 鉴于不少非技术出身的读者对 Docker 也许不太了解, 雷锋网宅客频道借鉴公众号小黑羊的一篇文章,对 Docker 先做个简单科普: 生鲜市场有很多买东西的商贩(企业),他们需要一个库房(服务器)来存放和处理这些商品. 但是鱼呀.肉啊都需

基于容器服务的持续集成与云端交付(一)- 交付之禅

前言 随着微服务架构与容器虚拟化技术的发展,持续集成与持续交付的概念又重新回到了大家的视野,越来越多的公司开始使用持续集成的系统来解决频繁发布带来的质量问题:使用持续交付的工具来实现代码在不同环境上的自动部署.原本有些学院派乌托邦式的思想正被千千万万次的集成与部署证明着它应有的价值.那么究竟是因为什么让持续集成与持续交付这个已经不再年轻的软件开发与交付的思想重新焕发绽放迷人的光彩呢? 传统软件交付之殇 传统软件的开发与交付的周期都很漫长,一款普通的企业软件通常需要十几个开发人员,几个月的时间来完

云服务“兼得”的奥秘:容器与虚拟化共存

摘要:孟子<鱼我所欲也>中言:"鱼,我所欲也,熊掌亦我所欲也;二者不可得兼,舍鱼而取熊掌者也."这句话的意思想必大家都知道,即是二者必然不可兼得--人们在选择一样东西的时,就要牺牲另外一件东西--这似乎于与佛语的"舍得"有异曲同工之处.但事实真的如此吗? 孟子<鱼我所欲也>中言:"鱼,我所欲也,熊掌亦我所欲也;二者不可得兼,舍鱼而取熊掌者也."这句话的意思想必大家都知道,即是二者必然不可兼得--人们在选择一样东西的时,就要

(祈福九寨)网易蜂巢基于容器和微服务加快迭代速度实践

题图:Afterquake by Angelo Giordano@pixabay 编辑:冷锋 文章转自网易云(微信公众号Netease_cloud) 刘超 网易云首席解决方案架构师,代码级略懂OpenStack.Hadoop.Docker.Lucene.Mesos等开源软件,10多年的云计 算架构与开发经历,积累了丰富的企业级应用的微服务化,容器化实战经验,曾出版<Lucene应用开发揭秘>,个 人博客可搜索popsuper1982. 刘超在分享了题为"网易蜂巢基于容器和微服务加快迭

视觉中国:基于容器云的同城双活微服务架构上云实践

本文正在参加"最佳上云实践"评选,来给我们投票吧:https://yq.aliyun.com/activity/158(编号7) 视觉中国集团(Visual China Group)创立于2000年6月,是中国领先的视觉影像产品和服务提供商.视觉中国集团是以"视觉创造价值,视觉服务中国"为愿景的A股唯一互联网文化创意上市公司(股票代号000681,股票简称:视觉中国).视觉中国集团以"视觉内容与服务"."视觉社区"和"

基于控制器存储虚拟化有五大误解

虚拟化太复杂 早期基于交换机和网络的存储虚拟化要求重新将异构LUN(逻辑单元号)映射到一个通用虚拟LUN格式,以能够在主机系统上进行显示.这一LUN重映射工作引入了另一个操作层,增加了管理复杂性,从而阻碍了这一方法的应用.然而,存储虚拟化的快速创新很快就解决了这一难题,通过使用基于存储控制单元的虚拟化,使得无需重映射即可完成物理LUN的虚拟化.通过采用这一方法,LUN将基于各自厂商特定的方法在外部存储系统行进行配置.尽管已经连接到主机服务器,这些LUN之后仍可通过FC端口连接到虚拟化控制单元.其

10款提高效率的iPhone应用程序

  如果你浏览iPhone应用商店,你会看到数以千计的不同类别的应用程序.这其中包括了大量用来提高个人工作效率的应用程序.   本文介绍的这10款软件可以使用户在iPhone上快速而有效的完成工作,并且也可以在iPod Touch 或iPad上运行.这些软件既有免费的,也有收费的.   1. PageOnce:这是一款非常酷的个人理财软件.如果你用它来帮你检查诸如银行转帐.通话时长.投资账户甚至是像 Netflix播放列表这样的事情,那么它可以帮你节省许多时间.这款软件可以整合你的所有网络账户,

设计-10W级数据频繁查询修改与排序问题,如何提高效率

问题描述 10W级数据频繁查询修改与排序问题,如何提高效率 现有10w级的数据量,需求频繁的查询,频繁排序,该如何设计好的数据结构?因为数据变化频繁,初步考虑用map映射表索引查询,修改数据,但是修改之后数据又要根据一定的规则重新排序,显然map又不适用.如果采用vector容器可以解决排序,但查询修改数据的效率太过低下了,现在纠结该如何提高效率?用list不知道如何?大概的数据结构如下:由于学艺不清,在此请教各位前辈. struct { int index; std::string name;