几个值得关注的云计算项目:Gluster,Ceph,Puppet,Chef,oVirt

本文首发在51CTO主站:

整理这篇综述主要是给自己做一个记录,了解一下当前的几个技术层面的开源云计算项目的背景。另外,也顺便帮朋友推荐一下oVirt Workshop这个活动。开源虚拟化管理是个比较窄众的方向,如果有关注这个方向的童鞋,对oVirt这个活动还是可以看看去的。

以下为正文。

2012年的LinuxCon大会之后,Linux基金会执行董事Jim Zemlin在自己的博客上总结道:

云计算已经对整个技术产业经济体造成了极大的变革,香港服务器,而这变革仍将继续。目前领跑的Amazon平台全都是基于开源软件来构建的。厂商们也不再各自单打独斗,而是纷纷在OpenStack和CloudStack这样的项目中联合作战。现在,无论你去找任何厂商,让他谈谈当前的技术趋势,他们都会跟你谈组成现在这些云的开源项目。

Zemlin拉了一份清单,重点列出了几个相关的项目。其中,除了大家耳熟能详的Linux,KVM和Xen之外,还包括:

Zemlin认为构建云平台的厂商和工程师们都有必要去了解这几个项目。本文旨在对这五个项目进行简单的背景介绍,供大家参考。

GlusterFS

GlusterFS是一个分布式文件系统,在GPL许可协议下发布。该项目在2005年由Gluster公司启动。2011年,Gluster公司被红帽收购,项目目前由红帽主导。目前,GlusterFS已经在Red Hat Storage Server中采用。

GlusterFS面向PB级的数据处理,理论上可以处理72BB的数据(BB比PB高五个级别,相当于10的27次方),支持上千规模的客户端。集群存储块之间通过Infiniband RDMA或TCP/IP以太网连接,形成大型的并行网络文件系统,在一个全局的命名空间下进行资源调配和数据管理。在设计上,用户空间是可堆叠的。

Ceph

Ceph是一个分布式对象存储项目,在LGPL许可协议下发布。该项目的雏形起始于2006/2007年,Dreamhost联合创始人Sage Wei的博士论文。Sage Wei博士毕业后,与另外两名开发者Yehuda Sadeh Weinraub和Gregory Farnum一起全职投入Ceph的开发,期间该项目一直隶属Dreamhost内部。2012年,Sage Wei成立Inktank公司,专门提供Ceph的产品化和支持服务。

目前,Ceph背后的主要厂商为Inktank,Dreamhost和42on。Dreamhost的DreamObjects正是由Ceph实现,同时Ceph也跟CloudStack、OpenStack、Proxmox等项目进行了集成。

Ceph的目标是全面的分布式,杜绝任何单点故障。Ceph主要面向PB级的数据处理,理论上整个存储系统可以扩展至EB级别。其对象存储可通过C,C++,Java,Python和PHP绑定或名为radosgw的REST接口进行访问,该接口与S3和Swift兼容。块存储使用Ceph的RADOS Block Device(RBD),数据被打散存储在整个集群中。RBD已经与KVM进行了集成。Ceph提供的文件系统与POSIX网络文件系统(btrfs、ext3、ext4、xfs)兼容。

2010年3月,Linux kernel 2.6.34中合并了Ceph的客户端代码。2012年7月,香港虚拟主机,Ceph发布第一个稳定版本Argonaut。第二个稳定版本Bobtail发布于2013年1月。

Puppet

https://puppetlabs.com/

Puppet是Linux上的四大配置管理工具之一(四大工具分别是CFEngine、Bcfg2、Chef及Puppet),新版采用Apache许可协议,2.7.0及之前的版本为GPL许可协议。Puppet的主要开发者是Luke Kanies。从2001年到2005年间,Kanies开始在Reductive Labs从事工具的开发;2005年,Puppet正式发布。2010年,Reductive Labs更名为Puppet Labs。这是Puppet背后的主要支持厂商。

Puppet Labs的投资方包括VMware,Google和思科。

目前,Puppet在Wikimedia基金会、ARIN、Reddit、Dell、Rackspace、Zynga、Twitter、纽约证交所、迪士尼、思杰、甲骨文、Google、新浪等公司都有部署应用。这里有一份Puppet官方提供的客户列表。

Puppet的常用场景包括升级软件包、管理配置文件、系统服务、cron任务以及添加新的配置、修复错误等,香港服务器,在设计上可同时管理上千台服务器。

Puppet基于Ruby,依赖于C/S的部署架构。Puppet采用一种定制的声明式语言来描述系统配置,不需要管理员有深入的编程经验。这个单独的脚本可以直接被应用在系统上进行环境变更,也可以被编译进入catalog之后再通过C/S的部署分发到目标系统上,所有的目标主机会依次使用适用于本地系统的语法解释和执行这个模块。

另外,通过定制软件包和特殊的系统环境配置,可以对Puppet进行扩展。

Puppet支持各种Linux发行版,部分Unix发行版(Solaris,BSD,Mac OS X,AIX,HP-UX),以及微软Windows系统。

Chef

跟Puppet类似,Chef也是Linux上的四大配置管理工具之一,在Apache许可协议下发布。Chef的第一个正式版本发布于2009年1月,其背后的主要公司Opscode成立于2008年。在开发Chef之前,这是一家名为HJK Solutions的咨询公司。

Opscode跟AWS、思杰、Dell、Eucalyptus、GCE、HP Cloud、Joyent、Windows Azure、nimbula、Piston、Rackspace、VMware等云服务均有合作。同时,Chef在Facebook、Dreamhost、MercadoLibre等公司均有应用。这里有一份Chef官方网站提供的客户列表。

Chef专注于快速部署、云服务管理与持续交付。

Chef使用Ruby和Erlang编写,其用于描述系统配置的领域专用语言采用Ruby编写,称作recipe或cookbook。Chef可以使用C/S架构部署,并针对Rackspace(OpenStack)、Amazon EC2进行了集成。除了Linux之外,Chef也支持Windows系统。

Chef的最新版本Chef 11发布于2013年2月,其核心API引擎全部采用Erlang进行了重写。

oVirt

oVirt是一个虚拟化管理系统,在Apache 2.0许可协议下发布。2008年,Qumranet被红帽收购,其虚拟化管理软件需要从C#改写为Java。2011年9月,红帽宣布将这部分代码开源,成为新项目oVirt的一部分。2011年11月初,红帽在思科公司举办了第一次oVirt Workshop,与IBM、英特尔、思科、Canonical、NetApp与SUSE一同宣布oVirt社区的成立。

红帽的企业级虚拟化产品RHEV 3.0内部就包含了oVirt。同时,oVirt目前也是Fedora发行版中默认预装的工具之一。

流转的时光,都成为命途中美丽的点缀,

几个值得关注的云计算项目:Gluster,Ceph,Puppet,Chef,oVirt

相关文章:

你感兴趣的文章:

标签云: