Cgroups在云计算中的应用

标签: cgroups 云计算 应用 | 发表时间:2013-07-28 12:42 | 作者:
出处:http://kb.cnblogs.com/

  云计算是目前计算机业界热门的方向,Cgroups作为一种有效的资源管理方案在云计算中得到越来越大的应用。下面简要介绍一下Cgroups在云计算中一些应用,欢迎补充。

  首先,我们看一下Cgroups的娘家Google(Cgroups最早是Google工程师提出的)。在推出PaaS产品GAE几年后,Google终于推出了自己的IaaS的产品Google Compute Engine,跟Amazon进行全面的竞争。跟Amazon EC2采用Xen虚拟机不同的是,GCE采用的KVM虚拟机。KVM虚拟机是一种将Linux内核当成Hypervisor的虚拟化技术,一个KVM虚拟机作为一个进程运行在Linux 内核上。由于KVM虚拟机是Linux的一个进程,因此Google采用了Cgroups机制来进行资源管理,控制每个KVM虚拟机可以使用的物理资源,报告CPU占用率,CPU核心,内存等。下面Google IO 2012的图可以说明这一点:

  然后我们再来看Redhat的OpenShift。OpenShift是Redhat推出的PaaS产品。PaaS主要服务之一就是为App提供一个运行环境。为了保证服务质量,PaaS厂商都会采取一定的技术手段,保证不同的App之间不会互相影响。因此,App的运行环境一般是隔离,资源受控的。Cgroups作为一种资源管理方案,这里正是用武之地。

  下面我们来一下Redhat官方doc上的一段话:

The basic PaaS resource container is called a gear, which uses Security-enhanced Linux (SELinux), control groups (cgroups), quotas, and other Linux technologies to limit the amount of memory and disk available to what is called a cartridge。

  cartridge是OpenShift为App提供的运行环境,而cartridge本身是出于一个叫gear的资源容器中的。而redhat则是通过selinux、Cgroups和quotas来构建这样一个安全隔离、资源受控的资源容器的。

  最后我们再来看vmware的Cloud Foundry。Cloud Foundry是vmware推出的PaaS产品。Cloud Foundry中,DEA是App的运行环境,全称是DropletExecution Agent。一台虚拟机上会运行一个或多个DEA。一个DEA可以启动多个App(又称Droplet)。最初的时候,DEA是没有采用任何隔离手段的,用户的App是原生跑在机器上的。后来他们开发出了Warden,一个程序运行容器。这个容器提供了一个孤立的环境,Droplet只可以获得受限的CPU,内存,磁盘访问权限,网络权限。而Warden在Linux上的实现的底层机制就是Cgroups。利用Cgroups管理App可以使用的物理资源。

  总结一下,Cgroups作为一种资源管理手段,可以在云计算的多个应用场景使用。

  由于Cgroups是Linux内核提供的一种机制,开销很小,也不要对内核打额外的补丁,使用起来也很方便。对于IaaS厂商来说,需要强隔离,高灵活性(满足用户安装各种OS的需求),基于容器的虚拟化技术不能很好地满足要求,Cgroups却可以提供很好的资源控制,再结合传统系统虚拟化技术也能提供很好的解决方案,就如同GCE一样。

  而对于PaaS厂商来说,只要是在一台机器(无论是物理机还是虚拟机)上部署多个App,就需要多个相互隔离,资源受控的运行环境。现在主流的PaaS厂商基本上都是支持在一台机器上部署多个App(Amazon Elastic Beanstalk是一个Instance上跑一个App,不需要考虑这个问题)。如果采用传统的虚拟化技术则有较大的开销,而有些PaaS本身就构建在IaaS提供的虚拟机上(这样以来虚拟化开销更大),因此必须考虑更轻量级的方案。基于容器的虚拟化技术正是这样一种选择,既能提供隔离性,又能进行资源控制,而且虚拟化开销很小。

相关 [cgroups 云计算 应用] 推荐:

Cgroups在云计算中的应用

- - 博客园_知识库
  云计算是目前计算机业界热门的方向,Cgroups作为一种有效的资源管理方案在云计算中得到越来越大的应用. 下面简要介绍一下Cgroups在云计算中一些应用,欢迎补充.   首先,我们看一下Cgroups的娘家Google(Cgroups最早是Google工程师提出的). 在推出PaaS产品GAE几年后,Google终于推出了自己的IaaS的产品Google Compute Engine,跟Amazon进行全面的竞争.

使用cgroups限制MongoDB的内存使用

