基于以上考虑,在实际部署方案中,采用了如下的部署架构: 1. 128个控制节点,包括:
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涉及到的参数如下:
Neutron涉及到的参数如下:
消息队列Rabbitmq涉及到的参数如下:
MySQL涉及到的参数如下:
另外一些服务适当的放宽其超时时间设置,防止由于规模过大、节点数多引起的超时导致服务无法响应,主要包括两个参数:
最后,在每个节点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 麒麟云平台的特色之处 目前,麒麟云平台已经稳定运行在天河二号上,在用户单位的配合与支持下,已经适配了广州市电子政务中心、广州市萝岗区的若干电子政务系统的部署和运行;同时,作为广东省省级教育数据中心的主要资源池,将为各类教育管理系统提供所需的计算和存储资源,已经部署上线了多个信息管理系统;此外,麒麟云平台已经在为几十家中小企业提供服务,如支持企业客户的信息服务托管以及基于互联网的智能销售等行业服务,又如依托天河二号的强大计算能力为动漫产业提供海量的计算资源,目前正在支持华强、红鹏、创意云等多个用户的渲染业务,其中华强高性能渲染虚拟机集群的最大规模达到千个物理节点规模,已经在支撑其生产系统。麒麟云平台在广州市电子政务和华强文化等单位和企业的成功应用已经验证了其基于天河二号提供云服务的可用性、可靠性和可扩展性,为超级计算机系统的应用开拓了一条崭新的途径。 同时,研发团队也在努力构建面向商用硬件的完整解决方案,面向不同用户、不同应用的需求,提供深度定制、安全、可靠的云服务。此外,麒麟云平台正在与国内著名安全系统解决方案提供商合作,对麒麟云平台的系统安全、平台安全和虚拟机安全进行全方位的定制与增强。 |