May 072014
 

程辉的团队,已经在InfoQ的大会上发布了公有云的产品,目前在邀请测试阶段,有幸拿到测试邀请码,也就帮助大家揭开一下,他们到底做的如何。

对于Openstack,是否可以做公有云,国内很多人都是有疑问的。国外有HPcloud,不过国内外的情况差异很大,国内是否可以用Openstack来做公有云呢?

已经有朋友写了一篇功能的介绍:UnitedStack UOSCloud 公有云测试

UniteStack是自己做了一个Dashboard,那么我就拿Horizon和他做一个对比,加上青云,可以好好比较一下。测试就只局限功能,UI的测试。其实公有云,最重要,最核心是他的稳定和可靠。

总结

还是把总结放到开始的部分,看完UOS,一个感觉就是搞Openstack的,无论你是公有云还是私有云,都应该拿到外面让大家做一下压力测试,这样你会发现很多你在实验室无法发现的问题,你才知道从哪些方面去改进。

  1. 非常不容易啊,把openstack放到国内公有云,给大家测试。无论的计算,存储,网络,都是很大的挑战。向国内证明Openstack是可以在国内的环境跑公有云。
  2. 采用Openstack和社区的力量和青云完全自己开发,形成两个不同的路线,就看那个速度更快,那个更加稳定
  3. 把ceph和SSD放到生产环境,真的是给Ceph社区一大贡献。稳定比性能更加重要
  4. 把Neutron和SDN部署上,是非常高难度的活。目前据猜测,应该很可能是使用Juniper的Contrail方案。目前社区和峰会发反馈,大家都比较看好这个方案。
  5. 采用qemu的agent作为监控,给虚拟机的监控提供了一条很好的思路,并且去验证
  6. 实现的完整的VPC,端口映射,vpn的功能。
  7. UI有很大的改进的空间,不过对于互联网的出身的团队,这基本是小菜一碟,需要的是时间。
  8. 在Openstack的机制下,完善了计费,用户注册,用户操作日志。

登录 Overview

这个界面设计,其实很花费心思,也就是所谓overview的界面,要用用户看到重要的信息。目前Horizon也正在重点。Snap1

设计其实是非常不错,真的是花心思去考虑。看看青云的设计

Snap2

青云把右上角的用户设置,移动到左边上面。我可以理解这样设计的目的,不过我个人还是习惯右上角去修改用户的设置。另外青云左边中,英文显示,有点别扭。这点上UniteStack英文支持,是非常好的,超出我的想象。

Snap3

目前Horizon的Overview界面做的比较欠缺。所以大家都在努力改进,并且这次峰会重点讨论。看看他未来可能是什么样子的。

Snap4

 

虚拟机创建

这可是重点,因为目前国内基本都是把IaaS当成创建虚拟机。对于Unitestack来说,可以直接在首页上就开始创建虚拟机,这点设计是不错的。

Snap5

这是创建虚拟机,弹出的页面。

创建虚拟机的流程,其实无非两种,一个是一个界面完成,一个是通过向导来完成。在一个界面上完成,好处当然是简单,但是也会有别的问题产生,例如滚动条,还有一些复杂的控制,都不是那么好做。例如镜像和配置,某些配置是不能满足镜像的创建需求,会导致虚拟机创建失败。

看看青云的虚拟机创建流程

Snap6

目前Horizon项目也在引入向导的功能,让虚拟机的创建流程,可以类似青云这样。在Icehouse版本,只有网络创建实现向导,虚拟机创建向导流程,需要到J版本才能实现。

http://cedricss.github.io/openstack-dashboard-ux-blueprints/launch-instance/step_1.html

Snap7

如果我选择一个配置微型,只有512M内存,可以搞定一个windows2012的虚拟机?。我还真的成功创建,并且登录进去。这点上Horizon已经在Icehouse版本实现,就是你上传镜像的时候,设置镜像的最小内存,最小硬盘的要求,这个时候,创建虚拟机的时候,无法使用的配置,你就不能选择。

这些问题都需要引入向导,实现很好的前端的控制,可以有效避免用户无法成功创建虚拟机。

需要重点留意:Unitedstack和青云在虚拟机创建的时候,都是没有提供硬盘的大小设置,都是采用默认的。都是采用系统盘+数据盘的方式。

删除虚拟机

这个看上去很简单,如果你正常删除一个虚拟机,一般都没啥问题,但是有时候用户点击创建后,发现选择错误,马上进行删除,那么这个时候,很可能就会出错。出错的概率就很大。

我同时创建4个虚拟机,在building过程中,直接删除。测试了好几次,表现非常不错。基本都可以成功删除。有一次出现1个成功,3个error,我对error的虚拟机进行删除,可以成功删除。Openstack的一个问题,虚拟机出现错误的时候,无法删除的问题,UnitedStack很好解决。

这个问题,其实我在Rackspace,也出现过,当我创建一个虚拟机的时候,发现配置有误,在building的过程,进行删除,结果就出现无法删除。不过Rackspace后台好像可以检测出这样的错误,多操作几次,就删除掉。

