返回 登录
-208

OpenStack:持续创新,永无止境

阅读330

9月初,云计算开源产业联盟、中国信息通信研究院共同发布首批通过可信云私有云开源解决方案认证的七个厂家。此次参评的解决方案主要聚焦在OpenStack技术架构,表明了国内产业联盟及科研组织对OpenStack在私有云建设中大规模应用的支持,同时也对厂商在OpenStack的创新开发进行了认可。10月,OpenStack基金会发布最新的Newton版本,在Newton代码贡献中,共23家中国企业上榜,贡献覆盖在新项目,用户体验,部署等各个方面。可以说每隔些许时间都会有关于OpenStack的技术更新信息,OpenStack在众人的关注下,正保持着高速的持续创新和发展。

云计算发展至今,从开始CloudStack、OpenNebula、Eucalyptus、OpenStack等开源软件争艳到OpenStack事实成为开放云计算的标准框架,OpenStack用户群也在慢慢增大,从国外的AT&T、eBay、PayPal、沃尔玛到国内的中国移动、国家电网等都陆续在生产环境中使用OpenStack。社区OpenStack的基础模块稳定性在不断增强,同时新模块和新功能在不停增多,反复迭代会造成新的稳定性问题,社区OpenStack提供了一个很好的技术框架,但毕竟技术到产品化、商用化还是有距离,目前OpenStack Open bugs 16000+,每个版本周期都要fix数千个bug,bug fix是长期持续的工作。

考虑到在生产环境下商用,厂商需先打造一个稳定的基础产品平台,然后在此之上进行功能模块的创新和叠加,内部可搭建稳定性测试环境,基于脚本模拟真实用户,长时间不中断进行不同规格云主机的创建/删除、网络创建/删除,磁盘创建/删除等操作,测试过程中不停的回归bug fix,直到可以保持100%的成功率。

基于稳定性之上,OpenStack社区也在不断优化用户体验。如发布的Newton版本中重点提升OpenStack作为单一云平台对虚拟机、裸机、容器的管理外,同样注重了细节体验。如Horizon可以检查可用的网络IP,取代了允许用户随意设置的属性;用户可以创建无IP地址的虚拟机,方便在以后做一些复杂操作。多数厂商也改进了原生Dashboard的界面风格,支持了分页,资源排序;在云主机这块,有些基于Cloud-Init和qga(qemu-guest-agent)实现了设置修改用户名/密码、监控操作;在镜像方面,支持挂载ISO虚拟光驱/云光驱等更多选择;同时一些厂商也在基于Metadata开发定义更多新特性,如叠加安装应用等。这些小功能的开发,给用户带来了很好的操作体验。

同时社区在不断提升高可用性,如在控制节点上对无状态API及内部组件通过HAProxy提供调度实现HA,RabbitMQ 部署Cluster(A/A),MySQL部署Galera Cluster(A/A),HAProxy自身通过Pacemaker/Keepalived实现HA。针对Neutron HA方案,逐步从社区Juno版开始引入了VRRP/Keepalived和DVR方案,Mitaka版又进行了增强,支持了DVR SNAT上的HA功能。源于对虚机如Cattle的理念,社区版OpenStack 是不支持虚机HA的,但在国内IT环境下,很多行业用户不分基础架构部和应用部,由应用部自行保障业务高可用的理念会受到局限,因此厂商也可基于Evacuate结合Watchdog技术,开发实现主机及虚机的HA。同时也看到了有些厂商创新开发了基于主机管理网/存储网/业务网故障,虚机可选择是否进行疏散。

在资源管理上,OpenStack社区维系着开放的生态,参与公司和人员在逐年增加,随着VMware和Google等公司陆续加入,总体朝着对多云、多Hypervisor、多厂商设备资源纳管在发展。在社区Mitaka版本中与亚马逊EC2的合作,实现了初步的混合云,版本包含了一个EC2-API项目解决资源不足时将请求分发到公有云;也增加了新的Cinder驱动,可以将云硬盘备份到Google云存储中。在与传统企业用户接触中,涉及较多的资源管理需求主要包括两方面,物理主机和异构Hypervisor资源。

