软件产品开发公司Altoros Systems的IT基础设施设计师Vadim Truksha在美国《网络世界》上发表一篇文章,详细对比了CloudStack、Eucalyptus、vCloud Director和OpenStack等四个云平台。文章全文如下:
考虑到云计算有极大的潜力提高效率,显著节省成本,实现可升级的基础设施和高性能以及安全的数据存储,云计算仍然是目前IT领域最热门的话题之一。
然而,选择合适的云平台是很困难的。这些云平台都有支持意见和反对意见。因此,Truksha说,当一个客户问我和我的同事‘适合他的项目的最好的云平台是什么’的时候,我们决定深入考察现有的一些最著名的云平台,对比一下它们的功能并且在一个逐个排列的产品表格中总结研究的结果。我们测试了CloudStack、Eucalyptus、vCloud Director和OpenStack等四个平台。
下面你们将发现免费版和商业版云平台提供的功能、产品价格、说明文件的完整性和社区成熟度等信息。此外,在部署过程中发现的错误已通过修复瑕疵的详细指令修复了。
这个无偏见的对比的目标旨在帮助人们使自己的业务需求符合特定的云系统的能力, 并且最终选择最合适的产品。
CloudStack
CloudStack是一个管理数据中心计算资源的控制台。Zynga、诺基亚研究中心和Cloud Central等许多知名的信息驱动的公司已经使用CloudStack部署了云。除了拥有自己的API(应用程序编程接口)之外,这个平台还支持能够把一个亚马逊API转变为CloudStackAPI的CloudBridge Amazon EC2。你可以在这里查看一个详细的支持的指令列表。网址是:http://docs.cloudstack.org/CloudBridge_Documentation/Supported_Amazon_EC2_Commands_in_CloudBridge
CloudStack是IT基础架构的综合管理系统,或者称为云操作系统。CloudStack可以管理不同账号下任意多的虚机及其对应的复杂网络。CloudStack通过对计算、网络、存储等物理资源的综合管控以及完整的账户和API的支持,使其可以被用于企业内部的私有云,或运营商托管的混合云以及类似亚马逊EC2的公有云。CloudStack广泛的支持目前流行的各种Hypervisor,包括XenServer、XCP、VMWare、KVM等。(注:OVM的支持在4.0里去掉了,主要是许可兼容及Bug的修改,在下一个版本中会恢复支持。HyperV的支持在明年第一季度引入。)
对于主存储的支持根据各家Hypervisor的不同也提供了广泛的支持。
CloudStack利用现在业界成熟的技术,结合早年商用的积累,使其拥有许多创新的特点,比如主存储及二级存储的分离,系统虚机机和虚拟路由器的引入,资源按域、机架、集群的分层管理等。作为一个基础架构的综合管理服务系统,CloudStack的安装是相当方便的,再结合数万台物理主机和数百万台虚拟机的管理能力,以及自身实际商用环境的考验,CloudStack理应受到更多的关注和推广。
主要特点:
– 不依赖于任何管理程序(KVM、XEN、ESXi、OVM和BareMetal)
– 任务(分配和管理权限)
– 虚拟网络(支持虚拟局域网)
– 资源池(让管理员限制虚拟资源,例如,限制一个账户创建的虚拟机的数量以及分配给一个账户的公共IP地址的数量,等等)
– 快照和卷
– 虚拟路由器、防火墙和负载均衡器
– 使用主机维护进行动态迁移
如果你们的数据中心以vSphere为基础,CloudStack将使用一个vCenter API。这意味着你将能够管理使用vSphere 4.1动态部署的数据处理中心。
价格:CloudStack将根据GNU Public License v3(GNU公共许可证第三版)免费发布。要获得付费的技术支持,你应该通过电子邮件与开发者联系。
社区:有一个在线社区免费提供及时的技术支持。你可以在论坛中找到许多CloudStack问题的解决方案。还有一个IRC(互联网中继聊天)频道,欢迎每一个人提出问题。
说明文件:如果你有基本的技术背景,你使用默认设置安装CloudStack平台是很容易的。如果需要更复杂的安装,你会遇到一些难题,因为说明文件不包含全部的复杂问题。这个手册提供一步一步的指令,但是没有提供这个平台总体如何运行的任何信息。
体验:我们实施了这个系统的安装和设置并且实验了VMware和KVM集群。这些主机使用CentOS 5.5和CentOS 6.2。此外,我们的工程团队把使用CloudStack部署的私有云连接到了RightScale管理控制台。这个平台很容易安装并且像预期的那样执行任务。
可能的问题和瑕疵补丁:当使用CentOS 6的时候,在运行libvirtd时会出现一些错误。在/etc/cgconfig.conf文件中增加如下代码可以解决这个问题:
group virt {
cpu {
cpu.shares = 9216;
}
}
在输入这个代码之后,重新启动/etc/init.d/cgconfig并且启动libvirtd。
在网站使用这个控制台也会产生一些问题。其中一个问题是vnc(虚拟网络计算机)服务器把127.0.0.1当作这个主机的默认的地址。要检查这个问题,执行下列指令:
netstat -nlp | grep kvm
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 11673/qemu-kvm
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 11872/qemu-kvm
tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 15227/qemu-kvm
tcp 0 0 0.0.0.0:5903 0.0.0.0:* LISTEN 12587/qemu-kvm一旦这个地址是127.0.0.1,你应该在/etc/libvirt/qemu.conf配置文件中取消这行批注vnc_listen = “0.0.0.0” ,并且重新启动虚拟机。
结论:使用CloudStack管理控制台工作给我们的工程团队留下了深刻印象。这是一个提供广泛功能的迅速发展的工具,并且是免费提供的。它可以用于生产。但是,如果你使用VMware管理程序性,vCloud Director似乎是更好的选择。
Eucalyptus Open Source
Eucalyptus是另一个流行的云平台。索尼、Puma、美国航天局、趋势科技和其它公司已经选择利用它部署自己的私有云。Eucalyptus有免费版和商业版。商业版显然有更多的扩展功能。
使这个平台使用更方便的最大的优势之一是Eucalyptus API全面兼容亚马逊API。因此,基于亚马逊API的所有的脚本和软件产品都可以轻松地为你的私有云部署。Eucalyptus支持三个管理程序:XEN、KVM和ESXi。最后一个管理程序仅向企业云版用户提供。
主要特点:
– 任务(分配和管理权限)
– 不依赖于任何管理程序。
– 集群与分区。
– 灵活的网络管理、安全组和流量隔离。价格:你可以选择开源软件的免费Eucalyptus云和Eucalyptus企业云。这里有关于功能差别的信息,网址是:http://www.eucalyptus.com/products/eee/features
社区:与其它开源软件社区一样,Eucalyptus有一个强大的设计,为这个平台的开发做出贡献并且帮助发现和修复瑕疵。我们在安装和设置这个产品的时候没有遇到任何困难,因此,我们不能评价这个社区有多大帮助。不管怎样,他们在开发这个产品方面做得非常好。
说明文件:产品说明书包含安装过程,但是没有提供使用这个软件工作的任何其它信息。潜在的用户应该有很强的技术背景,因为如果需要复杂的设置,这个指南没有提供有关虚拟化的信息,因此用处不大。
体验:我们的团队安装了这个平台的开源软件版,并且按照说明书提供的指令设置了这个平台。我们为云控制器使用CentOS 5.5,为主机使用CentOS 5.5和XEN管理程序。我们的云成功地添加到RightScale云管理平台。开源版本没有管理控制台,因此,你必须使用euca2tools或者把Eucalyptus和RightScale结合在一起。这个产品的商业版确实有一个管理控制台,从而使它对用户更友好。
可能的问题和瑕疵补丁
1. 一些附属程序不能依次安装。作为这个问题的解决方案,我们以软件包的方式一次安装这些程序。
rpm -Uvh python25-2.5.1-bashton1.x86_64.rpm
error: Failed dependencies:
libpython2.5.so.1.0()(64bit) is needed by python25-2.5.1-bashton1.x86_64
解决方案:
rpm -Uvh python25-2.5.1-bashton1.x86_64.rpm python25-devel-2.5.1-bashton1.x86_64.rpm python25-libs-2.5.1-bashton1.x86_64.rpm
2. 在安装完成之后,当启动控制器的时候可能出现如下错误:
/etc/init.d/eucalyptus-cc start
Starting Eucalyptus cluster controller:
Enabling IP forwarding(13)Permission denied: make_sock: could not bind to address [::]:8774
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:8774
no listening sockets available, shutting down
Unable to open logs
Failed to start the CC!
要解决这个问题,应该关闭Selinux。
3. 如果你没有充分的使用XEN的体验,你在使用它的时候会遇到一些问题。在安装XEN完成之后,在装载到XEN内核的/etc/grub/menu.lst设置文件中,这个参数值“默认 = 1”应该改为“默认 = 0”。
4. 还要在CentOS中创建一个名为“libvirt”的组并且为这个组增加一个账户以便运行Eucalyptus。
结论:虽然开源软件版有许多问题,但是,有一些简单的绕过措施。此外,商业版提供了广泛的功能(VMware管理程序工具、兼容亚马逊AWS、AD和LDPA集成等等)。已经拥有虚拟化环境的用户能够使用Eucalyptus云增强自己的虚拟化环境,不用完全迁移到Eucalyptus。
vCloud Director
vCloud Director是VMware开发的用于部署云的平台。这个系统可以建立混合云。如果你的办公室的整个基础设施是使用VMware产品建立的,你在部署vCloud Director的过程中将不会遇到困难。你可以使用VMware vCloud Connector在私有云和公共云之间迁移虚拟机。
重要特点:
– 虚拟数据中心
– vShield安全技术
– 基础设施服务目录
– 多租户机构
– 自助服务门户
– VMware vCloud API、开放虚拟化格式和标注价格:遗憾的是这个产品没有免费版。你必须与地区经理联系以便找到满足你需求的软件包的大致价格。
社区:VMware是这个市场的领导者之一,有一个庞大的社区。还有一个丰富的知识库,可用于免费的技术支持服务。这个产品有一个技术支持软件包。该公司还根据需求提供额外的付费技术支持。
说明文件:专有软件通常配置高质量的说明文件。这个平台也不例外。如果你认真遵守这个指南中提供的全部指令,就不会有困难。
体验:我们成功地安装和配置了vCloud Director。应该指出的是,为了安装这个平台,需要Red Hat。你安装这个平台需要的其它事情还包括vCenter (带集群和DRS)和vShield。
vCloud Director明显地使用vCenter API。这意味着vCloud Director的用户已经使用了vSphere中实施的全部功能。
结论:这是一个商业性产品。这对于一些用户来说是一个巨大的弱点。然而,如果你已经使用VMware用于虚拟化,vCloud Director将是最合适的选择。
OpenStack
OpenStack 2011.3是用于部署云的一个开源软件平台。这个项目包括三个产品:Nova (类似于亚马逊的EC2)、Swift (类似于亚马逊S3)和Glance(一种为虚拟硬盘镜像提供发现、注册和交付服务的API服务器)。在我们的研究中,我们仅使用Nova。但是,你应该密切关注Swift。Swift为可访问的许多PB(1PB = 100万GB)数据提供可扩展的对象存储。包括CloudStack 3在内的许多厂商都支持OpenStack 2011.3。
目前,Nova全面支持两个管理程序:KVM和XEN。这个平台正在迅速地开发并且很快将提供更广泛的功能。这个技术在专业人员的大型社区是非常流行的并且得到了思科、戴尔、美国航天局、英特尔、AMD、思杰、Rackspace和RightScale等公司的支持。这个产品的核心是美国航天局开发的。
主要特点:
– 能够管理虚拟化的商品服务器资源
– 能够管理局域网
– 虚拟机镜像管理
– 安全组
– 基于任务的访问控制
– 项目与配额
– 通过网络浏览器的VNC(虚拟网络计算机)代理价格:OpenStack 是开源软件并且能够免费下载。这个项目是各种贡献者开发的,而且其存在主要依靠用户的捐献。
社区:与本次研究提到的其它产品相比,OpenStack似乎拥有最大的和最活跃的社区。社区的成员总是愿意帮助其他人找到出现的任何问题的解决方案。
说明文件:然而,OpenStack的说明文件有些不完整。由于产品的迅速开发,这个说明文件不能及时地覆盖所有当前的问题和新特点。你必须经常访问论坛或者使用IRC得到需要的信息。
体验:我们成功地安装和设置了Nova、基础和控制面板,没有遇到任何重要问题。
结论:这个开源软件平台是免费的,是非常迅速地开发的。它展示了许多进步,但是,在它用于生产之前还需要许多的开发努力。OpenStack 2011.3已经兼容亚马逊API。这个控制面板项目目前正在考虑之中。
总结
如果你决定把你的业务迁到云中,你遇到的首要任务之一是选择一个最适合你的公司需求的平台。虽然也许很难理解厂商在营销说明中的承诺是什么意思,但是,我希望本文将提供一些帮助。这个研究是使用所有的云产品的结果,不是促销任何系统。
没有任何灵丹妙药。甚至最佳的云平台(如果存在的话)都很难满足所有的需求和使用案例。对于特定类型的业务来说,你需要调查全部有关的因素,定义你的典型任务,计算风险,分配预算,对比这个平台的能力和许可证成本。这将是一个妥协,无论你怎样看它。这个事情是一定要保证你在一开始就做出尽可能最好的选择。
来源:http://www.cnw.com.cn/news-international/htm2012/20120720_250599.shtml