设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

OpenStack在天河二号的大规模部署实践

2014-12-20 21:10| 发布者: joejoe0332| 查看: 4109| 评论: 0|原作者: 李宝 谭郁松|来自: csdn

摘要: OpenStack本身的设计架构赋予其高度的可扩展性,然而在千节点量级的大规模部署中,仍然有许多因素决定了实际实施中需要在整体架构和细节优化上进行多方面的尝试与探索,本期《问底》将走进天河二号千节点级实践。 ...


  基于以上考虑,在实际部署方案中,采用了如下的部署架构:


1. 128个控制节点,包括:

  • 8个nova控制节点:运行nova-api和nova-cells;
  • 8个镜像服务节点:运行glance-*服务;
  • 8个卷服务节点:运行cinder-*服务;
  • 8个网络控制节点:运行neutron-server服务;
  • 16个网络服务节点:运行neutron-*-agent服务;
  • 8个认证服务节点:运行keystone服务;
  • 6个消息队列的节点:,运行Rabbitmq;
  • 6个数据库的节点:运行MySQL;
  • 4个负载均衡节点,采用LVS+Keepalived实现API节点的调度分发与高可用;
  • 2个Horizon节点;
  • 8个ceph 监控节点,运行ceph mon服务;
  • 16个监控节点:为了实现对当前系统状态的监控与报警,还部署了16个节点用作Ganglia和Nagios的服务器端;
  • 其余节点作为备用节点。


  2. 8个Cell的计算节点,每个Cell包含128个节点,包含2个Cell Server节点(运行除nova-api之外的nova-*服务、nova-cells、消息队列和数据库)和126个计算节点,每个计算节点同时运行ceph的osd服务。


大致的部署图如下:


图2 千节点规模部署的拓扑图


性能优化措施

  在系统部署完毕之后,为了适应管理和调度物理节点和虚拟机的需要,需要针对相关的服务进行参数调优,在此给出主要的一些配置。

1. 在多个物理节点上配置各类*-api服务,并进行负载均衡,主要包括nova-api、cinder-api、glance-api等,用于增加请求的响应能力;

2. 为Neutron配置独立的Keystone服务。经观察发现,Neutron需要频繁的认证,为此,为其配置独立的Keystone,但数据库共用,从而保证Keystone的最大并发响应数;

3. 通过开启服务的多进程模式提高响应能力:主要包括两类,一类是设置相关服务配置中的worker的数目,包括Neutron-server中的api_works、nova-api中的osapi_compute_workers、metadata_workers和ec2_workers、nova-conductor中的workers、glance-api和cinder-api中的workers配置项等;第二类是将服务进行Apache托管,使用Apache的多进程机制增加服务能力,主要包括Keystone和Puppet Master两个服务;

4. 服务的性能参数调整,增强每个服务进程的处理能力。


其中Nova涉及到的参数如下:

  • api_rate_limit,将其设置为false,取消限制;
  • 使用较大的数据库连接池:主要包括min_pool_size、max_pool_size和max_overflow等参数;

Neutron涉及到的参数如下: 

  • 使用较大的数据库连接池:主要包括min_pool_size、max_pool_size和max_overflow等参数;
  • agent_down_time:但有数目较多的Agent运行时,允许更多Agent出现故障;

消息队列Rabbitmq涉及到的参数如下:

  • rabbitmqctl set_vm_memory_high_watermark:允许Rabbitmq使用更多内存来响应连接;
  • ulimit -n:设置较大的socket限制以承载更大的负载;
  • 使用Rabbitmq集群机制实现消息队列压力的分摊;

MySQL涉及到的参数如下:

  • max_connections:使用更大的最大连接数;
  • 使用Galera Mysql 集群技术提高MySQL的性能和可用性。

另外一些服务适当的放宽其超时时间设置,防止由于规模过大、节点数多引起的超时导致服务无法响应,主要包括两个参数:

  • neutron_url_timeout:Neutron服务的响应时间限制;
  • rpc_response_timeout:RPC响应时间显示;

最后,在每个节点KVM的配置进行调整,主要包括KSM(重复页去重)、虚拟内存比例调整、使用virtio_blk提高IO性能以及设置I/O的调度策略为Deadline等。


实际运行情况

  在上述的架构和优化下,实现了对共计1152个物理节点的大规模OpenStack的部署。为了验证此部署的能力,使用测试镜像Cirros、以最小配置(1 vCPU、512MB内存)进行启动虚拟机和查询虚拟机的测试。结果显示,能够一次同时启动的虚拟机的数据为5000个左右,且大部分时间耗费在调度上;每秒可以实现1000个虚拟机的查询操作。后续需要根据分析的性能瓶颈进行进一步的探索与优化。


基于OpenStack打造高效安全的企业云服务平台

  在以上部署实践的基础上,天河二号的云平台研发团队深入到OpenStack源代码内部,围绕遇到的问题和需求开发了一系列新特性和大量的Bug修复,并积极反馈给社区。2012年以来团队向社区贡献了大量代码,并在最新的Juno核心组件的代码贡献(commit数目)位居国内第二位。


  同时,围绕着充分发挥天河二号的性能优势、为中小企业提供安全、高可用、弹性的高品质服务这一目标,团队基于OpenStack进行了一系列深入的产品化定制与改造,形成了独立的云服务解决方案KylinCloud─麒麟云平台。麒麟云平台采用互联网自助服务的模式,面向企事业单位提供IaaS和PaaS层的IT服务,希望成为小微企业的IT服务的承载平台,并基于此构建完善的IT服务生态环境。


图3 麒麟云平台的特色之处


  目前,麒麟云平台已经稳定运行在天河二号上,在用户单位的配合与支持下,已经适配了广州市电子政务中心、广州市萝岗区的若干电子政务系统的部署和运行;同时,作为广东省省级教育数据中心的主要资源池,将为各类教育管理系统提供所需的计算和存储资源,已经部署上线了多个信息管理系统;此外,麒麟云平台已经在为几十家中小企业提供服务,如支持企业客户的信息服务托管以及基于互联网的智能销售等行业服务,又如依托天河二号的强大计算能力为动漫产业提供海量的计算资源,目前正在支持华强、红鹏、创意云等多个用户的渲染业务,其中华强高性能渲染虚拟机集群的最大规模达到千个物理节点规模,已经在支撑其生产系统。麒麟云平台在广州市电子政务和华强文化等单位和企业的成功应用已经验证了其基于天河二号提供云服务的可用性、可靠性和可扩展性,为超级计算机系统的应用开拓了一条崭新的途径。


  同时,研发团队也在努力构建面向商用硬件的完整解决方案,面向不同用户、不同应用的需求,提供深度定制、安全、可靠的云服务。此外,麒麟云平台正在与国内著名安全系统解决方案提供商合作,对麒麟云平台的系统安全、平台安全和虚拟机安全进行全方位的定制与增强。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部