云计算在如今的IT界一直是一个最热门的话题,鉴于可以实现大大提高效率,节省大量成本,可扩展的基础设施,高性能与安全数据存储。
然而,选择适当的云平台却很难。它们都各有优缺点。因此,当一个客户问我和我在Altoros Systems(一家软件产品开发公司)的同事,什么才是最适合他的项目的云平台和原因时,我们决定深入探索一下目前最有名的几个系统,比较它们的功能,并把结果总结成一个产品对产品的表格。我们测试了CloudStack, Eucalyptus, vCloud Director和OpenStack。
以下你会看到关于免费或商业版的云平台的功能,它们的价格,文档完整性和社区成熟度。此外,在部署过程中发现的错误已被详细错误修复说明解决。(请注意,在此调查发表时,产品可能已经被供应商更新了。)
这一客观比较的目的在于帮助你调整你的业务需求,发现一个特定的云系统的功能,最终选择最适合的产品。
CloudStack 3.0.0
CloudStack是一个管理资源计算的数据中心的控制台。一些知名的信息驱动的公司,比如Zynga,诺基亚研究中心,已经使用CloudStack部署了云。除了有其自己的API,该平台还支持CloudBridge Amazon EC2,它可以把亚马逊API转换成CloudStack API。你可以在下面看到一个详细的命令列表。
主要特性:
- 管理程序不可知(KVM, XEN, ESXi, OVM and BareMetal)
- 角色(分配和管理权限)
- 虚拟网络(VLAN支持)
- 资源池(管理员可以对虚拟资源加以限制,例如,一个帐户可以创建的虚拟机的数量,分配到一个帐户的公共IP地址的数量,等)
- 快照和卷
- 虚拟路由器,一个防火墙和一个负载均衡器
- 带有主机维护的实时迁移
如果你的数据中心是基于vSphere的,CloudStack会使用vCenter API。这意味着你可以管理你的已使用vSphere 4.1动态部署的数据处理中心。
价格:CloudStack在GNU Public License v3许可下免费发行。要获得付费支持,你应通过电子邮件联系它的开发者。
社区:有一个及时提供免费技术支持的在线社区。在论坛里你能找到许多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 kvmtcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 11673/qemu-kvmtcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 11872/qemu-kvmtcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 15227/qemu-kvmtcp 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 2.0.3
Eucalyptus是又一个流行的云平台。索尼,彪马,美国航天局,趋势科技等公司都选择用它来部署它们的私有云。Eucalyptus有免费版和商业版。显然,商业版有更多的扩展功能。
让这个平台真正便于工作其中的最大优势之一就是Eucalyptus API完全兼容亚马逊API。因此,基于亚马逊API的所有脚本和软件产品都可轻易用于你的私有云。Eucalyptus支持三种管理程序:XEN,KVM和ESXi。最后一个只对Enterprise Cloud版的用户开放。
主要特性:
- 角色(分配和管理权限)
- 管理程序不可知
- 集群和分区
- 灵活的网络管理、安全组和流量隔离
价格:你可以选择开源免费的Eucalyptus Cloud,或是Eucalyptus Enterprise Cloud。功能上的差异信息在这里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中,参数值default=1应该变成default=0。
4) 还建议在CentOS中创建一个叫libvirt的组,并对该组添加用于运行Eucalyptus的帐户。
结论:虽然开源版本有一些问题,但解决办法都很简单。此外,商业版还提供了更多功能(VMware管理程序工具,与亚马逊AWS,AD和LDAP integration等兼容)。已经有虚拟环境的人可以使用Eucalyptus云对它进行加强,而不用完全迁移。
vCloud Director 1.5
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 2011.3
OpenStack 2011.3是一个用于部署云的开源平台。该项目包括三个产品:Nova(模仿亚马逊EC2),Swift(模仿亚马逊S3),Glance(为虚拟磁盘镜像提供发现,登记和交付服务的一个API服务器)。在我们的调查中,我们只使用Nova,但你要密切注意Swift,它为数PB的可访问数据提供可扩展的对象存储。OpenStack 2011.3被许多供应商支持,包括CloudStack 3。
目前,Nova全面支持两个管理程序:KVM和XEN。该平台正被快速开发,不久就会提供更多功能。该技术受到一个庞大群体的专家的欢迎,而且被如下这样的公司支持,思科,戴尔,美国航空航天局,英特尔,AMD,思杰,Rackspace和RightScale。这个产品的核心是由美国航空航天局开发的。
主要特性:
- 管理虚拟商品服务器资源的能力
- 管理局域网的能力
- 虚拟机镜像管理
- 安全组
- 基于角色的访问控制
- 项目及配额
- 通过网络浏览器的VNC代理
价格:OpenStack 2011.3是开源的,可免费下载。该项目由各种贡献者开发,主要来自于用户捐助。
社区:与本调查提到的其他产品相比,OpenStack似乎拥有最大和最活跃的社区。社区成员总是愿意帮助别人找到任何出现问题的解决办法。
文档:然而,OpenStack文档有些不太完整。由于产品快速的发展程度,其文档不能及时覆盖所有目前存在的问题和新功能。通常你需要访问论坛或使用IRC来获得所需信息。
体验:我们已经成功地安装和配置了Nova,Keystone和dashboard,没有任何严重问题。
结论:这个开源平台是免费的,而且发展非常迅速。它显示了很大的进步,但在用于产品前仍需很多努力。OpenStack 2011.3已经兼容亚马逊API,dashboard项目目前正在研究中。
总结
如果你决定把你的企业转向云,首要任务之一就是选择一个更适合你公司需求的平台。尽管很难了解供应商在市场营销承诺背后的有什么,我希望本文能有所帮助。本次调查是对所有云产品状况的一个摸底,不掺杂宣传任何系统的意图。
世上没有治百病的良药,即使是最好的云平台(如果有的话)也不能满足所有需求和使用情况。对于一种特定类型的业务,你需要所有涉及的因素,确定你的典型任务,计算风险,分配预算,比较平台的功能和许可证费用。无论你如何看待它,这都将是一个折中方案。问题在于要确保你在一开始就做出了最好的选择。