2012 OpenStack亚太技术峰会上海站

2012 OpenStack亚太技术峰会上海站

8月10日至11日,由CSDN,TopGeek与中国OpenStack用户组(COSUG)共同举办的首届OpenStack亚太技术峰会(2012 OpenStack APEC Conference)于在北京、上海两地同时召开,这是首次针对亚太地区的OpenStack用户的技术会议,大会集聚了众多重量级嘉宾,吸引了众多OpenStack爱好者的关注。北京会场群星璀璨,上海会场也同样星光熠熠,邀请到了来自Intel、HP、IBM、EMC、Canonical、SwiftStack、网易、淘宝、盛大等公司的多位重量级嘉宾。

 

同行的声音

132_120820194857_1_lit.jpg

来自Open Compute Foundation的Cole Crawford就开源数据中心的话题与大家做了分享,他认为人类从古至今都在不断追求创新,寻求开放的解决方案,回顾了软件发展历史与云计算的发展历史之

后,发现了两者有着不少相似之处,都从最初的封闭的方案逐步走向开放。数据中心的进化过程也是类似的,从大型机、小型机、x86这些封闭的服务器发展到开放的Open Compute Project,Open Compute Project旨在消除硬件的差异化,让厂商通过服务的差异化获得更大的优势。 

Open Compute Project包含五个部分: 

  • Virt IO
  • Hardware Management
  • Data Center Design
  • Open Rack
  • Storage

Cole对比了两个数据中心——OCP Prineville Data Center和Google Data Center,两者的PUE分别为1.08和1.3。他认为OCP与OpenStack的结合能带来更多的可能性,更好的解决方案。Open Compute Project目前已经可以提供可部署的软件,以及部分硬件,接下来会努力建设一个更大的社区,让更多的人参与其中,并从中受益。 

SwiftStack的CEO Joe Arnold为大家分析了OpenStack Swift的应用情况,它是OpenStack的核心项目之一,负责大规模存储。Swift能为互联网/移动应用提供支持,由于直接使用了HTTP协议,可以利用大量支持HTTP的基础设施,比如缓存。Swift还提供了针对多种编程语言的客户端。 

对于企业应用,目前面临两大挑战:其一,用户数量巨大,尤其是有多租户应用的出现;其二,长尾数据,用户每天都在存储大量数据,但不知道何时需要使用,所以无法归档数据。Swift可以通过增加代理节点和增加存储节点来解决这两个问题。Swift的容量可以线性增长,支持高并发的访问,能从根源上支持多租户。 

通过Swift构建基础架构可以实现以下三个目标: 

  • 降低成本
  • 提高商业的敏捷性
  • 用户自助服务 

考虑到数据是逐渐累积的,而且新硬盘的容量在不断增大,因此应该按需扩容,逐步控制容量增加的过程,这样也可以让数据平稳地进行迁移。Joe介绍到,在生产环境中,SwiftStack会部署3份数据节点,他也建议大家这么做;一般在发现磁盘损坏后,SwiftStack会在一周时间内更换磁盘,因为Swift一旦发现有磁盘损坏,会自动另建一个副本,所以数据还是相对安全的。 

RedHat的陆林清和EMC的郭峰分别向大家介绍了各自公司的开源PaaS平台——OpenShiftCloudFoundry,对它们的整体架构和使用方法做了简单介绍。除了OpenShift,陆林清还回答了很多与RedHat产品相关的问题。郭峰在演讲中对比了CloudFoundry、OpenShift和Heruko的架构,发现PaaS的架构还是比较相近的——首先是Router,然后是应用的Runtime,最后是底层服务;他还提及了最新推出的BOSH,能方便地帮助用户在大规模集群中部署Cloud Foundry。

一线实战经验

网易杭州研究院副总监汪源为大家分享了网易在生产环境中应用OpenStack的一些问题与经验。网易已经在生产环境用了4个月的OpenStack,应用规模目前还不是很大,仅几十个节点,3个线上产品,网易相册完全部署在OpenStack环境中,网易邮箱人脸识别也在这个环境中。网易为什么要做云计算:

  • 提高资源利用率,降低开销,在此之前,整体的CPU利用率只有7%,而内存利用率只有19%
  • 简化运维,降低运维成本,网易从06年开始尝试云服务,其中的分布式数据库,仅用户手册就有260页,还非常难用
  • 促进技术创新与成果转化
  • 数据统一管理,便于实施BI

在网易,OpenStack的集群主要面向Web类产品、WebGame,用于开发、测试环境,但不用于MMORPG和搜索。在他们的整个云平台中,OpenStack占据了重要地位,负责提供云主机和网络;但他们没有使用Swift,而是自己的对象存储系统,因为Swift和DHT一样,扩容时必须数据迁移,网易拥有自己的DFS系统,已上线运行6年有余,网易相册及邮箱均有大量数据,且支持文件级去重等功能,所以不用Swift也显得比较正常。此外,他们还修改了防火墙规则,让一个租户下的所有云主机可互通,与其他租户的云主机隔离。做快照时不进行合并,而是分别上传基本镜像与修改镜像,提升了制作快照和从快照恢复时的效率。网易还对OpenStack进行了全面的测试,总共测试了181个模块,发现了38个Bug,提交了11个,修复了20个。

