CERN:欧洲核子研究组织

本文根据以下几篇文章整理而来:

1. 系统

(1)系统规模

  • 2015 年是 5000个计算节点,16000 个在运行的虚机

  • 2016年2月是 5500 个计算节点,半年期间计算节点增加了 500 个,虚机增加了1000个

  • 左边是当前正在运行的虚机的数量 16000 个,右边是被创建过的虚机的累计数量,超过 25 M。

(2)CERN 使用的 OpenStack 版本保持持续更新,基本上是延迟一个社区版本

(3)2015 年的总体结构:一个 region,2 个数据中心,26 个 Cell,全部使用 nova-network

在 2016 年2月,已经增长到了 33 个 Cell,而且在其中一个 Cell 中使用了 Neutron。

(4)Nova 系统架构

  • 使用 nova-cell

  • 每个 Child Cell 有不同的 Use cases

  • 为什么要使用 Cell?因为不同的用户有不同的需求,因此,在每个 Child Cell 内部,可以使用不同的配置,包括 nova scheduler 等;Cell 还有助于缩小故障发生时候的影响域。
  • Cell V1 的局限性
  • Nova-cell 系统架构:两级 Cell 结构。只在 Nova Top Cell Controller 上使用 HA,在 Child Cell controller 上不使用HA。
 
  • 每个 Child Cell 大概 200 个计算节点
  • CERN 自己开发了 Cell 调度器
  • 如果将特定 project 的虚机调度到特定的 Child cell 上
  • 如何结合 Cell 使用 AZ
  • 在 2013 年的时候,只使用了一个 Cell,考虑到:(1)Nova Cell 的调度机制非常弱,只能随机调度,(2)想使用 host aggregate功能 (3)不能跨Cell 做 live migration。但是最后发现非常难于管理。
 
  • 随后他们就将其拆分为 9 个 Child cell
 
 
  • Nova 做 block live migration 遇到的问题

  • Nova kilo 版本与 Python 2.6 不兼容

(5)网络架构

  • CERN 使用基于 nova-network 的 网络分段技术

  • CERN 自己开发了一个 Network driver

  • 他们已经对 Neutron 做了大量的测试,已经在计划迁移(到2016年2月他们已经在一个Child cell 中使用 Neutron)

(6)Keystone

使用两个不同的 Keystone。Ceilometer 需要调用大量的 API,因此给它们一个专有的Keystone,免得影响用户使用 Keystone。

(7)Glance

Glance 服务运行在虚机中。之前,Glance registry 可以被别的 Glance API 使用,但是,这导致难于定位问题,因此,现在的 Glance registry 只和本地的 Glance API 通信。但是,Glance 不支持分 Project 设置 Quota,这对他们很重要。

(8)Cinder

使用了 3个 backend,两个 Ceph,一个 NetApp。目前没有 Ceph Cinder driver for hyper-v,所以他们使用了 NetApp,被 Hyper-V 虚机使用。

 

(9)Ceilometer

两套Ceilometer 基础 设施。一个保存 sample,meters 等,用于统计,数据保存在 Hbase 中,数据保存3个月。之前用 MogoDB,但是难于扩展。
另一个用于 alarming,它将 CPU sample 保存在 MongoDB 中,只保存几个小时。如果不分开的话,查询 alarming 非常慢。

 

(10)Rally

不仅用于 benchmarking 测试,还用于 FVT。

(11)新的挑战

2. 简单分析

2.1 CERN 对 Nova Cell 的看法

对大规模的部署,Nova Cell 有几个优势:

  • 能够保持对用户只有单端点可见(single endpoint to users)
  • 能够增加基础架构的可用性和弹性(increase the availability and resilience of the Infrastructure)
  • 能够避免超出 Nova 和其它外部模块(比如 DB,MQ 等)的上限 (avoid that Nova and external components (DBs, message brokers) reach their limits)
  • 能够隔离不同用户 (isolate different user cases)

但是,Cell 目前还是有不少的局限,如下的功能不能和 Nova Cell 一起使用:

  • Security Groups;
  • Manage aggregates on Top Cell;
  • Availability Zone support;
  • Server groups;
  • Cell scheduler limited functionality;