这个问题青云是怎么解决呢?

Snap8

虚拟机没成功创建前,不允许你删除。也是一个有效避免出现error的办法。

虚拟机密码和密钥

这个问题,有点中国特色,我们喜欢用密码登陆,但还有天天喊要安全。

虚拟机创建的时候,用户设置密码,注入密钥,其实有很多办法:https://www.berrange.com/posts/2012/11/15/692/

对于Openstack来说,你还可以采用cloud init来注入密钥。

对于运行的虚拟机,如果你需要注入密钥,修改密码,那么你就只能自己想办法,这个就必须通过agent。

在虚拟机创建到时候,Unitedstack,采用镜像的固定密码,这个其实不是很严谨,创建的时候无法注入密钥。在虚拟机运行后,你可以通过agent来修改密码,注入密钥。

这个功能,其实真的是Unitedstack的一大贡献,http://docs.ustack.com/uos_services/instances.html#guest-agent

把这条路走通,其实非常不容易。修改SSH密钥 好像不太准确

Snap10

那么青云是如何处理。

青云创建虚拟机的时候,提供用户设置密码或者选择密钥注入,密码还做了一个强度要求,对于运行的虚拟机,提供密钥注入的功能,不提供密码修改的功能。青云也是通过agent来实现的。

不过青云的镜像也是带默认密码,如果你采用密钥注入,你可以disable密码登陆,这点青云考虑的很周到。

Snap11

VNC

无论是windows,还是linux的,效果其实都非常好,看来已经很好解决VNC的性能问题。目前HPcloud也提供了vnc的功能。用户体验比Horizon好很多。

Snap13

我测试了一下,很流畅,和ssh进去基本是一样的。

硬盘

对于公有云,给虚拟机增加硬盘,是一件很头疼的事情。类似EBS,san,很难降低成本。当万兆普及后,那么网络去读取数据甚至比本地更快。那么也就大大降低了成本。据说计算机内部总线的速度是6GB,万兆网络是10GB。

由于UnitedStack采用Ceph,这块是一个重点考察的地方。

Snap14

采用Ceph后

Snap15

 

简单点说,就是创建一个虚拟机,就是对镜像做一个link,实现秒级创建虚拟机。为了实现这个理想,Unitedstack付出了很多的努力,把这个实现。把计算,存储合并,简化了网络。

朋友DD的测试结果,其实还是非常不错,系统盘,达到80M,数据盘,可以到150M。这个数据,应该是非常不错。就看能承载多少虚拟机,降低成本。看介绍,采用了全部的SSD。

青云上是怎么样呢

Snap1

细节上考虑的更多。别的基本都是一样的。

Openstack上的硬盘有很大的差异,他没有系统盘的概念。通过flavor来控制硬盘的大小。这个做法也和AWS比较相似。

快照

快照的功能,其实很有技术含量。要确保你快照的结果不丢失文件,这真的需要你做大量的测试,才能有信心。Unitedstack一上线就带快照功能,是非常不容易的。青云都是今年年初才提供快照的功能。

尝试用了一下快照,感觉还是很复杂,包括青云的,也是一样,怎么感觉有点反人类。我对快照的理解和使用基本就是vmware的workstation,ESX里的快照。我都很容易明白和使用。AWS上的快照和使用,我也基本没啥问题。

对于一般用户来说,快照和镜像模板的概念是比较模糊。改天再深入理解一下他们两家的快照的使用。

网络

这是重头戏,目前Openstack的Neutron的网络,比较脆弱,并且前端的UI设计也很多地方需要改进。所以也就导致要生产使用neutron,需要投入大量的力气去改造。

Unitestack把vpc上Openstack缺少的功能都补上:路由器的端口映射,支持PPTP的vpn,还没支持Openvpn,不过算是基本把VPC的全部功能实现了。

 

Snap2

网络拓扑图

Snap3

vpn

可以添加用户。

Snap5

青云的网络拓扑图

Snap4

其实我更加喜欢Openstack的网络拓扑图,更加漂亮。青云的拓扑图上是可以有很多操作,这个还是比较酷的。不过建议改改图标,哪怕购买一些商业图标,让这个图看的更像visio出来的效果图。

让同事专门研究了一下网络拓扑图实现的原理,全部都是JS实现,那真的考验你的JS实力。

  6 Responses to “UOS测试报告”

  1. 分析的很透彻,能和我联系一下吗,我想咨询一些OpenStack和Hadoop的事情,谢谢。
    m60800@gmail.com

  2. 我怎么感觉价格的话,uos和qingcloud都没有太大优势,虚拟机+存储+带宽+路由器费用并不低

    • 在国内,带宽,IP地址的成本,很难下降。你可以做的就是降低存储,计算的成本。

  3. 陈老师,您的下一篇文章•Protected: UnitedStack技术分享总结
    如何可以获得到密码?

 Leave a Reply

(required)

(required)