对于Hypervisor纳管,特别是VMware资源池纳管一直是用户关注的重点。基本思路可以通过对接VMware vCenter/NSX/VDS等组件,实现统一纳管KVM和VMware资源池。做到新建VMware虚机的生命周期管理,网络管理,存储管理,实现统一门户和认证管理,在界面上可以选择在KVM或者ESXi池中创建虚机资源,同时实现KVM和VMware资源池的互通。对于新建VMware资源实现纳管后,还需考虑如何管理vCenter中已创建的VMware的虚机资源,这就需要厂商对现有VMware接口及管理技术进行深入研究分析,提供将存量VMware资源 import OpenStack的一整套流程,从而实现在OpenStack中像管理KVM资源一样管理vCenter中创建的VMware资源。

对于重型业务如Oracle、Hadoop等,众多用户依然采用Bare metal部署,社区也有独立的Ironic项目进行支持,可对Bare metal设备进行启动、关闭,安装操作系统等基础操作。Newton版对Ironic进行了增强,支持了Bare metal 添加多租户网络,这样就真正实现了Bare metal设备和虚机近似的操作和管理。同时也可以考虑结合Ironic和Sahara项目,将Hadoop集群便捷的部署在物理机上。

OpenStack的部署在不断简化和完善,社区OpenStack丰富了大量文档的同时,在Big Tent模式下也引入Fuel这样的自动化部署工具,各厂商也都开发有自己的部署工具或者脚本,现在部署一套OpenStack平台已经不算难事,这也对厂商提出更高要求,架构设计上能够结合用户一些需求,做到优化。如针对一个用户项目上,考虑到社区独立部署Neutron网络节点,在性能扩展和单点故障等问题,而DVR路径长,排错复杂。可以考虑基于每个计算节点分布部署L3 Agent,类似multi-host模式,通过调度算法(如ChanceScheduler、LeastRoutersScheduler等)结合vRouter的HA,将vRouter均衡的分布在不同的L3 Agent物理节点上,关于L3调度算法,可以进行持续优化。通过此类优化部署,节省了网络节点的成本,扩大了部署规模,实现了流量分担。

另外,在云计算项目交付中,上层运营平台和运维平台也不可或缺。如审批、计费、监控运维等,社区也在积极推动,如在Big Tent模式下出现的CloudKitty就旨在解决IaaS层计费,但这两个平台的建设更多的还需要厂商或用户进行实现。如我们的一个客户,拥有北京、上海、香港三地中心,280余台服务器,生产集群有4000+个触发器,18000+个监控项目,这样的环境对自动化运维平台提出了高的要求。这就需要深度调研用户需求,整合联动Ansible、Cobbler、Zabbix、ELKstack等工具开发一套可商用的自动化运维产品,来帮助运维人员实现可视化,自动化的应用程序部署,备份,更新和启停。同时对于具备研发能力的用户而言,可以开发联动Gerrit、Jekins,OpenStack等组件,实现CI/CD(持续集成/持续交付)方案,达成云应用的开发、打包、封装、发布、交付完整生命周期管理目标。

OpenStack发展到现在,已经不仅仅是一个独立的基础设施平台,而是本着创新、合作的思路朝着更广阔未来发展。也希望国内的一些一线厂商将稳定性作为产品之基石,在用户体验上同样进行了增强和创新,不断简化和完善OpenStack部署,作为开源技术之间协同努力的一部分,为下一代云计算框架注入新能量,提供更多的应用支持,同时社区也在新增像Trove、Sahara、Murano、Mistral、Tacker等项目,相信通过生态的持续创新,定会给用户业务和新型应用带来价值。

作者简介:江锴,8年多云计算和网络经验,擅长为企业用户设计部署云计算整体方案,对OpenStack和网络虚拟化有深入研究。现任职云途腾解决方案架构师,负责云计算产品及方案规划。

评论