在Hypervisor选型方面,网易对Xen和KVM做了一些比较,功能方面KVM资源隔离更方便、支持iSCSI启动、支持内存去重、支持带存储的热迁移;性能方面,KVM在磁盘IO上略占优势,千兆网络下,基本两者都能达到网卡的上限;相比Xen,KVM的管理相对更加方便。综上所述,网易更加青睐KVM,但是对于KVM性能更好的说法,不少在场观众也发出了不同的声音。汪源建议,在使用KVM时,磁盘IO用virtio+rawdisk,网络IO用bridge+virtio。

网易还计划制定自己的ECU标准,定义一个抽象的、相对稳定的计算标准,提供给用户。他们分别测试了两款不同的CPU的计算能力——AMD 6276和Intel 2650,使用SPEC CPU 2006进行测试,期望获得相对准确的单核计算能力。 

HP是最早推出基于OpenStack的公有云服务的公司,蒋清野对HP的云服务进行了一番测试,通过Web界面在az-1创建了20台虚拟机,选择的操作系统为Ubuntu 11.04 64-bit Server版本。 

通过unixbench对vcpu进行测试,发现单线程情况下,不同配置的虚拟机单vcpu性能相当,在多线程情况下(线程数等于vcpu数),内存数量对性能影响没有CPU的影响大。通过mbw内存测试工具测试了内存拷贝性能,所有规格虚拟机的内存性能相当。通过iozone磁盘性能测试工具测试发现,不同规格的虚拟机写性能相当,但读性能差异较大,系统盘L/XL/XXL读性能远高于XS/S/M的虚拟机,数据盘XL/XXL读性能远高于XS/S/M/L,由此推测不同规格的虚拟机背后的物理设备可能不同。通过iperf测试了不同虚拟机之间的网络带宽,发现虚拟机规格限制了网络通信的带宽,通信双方中配置较低的虚拟机决定了网络带宽,可能采用了Quantum插件来实现网络带宽限额,最低的XS虚拟机的通信带宽是25M,即复制2G文件需要5-8分钟。 

Hadoop WordCount测试中,S的性能远好于XS,但S以后的各种规格虚拟机性能差异不大。因为WordCount主要是IO密集型的应用,计算时会大量写磁盘操作,所以CPU颗数增加性能不会有太大提升。采用Hadoop集群进行测试(数据副本数等于该类型虚拟机的节点数),随着节点数的增长,性能几乎成线性增长。蒋清野结合之前对盛大云与阿里云的测试结果,建议在公有云上运行IO密集型应用时,可以优先考虑横向扩展,性能会远远优于纵向扩展。 

在pgbench对PostreSQL数据库的性能测试中,单线程测试的结果与unixbench类似;多线程测试中,性能随着规格的提升有所提升,但提升不大。在同样规格的虚拟机上,运行单线程的pgbench,不同的实例间观察到了不同的测试结果,相差接近十倍。分析后发现,两者系统盘IO写性能差距比较大,但读性能比较接近;可能是某些低级配置错误,造成了某些虚拟机的写性能较差。测试所有的20台虚拟机中,有7台存在此类问题,相当于35%的虚拟机有问题。因此,蒋清野不建议现在就把生产系统部署到HP的云上。他总结到:

  • HP的问题不直接与OpenStack有关
  • OpenStack目前仍缺乏生产部署有关的关键性功能
  • 搭建IaaS服务远比安装OpenStack复杂,技术上还存在一些问题
  • 使用开源IaaS软件,起初体验还行,但随后就会遇到一些问题,这时就需要专业的支持与服务,这就是盈利点 

在讨论环节中,听众对台上的众多嘉宾提出了不少问题,开始时问题都集中在盛大云的郭理靖,围绕盛大云之前的物理机故障展开。随后,有人提到对云服务提供商的数据安全问题上,自己的数据是否会被云服务提供商私下查看,大家纷纷表示这是一个信任问题。此外,有人担心自己的云存储卷被卸载后,另一个用户又加载了这个卷,是否能恢复出上面的数据。嘉宾纷纷表示原则上是会对磁盘写0操作,这需要一个过程,该卷被再次使用时,不能确定彻底写0是否完成,但想要恢复其中的数据还是非常困难的。嘉宾们表示安全是相对的,没有绝对的安全,相比本地磁盘,EBS的可靠性和安全性更好。OpenStack中使用RabbitMQ来做消息通信,有人提出在100个节点的规模下,RabbitMQ有出现问题,这时该如何解决?Joe表示SwiftStack使用zeroMQ代替了RabbitMQ;如果要大规模部署,多位嘉宾都建议可以将每个zone作为独立的单元进行部署,各自独立运作,在上层构建另外一套调度系统。(文/杜玉杰 责编/包研)

Posted in 故事.