- - 鸟窝
cgroups,其名称源自控制组群(control groups)的简写,是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU、内存、磁盘输入输出等). 这个项目最早是由Google的工程师在2006年发起(主要是Paul Menage和Rohit Seth),最早的名称为进程容器(process containers).

使用 cgroups 限制指定进程的内存使用

- - 依云's Blog
本文来自 依云's Blog,转载请注明. 最近我的系统有这么个问题:在备份或者系统更新等高 I/O 负载的时候,系统整体性能下降严重,界面经常卡到动不了. 经过分析发现此时比平常多了许多磁盘读操作. 平常的时候磁盘读操作是很少的,会有大量的缓存命中,反倒是写操作一直都有(因为我本地搭了个 监控系统).

云计算在科研和教学中的应用

- - CSDN博客云计算推荐文章
        云计算在加快研发速度、加强合作和丰富教育手段方面有很大潜能. 教育者、研发管理人员、IT总监和研发人员需要意识到和充分利用云在研究、教学和学习方面的潜能. 他们可以通过部署公有云、私有云和混合云来补充他们当前的计算基础设施. 实际上,一个最新的调查显示有一些人已经通过拥抱云计算获得了收益.

云计算环境下的应用架构设计

- - 博客园_知识库
  作者从云计算环境下应用的特点出发,分析了在云计算环境下应用程序开发设计的一些新变化. 根据这些特点,本文提出一个“自我感知应用”(Self-Sensing Application)的新概念,接着以Windows Azure平台为例阐述如何实现自我感知应用.   多年来应用程序开发者和架构师们都在努力设计一种既能够在功能上满足当前业务需求,又能够适应用户需求发生变化或者能够在可预见的将来适应环境变化的应用.

Ruby之父松本行弘担任Heroku首席架构师,推进Ruby云计算应用

- Sonic - ITeye资讯频道
7月13日,美国著名的SAAS厂商Salesforce旗下的PAAS平台Heroku宣布,Ruby之父松本行弘加盟Heroku,担任该公司首席架构师,推动Ruby语言在云计算平台的应用. Heroku的官方博客发布了Matz joins Heroku的文章. Heroku是一个基于Amazon AWS之上构建的PAAS平台,用户申请了Heroku账号之后,就拥有一个完整的基于Ruby的Web应用栈,包括了Rails,MongoDB,Passenger等等,用户自己不需要做任何服务器配置,只需要下载安装一个heroku的gem包,通过两条简单的命令就可以发布一个基于Ruby的web应用.

理解云计算

- 车东 - oneoo's 私家花园
  现在互联网最热门的关键字“云计算”,大大小小的公司纷纷加入到这块领域. 简单来说,目前的“云计算”主要分为:SaaS、PaaS和IaaS三大类.   其中SaaS云计算,为软件即服务的概念. 把传统客户端软件部署在互联网上,用户只需要一个浏览器就可以使用到软件的模式. 其实早在2000年就已经有B/S结构的软件服务,与现在所说的SaaS云计算相近,但此前的B/S结构软件服务,数据库等服务端是需要用户自行部署的,而非由软件提供商进行统一部署.

10问云计算

- - 《商业价值》杂志
与数百位关注和实践云计算的CIO们共同解读云计算热点问题. 被视作IT界第三次革命的云计算,已经从炙手可热的概念逐渐走向了实际应用. 2011年8-11月, ITValue社区联合英特尔公司,与数百位关注和实践云计算的CIO们一起展开深入探讨,话题涉及云计算的商业价值、安全性、开放性、高效性、简单性等方面.

腾讯或将于本月11日推出云计算平台「腾云」,为应用开发者提供后端支持

- Ruby - 36氪
据我们了解,腾讯即将推出云计算平台腾云. 腾云将为开发者提供云计算和云存储资源,开发者可以使用腾云的服务器来支持自己的应用后端,降低开发和部署的成本,从而更加专注在应用本身的内容上. 这里的应用包括Web 应用及手机应用等. 此外,腾云将会提供应用程序的后台运营数据分析(从服务器端监控,这会比Google、友盟做的应用监测统计更强大吗.

云计算的困局

- Star Ocean - It Talks--上海魏武挥的博客
有个媒体朋友打电话咨询我一个事. 说在江浙一带,有一位搞国际货运代理的民营企业家,想利用云计算来整合各种资源,比如运输车队、仓库、集装箱乃至货船. 这些资源的调配信息对任何一家从事外贸的企业都很重要,如果将这些信息放在所谓的“云”上,并加以运算,这些企业再以各种设备联入这个“云”,这位企业家觉得是一个很有前途的买卖.