`
lynnkong
  • 浏览: 301454 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

【OpenStack】G版中关于Nova的Cell

阅读更多

本博客欢迎转发,但请保留原作者(新浪微博:@孔令贤HW;博客地址:http://blog.csdn.net/lynn_kong)信息!内容系本人学习、研究和总结,如有雷同,实属荣幸!

 

更新记录:
2013.3.7  新增关于AZ,Aggregate,Cell概念的手绘图

1      目标

1. 为了增加横向扩展以及分布式,大规模(地理位置级别)部署能力,但又不增加数据库和消息中间件的复杂度
2.
cell调度和主机调度隔离

2      简介

我们都熟悉Amazon EC2,他有一些基本概念:
》一个地理区域(Region)包含多个可用区域(Availability Zone)
Availability Zone相互之间物理隔离,一个Availability Zone的故障不会影响其他的使用
》客户端连接Region
》创建VM时,如果没有指定Availability Zone,调度算法会从Region中选择一个
》相反,如果指定了Availability Zone,则在其上创建VM

OpenStack
B版就基于Amazon的这种概念实现了Availability Zone。然后,又出现了Zone的概念:
》一个Zone就是一套独立的Nova部署环境
Zone之间无共享,相互隔离
D版,当出现Keystone之后,Zone的概念就被废弃掉了

而在G版,重新提出了”Cell”的概念,Cell之间的通信的可信的,基于AMQP协议。概括如下:
》每一个Cell中拥有独立的DBAMQP broker
》引入新的nova-cell服务
    -
消息路由
    -
调度(与主机调度不同,子Cell通过定时刷新将自己能力和资源上报给父Cell)
cell之间通信通过RPC
cells之间是树状结构
    -
顶层是API cell,不感知底层物理主机以及虚拟化
    -
cellnova-api服务
    -
cellquota概念(NoopQuota)

3      服务部署


 
API cell节点要部署nova-api对外提供统一服务,nova-cell负责与子cell之间通信;子cell节点统一要部署nova-cell,如果子cell直接接入虚拟化层,则还要部署nova-schedulernova-compute。消息通信如下:

上图是三个cell级联的情况,其中API Cell收到请求后,通过nova-cell提供的调度算法,通过消息队列将消息转发到Child Cell节点,在Child Cell节点做与API Cell同样的工作,选择一个Grandchild Cell并继续转发,在Grandchild节点上做真正的主机调度工作,选择主机创建虚拟机。

上面的情况下,Grandchild Cell需要将自己连接的资源信息定时上报给Child Cell以提供调度功能使用,同样Child Cell也要自己知道的资源信息上报给API Cell使用,这样,每层调度时只需拿自己掌握的资源信息即可,实现每层解耦。

4      配置

从目前的实现来看,在nova.conf中要提供几个配置项:
enable
:是否启用cell功能
name
:当前节点的cell名称
capabilities
:自定义的键值对信息(目前尚未使用)
此外,要配置每个cell节点的compute_api_classquota_driver,例如在API Cell节点需要配置:
compute_api_class=nova.compute.cells_api.ComputeCellsAPI
[cells]
name=api
enable=true
而在child cell节点,需要配置(compute_api_class默认配置为nova.compute.api.API)
quota_driver=nova.quota.NoopQuotaDriver
[cells]
enable=true
name=cell1

在使用前,还需要配置一些信息以便让cell之间相互识别并规定各自的角色,谁是谁的parent,谁是谁的child。因为cell之间通过AMQP协议通信,因此只需配置相互的AMQP信息即可。假如我们有三个cell,其中一个为parent cell(名称为api),其他两个为child cell(名称分别为cell1cell2)。则在parent cell节点上执行:
> nova-manage cell create --name=cell1 --cell_type=child --username=cell1_user --password=cell1_passwd --hostname=10.0.1.10 --port=5673 --virtual_host=cell1_vhost --woffset=1.0 --wscale=1.0
> nova-manage cell create --name=cell2 --cell_type=child --username=cell2_user --password=cell2_passwd --hostname=10.0.2.10 --port=5673 --virtual_host=cell2_vhost --woffset=1.0 --wscale=1.0
而在两个child cell节点上,分别执行:
> nova-manage cell create --name=api --cell_type=parent --username=api1_user --password=api1_passwd --hostname=10.0.0.10 --port=5672 --virtual_host=api_vhost --woffset=1.0 --wscale=1.0

5      关于Zone,Aggregate,Cell


 

  • 大小: 24.4 KB
  • 大小: 229.5 KB
  • 大小: 879.3 KB
分享到:
评论

相关推荐

    OpenStack云计算平台管理(nova-compute/network)三

    在OpenStack中,nova-compute和network是两个至关重要的组件,它们分别负责计算资源管理和网络服务的配置。本课程将深入探讨这两个组件的功能、工作原理以及如何在实际环境中进行操作。 首先,我们来看nova-compute...

    OpenStack之计算服务(Nova)

    Nova的组件架构包括nova-scheduler、nova-api、nova-compute、nova-conductor等模块,而Nova的单元管理模式则是将OpenStack中的计算节点分成若干小单元进行管理,每个单元又是若干计算节点的集合。

    OpenStack源码分析-NOVA

    OpenStack源码分析,学习nova的好材料

    openstack-nova计算节点一键安装脚本_openstack-nova_openstack_

    OpenStack Nova是OpenStack云平台的核心组件之一,主要负责虚拟机实例的生命周期管理,包括创建、启动、停止、迁移等操作。本篇将详细介绍如何使用OpenStack-Nova计算节点的一键安装脚本来快速搭建和配置环境。 ...

    openstack nova源码分析

    1. **Instance**:Nova中的实例表示虚拟机,相关操作如创建、删除、暂停、恢复等都围绕实例对象进行。 2. **ComputeManager**:在`nova.compute.manager`中,是Nova-compute服务的核心,负责处理实例的生命周期管理...

    OpenStack云计算平台管理(nova-compute/network)六

    本课程聚焦于OpenStack中的两个关键组件:Nova(计算服务)和Neutron(网络服务),这是OpenStack架构中的核心部分。 Nova是OpenStack的计算服务,负责处理虚拟机实例的生命周期。它提供了创建、删除、暂停、恢复和...

    openstack-nova

    5. **Nova Network**:虽然在较新的OpenStack版本中已被Neutron取代,但在旧版本中,Nova Network负责网络配置,如分配IP地址、设置网络路由等。在现代OpenStack部署中,网络功能通常由Neutron服务独立处理。 6. **...

    Openstack M版安装

    手动安装openstack Mitaka版

    OPENSTACK 计算 (Compute) - Nova源码

    在`nova-icehouse-eol`这个版本中,我们指的是OpenStack的Icehouse发布版,该版本于2014年4月发布,已经达到了生命周期的结束(EOL),意味着不再接收官方的安全更新和技术支持。尽管如此,对于学习和理解OpenStack ...

    OpenStack云计算平台管理(nova-compute/network)四

    这个课程是openstack入门课程,重点放在openstack的部署和网络部分

    OpenStack云计算平台管理(nova-compute/network)五

    这个课程是openstack入门课程,重点放在openstack的部署和网络部分

    OpenStack云计算平台管理(nova-compute/network)二

    在OpenStack中,Nova是核心计算服务,负责虚拟机实例的生命周期管理,而Neutron则专注于网络服务,为虚拟机提供灵活的网络配置。本课程将深入讲解这两个关键组件的管理和操作。 Nova,作为OpenStack的计算服务,是...

    Openstack F版本源码安装

    1. **环境准备**:确保你的系统满足OpenStack的硬件和软件需求,通常需要Linux发行版如Ubuntu或CentOS,并安装必要的依赖库。还需要配置好Python环境,因为OpenStack大部分服务是用Python编写的。 2. **获取源代码*...

    ThinkCloud OpenStack基础版技术白皮书.pdf

    联想ThinkCloud OpenStack基础版是一款基于OpenStack开源云平台的企业级解决方案,旨在为企业构建高效、稳定、易管理的私有云环境。这份技术白皮书详细介绍了联想在OpenStack基础上开发的产品特性,以及如何满足现代...

    openstack nova配置

    openstack nova配置全部文档 官方提供 按照步骤一步步安装 能用

    nova源码+无标注+OpenStack社区下载

    在OpenStack社区下载的nova源码中,你可以深入了解这个开源云计算平台如何处理IaaS(基础设施即服务)的需求。下面将详细探讨Nova的相关知识点。 一、Nova架构 Nova采用微服务架构,由多个服务组成,如nova-api、...

    openstack 中文

    压缩包子文件的文件名称"OpenStack实战"可能是一本关于OpenStack实际操作的中文书籍,作者可能是V. K. Cody Bumgardner,出版日期为2017年5月,页数为328页。这本书可能涵盖了OpenStack的安装、配置、管理和优化,...

    OpenStack组件Nova.zip

    Nova 是 OpenStack 组件,它提供一个云计算网络控制器,支持大量的虚拟机技术,包括 KVM、Xen、LXC、VMware 等。除了本地的 API,它还兼容常遇到的 Amazon EC2 和 S3 APIs。Nova 主要由一组 Python 守护进程组成,...

    OpenStack云计算平台管理(nova-compute/network)一

    这个课程是openstack入门课程,重点放在openstack的部署和网络部分

Global site tag (gtag.js) - Google Analytics