2.2 本人的一点看法

  • 使用现有的 OpenStack 来支持 5000 个计算节点,那是非常牛的事情!这可能是目前最大的 OpenStack 生产系统私有云部署规模。
  • 计算扩展性方面,使用 Nova cell 是一个解决方案,但是目前它的 V1 版本已经被冻结,V2 还在开发中,因此,要使用的话,需要做大量的开发和问题定位;而且,它还存在大量的局限性。
  • 网络扩展性方面,Neutron 的扩展性和稳定性依然问题很大,CERN 也在一步步尝试,期待他们使用 Neutron 的心得
  • 存储扩展性方面,Ceph 居然能做到支撑 30PB 的数据量,这也是非常非常牛的事情!
  • Ceilometer 扩展性方面,以及性能和开销等方面,默认情况下依然问题很大,CERN 做出了改进的非常好的示范
  • 谢谢 CERN 团队的超强工作和无私分享

超千个节点OpenStack私有云案例(1):CERN 5000+ 计算节点私有云的更多相关文章

  1. 政务私有云盘系统建设的工具 – Mobox私有云盘

    序言 这几年,智慧政务已经成为了政府行业IT建设发展的重要进程.传统办公方式信息传递速度慢.共享程度低.查询利用难,早已成为政府机关获取和利用信息的严重制约因素.建立文档分享共用机制,加强数据整合,避 ...

  2. 四种方案:将OpenStack私有云部署到Hadoop MapReduce环境中

    摘要:OpenStack与Hadoop被誉为继Linux之后最有可能获得巨大成功的开源项目.这二者如何结合成为更猛的新方案?业内给出两种答案:Hadoop跑在OpenStack上或OpenStack部 ...

  3. CentOS7安装OpenStack(Rocky版)-05.安装一个nova计算节点实例

    上一篇文章分享了控制节点的nova计算服务的安装方法,在实际生产环境中,计算节点通常会安装一些单独的节点提供服务,本文分享单独的nova计算节点的安装方法 ----------------  完美的分 ...

  4. openstack Q版部署-----nova服务配置-计算节点(6)

    一.服务安装(计算节点) 安装软件: yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容: [DEFAULT] e ...

  5. S1_搭建分布式OpenStack集群_07 nova服务配置 (计算节点)

    一.服务安装(计算节点)安装软件:# yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容:# vim /etc/n ...

  6. openstack私有云布署实践【13.2 网络Neutron-compute节点配置(办公网环境)】

    所有compute节点 下载安装组件   # yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset -y ...

  7. openstack私有云布署实践【13.1 网络Neutron-compute节点配置(科兴环境)】

    所有kxcompute节点 下载安装组件   # yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset ...

  8. openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  9. openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

随机推荐

  1. ASP.NET Core 之 Identity 入门(一)

    前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库,负责对用户的身份进行认证,总体来说的话,没有MVC 5 里面那么复杂,因为在MVC 5里面引入了OW ...

  2. Tomcat shutdown执行后无法退出进程问题排查及解决

    问题定位及排查 上周无意中调试程序在Linux上ps -ef|grep tomcat发现有许多tomcat的进程,当时因为没有影响系统运行就没当回事.而且我内心总觉得这可能是tomcat像nginx一 ...

  3. 再谈C#采集,一个绕过高强度安全验证的采集方案?方案很Low,慎入

    说起采集,其实我是个外行,以前拔过阿里巴巴的客户数据,在我博客的文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子) 中,介绍过采集用的工具,其实很Low的,分析 ...

  4. SQL Server-聚焦在视图和UDF中使用SCHEMABINDING(二十六)

    前言 上一节我们讨论了视图中的一些限制以及建议等,这节我们讲讲关于在UDF和视图中使用SCHEMABINDING的问题,简短的内容,深入的理解,Always to review the basics. ...

  5. 理解nodejs模块的scope

    描述 原文档地址:https://docs.npmjs.com/misc/scope 所有npm模块都有name,有的模块的name还有scope.scope的命名规则和name差不多,同样不能有ur ...

  6. Linux常用命令操作

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  7. 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)

    在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...

  8. CSS知识总结(九)

    CSS常用样式 10.自定义动画 1)关键帧(keyframes) 被称为关键帧,其类似于Flash中的关键帧. 在CSS3中其主要以“@keyframes”开头,后面紧跟着是动画名称加上一对花括号“ ...

  9. VSCode调试go语言出现:exec: "gcc": executable file not found in %PATH%

    1.问题描述 由于安装VS15 Preview 5,搞的系统由重新安装一次:在用vscdoe编译go语言时,出现以下问题: # odbcexec: "gcc": executabl ...

  10. 我大中华微软MVP中国区人才库

    刘海峰:国内知名微软开源技术网站51Aspx 创始人,十年以上的Asp.net从业经验,微软MSDN特约讲师.Teched讲师.ImagineCup大赛评委.人大出版社研修班特约讲师,曾多次受邀访问美 ...