OpenStack介绍
OpenStack是一个美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。
OpenStack主要包括以下几个子项目:OpenStack Compute(Nova)、云对象存储Cloud ObjectStorage(Swift)、镜像管理 (Glance)、身份识别Identity(Keystone),网络连接管理Network Connectivity(Quantum)、Web管理界面DashBoard等。
目前有超过150家公司参与了Openstack项目,包括HP,Dell,AMD,Intel,Cisco,Citrix等公司,国内有如新浪、华胜天成、H3C等公司也参与了OpenStack项目。此外微软在2010年10月表示支持OpenStack 与Windows Server 2008 R2的整合,而Ubuntu在11.04版本中已开始集成OpenStack。OpenStack是目前最受关注与支持的开源云计算平台之一。
OpenStack 以Python编写,这意味着相比其他以C/C++或Java编写的开源云计算平台,OpenStack更容易修改与调试等。OpenStack整合了Tornado网页服务器、Nebula运算平台,使用Twisted框架,目前OpenStack支持的虚拟机宿主包括KVM,XEN,VirtualBox,QEMU,LXC等。
OpenStack至今共有5个版本,最新版本代号为 Essex。
CloudStack介绍
CloudStack是新加入到Apache基金会中的开源云计算平台。CloudStack开发语言为Java,此前为Cloud.com研发应用的商业软件,此后被Citrix思杰收购,2012年4月5日思杰宣布将CloudStack项目提交至Apache基金会,CloudStack成为Apache许可下的完全开源软件。
CloudStack平台可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。其最新版本的CloudStack 3颇具Amazon亚马逊风格,它帮助那些希望效仿全球最成功云平台来构建云设施的企业用户,快速而轻松地将虚拟数据中心资源转入自动化、富于弹性且可自我服务的云平台中。另外,CloudStack兼容亚马逊API接口,允许跨CloudStack和亚马逊平台实现负载兼容。使用CloudStack作为基础,数据中心操作者可以快速方便的通过现存基础架构创建云服务。
OpenStack 与CloudStack的比较
2012年4月5日Citrix宣布将CloudStack开源软件加入到Apache软件基金会,CloudStack与OpenStack同成为Apache许可下的完全开源云计算平台,同时也成为OpenStack最有力的竞争对手。
截至目前OpenStack在市场宣传、影响力方面远胜过CloudStack,支持伙伴、社区开发人数及讨论话题数、活跃程度等也高于CloudStack,但CloudStack的平台成熟度要优于OpenStack,CloudStack的用户体验及安装容易度也都比OpenStack要好,并已在更具生产实际的环境中得到了充分验证,而OpenStack到目前为止则更像是仍处于研发阶段难以称为“成熟的产品化的IT产品”。
整体比较
比较项 |
CloudStack |
OpenStack |
服务层次 |
IaaS |
IaaS |
授权协议 |
Apache 2.0 |
Apache 2.0 |
许可证 |
不需要 |
不需要 |
动态资源调配 |
主机Maintainance模式下自动迁移VM |
无现成功能,需通过Nova-scheduler组件自己实现 |
VM模板 |
支持 |
支持 |
VM Console |
支持 |
支持 |
开发语言 |
Java |
Python |
用户界面 |
Web Console,功能较完善 |
DashBoard,较简单 |
负载均衡 |
软件负载均衡(Virtual Router)、硬件负载均衡 |
软件负载均衡(Nova-network或 OpenStack Load Balance API)、硬件负载均衡 |
虚拟化技术 |
XenServer,Oracle VM,vCenter,KVM,Bare Metal |
XenServer,Oracle VM,KVM,QEMU,ESX/ESXi,LXC(Liunx Container)等 |
最小化部署 |
一管理节点,一主机节点 |
支持All in one(Nova,Keystone,Glance组件必选) |
支持数据库 |
MySQL |
PostgreSQL,MySQL,SQLite |
组件 |
Console Proxy VM,Second Storage VM,Virtual Router VM,Host Agent,Management Server |
Nova,Glance,Keystone,Horizon,Swift |
网络形式 |
Isolation(VLAN),Share |
VLAN,FLAT,FLATDhcp |
版本问题 |
版本发布稳定,不存在兼容性问题 |
存在各版本兼容性问题 |
VLAN |
不能VLAN间互访 |
支持VLAN间互访 |
实际安装与运行测试的比较
1. OpenStack文档资料数相对于CloudStack较多,且安装过程等讲解较具体。但是因为不同版本间OpenStack可能差异较大,如果实际安装版本与文档中使用版本不一致可能会遇到问题。
2. OpenStack安装过程较复杂,尤其是网络配置部分比较麻烦,而这方面资料较少,讲解不够具体。CloudStack安装过程较简单,但是后续运行中各种配置等问题相关文档少有提及。
3. OpenStack 的Web 管理界面DashBoard目前为止较简单,可能存在bug也较多,但中文翻译较好,并提供一些帮助信息;CloudStack的Web管理界面功能较多,但中文翻译不彻底,缺少帮助提示等信息。两者使用Web界面管理均出现类似删除虚拟机一直删除不掉等问题。
4. 测试发现OpenStack可超载创建虚拟机,但所创建虚拟机经常出现无法启动的情况。而CloudStack对虚拟机的资源占用管理较严格,无法超载创建虚拟机,因此对主机节点的硬件配置要求较高。
5. CloudStack支持通过模板(Template)或ISO创建虚拟机,但上传模板、ISO及创建虚拟机等过程均耗时较长;OpenStack在实验过程中为直接从网上下载img文件创建虚拟机,耗时很短即可创建成功。
6. 两者创建的虚拟机均可以通过Web管理界面进入管理,但测试中OpenStack创建的虚拟机虽然附加了局域网IP,但网卡实际绑定IP为私有IP,未找到如何通过SSH直接访问的办法。CloudStack创建的虚拟机使用了分配的Guest IP,可通过SSH连接访问。