精华内容
下载资源
问答
  • Nova

    2021-04-12 19:18:55
    Nova组件由Nova-API,Nova-scheduler,Nova-conductor,Nova-compute以及提供消息传递的消息队列(message queue)和数据裤模块(database)组成 Nova-API:主要提供了统一风格的REST-API接口,作为Nova组件的入口,...

    1、架构
    在这里插入图片描述
    Nova组件由Nova-API,Nova-scheduler,Nova-conductor,Nova-compute以及提供消息传递的消息队列(message queue)和数据裤模块(database)组成

    Nova-API:主要提供了统一风格的REST-API接口,作为Nova组件的入口,接受用户的请求

    Nova-scheduler:负责调度将实例分配到具体的计算结点

    Nova-conductor:主要负责与Nova数据库进行交互

    Nova-compute: Nova-compute的结点运行在计算节点上,用于虚拟机实例的创建和管理

    message queue:主要用于Nova各个组件之间的消息传递

    2、Nova各个组件是如何协作运行的?
    在这里插入图片描述

    首先当用户通过CLI或Horizon 向Nova组件提出创建实例的请求时,

    Nova-API作为Nova的入口,将会接受用户的请求,然后以消息队列的方式,将请求发送给Nova-scheduler,

    Nova-scheduler从消息队列中侦听到Nova-API的消息后,去数据库中去查询当前计算结点的负载和使用情况,

    由于Nova-scheduler不能直接跟数据库进行交互,因此会借助于消息队列的方式,通过Nova-conductor组件进而与数据库进行交互,最后根据查询到的结果,将虚拟机实例分配到当前负载最小并且满足启动虚拟机实例的那个计算节点上

    当然实际实例的创建起停工作并不是由Nova-scheduler来完成,Nova-scheduler的主要功能是实现实例的调度分配工作,

    最终实例的创建还是需要调用另外一个组件Nova-compute来完成,

    当然实例的创建也离不开镜像、网络、存储等等一些资源的配合,因此Nova-compute组件将会于Nova-valume,Nova-network等等一些组件,通过消息队列的方式实现相互的协作,最终完成虚拟机实例的创建。

    以上即是整个Nova组件结合虚拟机创建的完整过程。

    3、Nova功能特性
    在这里插入图片描述
    其实Nova组件主要提供了:

    实例生命周期的管理;

    调动管理平台的网络、存储等资源;

    同时提供了统一风格的RestAPI接口;

    支持KVM等透明的Hypervisor;

    各个模块之间通过消息队列实现消息的相互传递。

    展开全文
  • nova

    2016-04-10 10:06:00
    http://docs.openstack.org/developer/nova/ http://docs.openstack.org/developer/nova/architecture.html http://docs.openstack.org/developer/nova/rpc.html http://krystism.is-programmer...


    http://docs.openstack.org/developer/nova/

    http://docs.openstack.org/developer/nova/architecture.html

    http://docs.openstack.org/developer/nova/rpc.html


    http://krystism.is-programmer.com/posts/64410.html

    http://www.aboutyun.com/thread-5237-1-1.html


    http://www.slideshare.net/JinhoShin3/openstack-nova-44336113?qid=b0404981-45c0-4d35-a890-7e806ed049d3&v=&b=&from_search=5

    一 Nova在openstack中的位置


    二 Nova架构图


    三 Nova核心模块


    Controller:

    Nova-api

    Nova-scheduler

    Nova-conductor

    Nova-consoleauth

    Nova-novncproxy

    Nova-cert

    Compute:

    Nova-compute

    Client:

    Nova-client

    Nova-manage


    转载于:https://www.cnblogs.com/double12gzh/p/10166188.html

    展开全文
  • #适用于Laravel NovaNova网格系统 安装 您可以通过composer安装此软件包: composer require codenco-dev/nova-grid-system 然后,您将需要在NovaServiceProvider.php中注册该工具: use CodencoDev\...
  • laravel nova

    2020-11-12 10:57:37
    Nova 是一个 Composer 扩展包,你可以在已有的 Laravel 5.6 应用中安装它,这意味着你无需重新开始就可以将它集成到已有的项目中,听起来很赞,当然现在也有很多其他第三方实现的后台管理面板扩展包可供使用,比如...
  • nova:Nova编程语言-源码

    2021-03-07 02:29:37
    Nova编程语言 Nova是一种正在进行的类C语言的系统编程语言。 Nova项目的主要目标是通过创建一个有据可查的编译器和标准库,对和其他人进行语言设计和编译器编写过程的教育。 注意:此Nova项目处于开发的早期阶段,...
  • nova-ecs:Nova ECS的简化版本
  • 华为MATE40 主板 Main schematic.pdf nova5 nova6 nova7原理图电路图位号图
  • 华为Nova7原理图nova7 青春版原理图
  • nova, OpenStack计算机( Nova ) 团队和知识库标签 NovaOpenStack Nova提供云计算 fabric 控制器,支持多种计算技术,包括: libvirt ( KVM,Xen,LXC等),Hyper-V,VMware,XenServer,OpenStack
  • nova服务

    2021-04-21 14:23:59
    Nova计算服务—真正管理虚拟机 nova-api 整个部门的引导,所有请求都是由nova-api安排,管理虚拟机的生命周期。 nova cert 管理证书认证 nova compute(多个节点) 真正管理虚拟机(nova-compute调用libvirt) nova-...

    Nova计算服务—真正管理虚拟机

    nova-api

    整个部门的引导,所有请求都是由nova-api安排,管理虚拟机的生命周期。

    nova cert

    管理证书认证

    nova compute(多个节点)

    真正管理虚拟机(nova-compute调用libvirt)

    nova-scheduler

    调度器,选出最合适的compute节点去创建虚拟机

    nova-conductor

    帮助nova-compute代理修改数据库中的虚拟机状态 —与数据库连接
    (不需要配置数据库的连接信息)

    nova-network

    早期用来管理虚拟网络,独立出去成立neutron服务

    nova-consoleauth

    分配vnc客户端的密码 ,实现控制台界面

    nova vncproxy

    web版的vnc客户端

    nova-api-metadata

    接受来自虚拟机的元数据请求(配合neutron来实现虚拟机的定制化操作–无需手动配置一些基本信息如ip)

    展开全文
  • Nova理论

    2020-12-23 15:48:58
    一.Nova计算服务 二.Nova组件介绍 逻辑架构图 1.Nova-api 2.Nova-scheduler 3.nova-compute 4.nova-conductor 5.Hypervisor 6.DB 7.Network 三.工作流程 工作流程图 工作过程 一.Nova计算服务 计算...

    目录

    一.Nova计算服务

    二.Nova组件介绍

    逻辑架构图

    1.Nova-api

    2.Nova-scheduler(调度器)

    3.nova-compute

    4.nova-conductor

    5.Hypervisor

    6.DB

    7.Network

    三.Nova调度器

    1.调度器类型

    2.过滤器调度器调度过程

    3.过滤器

    4.Nova 的 Cell 架构

    四.工作流程

    工作流程图

     工作过程



    一.Nova计算服务

    • 计算服务是openstack最核心的服务之一,负责维护和管理云环境的计算资源,它在openstack项目中代号是nova。
    • Nova自身并没有提供任何虚拟化能力,它提供计算服务,使用不同的虚拟化驱动来与底层支持的Hypervisor(虚拟机管理器)进行交互。所有的计算实例虚拟服务器)由Nova进行生命周期的调度管理(启动、挂起、停止、删除等) 全局来看,Nova提供了虚拟化的资源/技术服务层面,nova本身不具备虚拟化能力,computer与虚拟化技术交互/调用资源
    • Nova需要keystone、glance、neutron、cinder和swift等其他服务的支持,能与这些服务集成,实现如加密磁盘、裸金属计算实例等。Nova会和其他组件集成,共同提供/完成一项需求/请求
       

    二.Nova组件介绍

    逻辑架构图

    1.Nova-api

    • API是客户访问nova的http接口,它由nova-api服务实现,nova-api服务接收和响应来自最终用户的计算api请求。作为openstack对外服务的最主要接口, nova-api提供了一个集中的可以查询所有api的端点。
    • 所有对nova的请求都首先由nova-api处理。API提供REST标准调用服务,便于与第三方系统集成。
    • 最终用户不会直接改送RESTful API请求,而是通过openstack命令行、dashbord和其他需要跟nova交换的组件来使用这些API。
       
    • API:用于接收HTTP请求、转换命令、通过消息队列或HTTP与其他组件通信的nova组件。
       

    2.Nova-scheduler(调度器)

    • 负责选择虚拟机的宿主机,决定虚拟机创建在哪个主机(计算节点)上,创建 Instance 时,用户会提出资源需求,例如 CPU、内存、磁盘各需要多少。OpenStack 将这些需求定义在实列类型中,用户只需要指定用哪个实列类型就可以了
    • 分两步:先过滤(过滤有条件的主机,比如cpu 等资源不足的被过滤掉),再计算权重(比如A主机有2台虚拟机,B主机有4台,那么就在A上创建,当然有很多算法,也可以自定义计算权重的算法)

    3.nova-compute

    • nova-compute 是管理虚机的核心服务,在计算节点上运行。通过调用Hypervisor API实现节点上的 instance的生命周期管理。 OpenStack 对 instance 的操作,最后都是交给 nova-compute 来完成的。
    • nova-compute 与 Hypervisor 一起实现 OpenStack 对 instance 生命周期的管理。
    • 通过Driver架构支持多种Hypervisor
    • Hypervisor是计算节点上跑的虚拟化管理程序,虚机管理最底层的程序。 不同虚拟化技术提供自己的 Hypervisor。 常用的 Hypervisor 有 KVM,Xen, VMWare 等。nova-compute 为这些 Hypervisor 定义了统一的接口,Hypervisor 只需要实现这些接口,就可以 Driver 的形式即插即用到 OpenStack 系统中

    4.nova-conductor

    • 负责数据库的访问权限控制,用于计算节点访问数据库的中间件(为了安全nova其他服务访问数据库统一通过此服务访问),避免nova-compute直接访问数据库
    • nova-compute 经常需要更新数据库,比如更新虚机的状态。 出于安全性和伸缩性的考虑,nova-compute 并不会直接访问数据库,而是将这个任务委托给 nova-conductor。

    5.Hypervisor

    计算节点上跑的虚拟化管理程序,虚机管理最底层的程序。不同虚拟化技术提供自己的 Hypervisor。 常用的 Hypervisor 有 KVM,Xen,VMWare 等。

    6.DB

    用于数据存储的sqI数据库。

    7.Network

    管理lP转发、网桥或虚拟局域网的nova网络组件。

    三.Nova调度器

    1.调度器类型

    调度器类型 调度规则
    随机调度器(chance scheduler) 从所有正常运行nova-compute服务的节点中随机选择。
    过滤器调度器(filter scheduler) 根据指定的过滤条件以及权重选择最佳的计算节点。Filter又称为筛选器
    缓存调度器(caching scheduler) 可看作随机调度器的一种特殊类型,在随机调度的基础上将主机资源信息缓存在本地内存中,然后通过后台的定时任务定时从数据库中获取最新的主机资源信息。

    2.过滤器调度器调度过程

    主要分二个阶段

    • 通过指定的过滤器选择满足条件的计算节点,比如内存使用率小于50%,可以使用多个过滤器依次进行过滤。
    • 对过滤之后的主机列表进行权重计算并排序,选择最优的计算节点来创建虚拟机实例。

    3.过滤器

    当过滤调度器需要执行调度操作时,会让过滤器对计算节点进行判断,返回True或False。
    letc/nova/nova.conf配置文件中
    scheduler_available_filters选项用于配置可用过滤器,默认是所有nova自带的过滤器都可以用于过滤作用
    Scheduler_available_filters = nova.scheduler.filters.all_filters
    另外还有一个选项scheduler_default_filters用于指定nova-scheduler服务真正使用的过滤器。
    过滤调度器将按照列表中的顺序依次过滤。

    • RetryFilter(再审过滤器)

    主要作用是过滤掉之前已经调度过的节点。如A、B、C都通过了过滤,A权重最大被选中执行操作,由于某种原因,操作在A上失败了。Nova-filter将重新执行过滤操作,那么此时A就被会RetryFilter直接排除,以免再次失败

    • AvailabilityZoneFilter (可用区域过滤器)。

    为提高容灾性并提供隔离服务,可以将计算节点划分到不同的可用区域中。Openstack默认有一个命名为nova的可用区域,所有的计算节点初始是放在nova区域中的。用户可以根据需要创建自己的一个可用区域。创建实例时,需要指定将实例部署在哪个可用区域中。Nova-scheduler执行过滤操作时,会使用AvailabilityZoneFilter不属于指定可用区域计算节点过滤掉

    • RamFilter(内存过滤器)

    根据可用内存来调度虚拟机创建,将不能满足实例类型内存需求的计算节点过滤掉,但为了提高系统资源利用率,Openstack在计算节点的可用内存时允许超过实际内存大小,超过的程度是通过nova.conf配置文件中
    ram_allocation_ratio参数来控制的,默认值是1.5。
    vi letc/nova/nova.conf
    Ram_allocation_ratio=1.5

    • DiskFilter(硬盘调度器)

    根据磁盘空间来调度虚拟机创建,将不能满足类型磁盘需求的计算节点过滤掉。磁盘同样允许超量,超量值可修改nova.conf中disk_allocation_ratio参数控制,默认值是1.0
    vi /etc/nova/nova.confdisk_allocation_ratio=1.0

    • CoreFilter(核心过滤器)

    根据可用CPU核心来调度虚拟机创建,将不能满足实例类型vCPU需求的计算节点过滤掉。vCPU也允许超量,超量值是通过修改nova.conf中
    cpu_allocation_ratio参数控制,默认值是16。
    vi /etc/nova/nova.conf
    cpu_allocation_ratio=16.0

    • ComputeFilter(计算过滤器)

    保证只有nova-compute服务正常工作的计算节点才能被nova-scheduler调度,它是必选的过滤器。

    • lmagePropertiesFilter(镜像属性过滤器)

    根据所选镜像的属性来筛选匹配的计算节点。通过元数据来指定其属性。如希望镜像只运行在KVM的Hypervisor上,可以通过Hypervisor Type属性来指定。

    • ComputeCapablilitiesFilter(计算能力过滤器)

    根据计算节点的特性来过滤,如x86_64和ARM架构的不同节点,要将实例分别进行过滤

    • lmagePropertiesFilter(镜像属性过滤器)

    根据所选镜像的属性来筛选匹配的计算节点。通过元数据来指定其属性。如希望镜像只运行在KVM的Hypervisor上,可以通过Hypervisor Type属性来指定。

    • 服务器组反亲和过滤器

    出于高可靠性考虑,将实例尽量分散部署到不同节点上

    • 服务器组亲和过滤器

    与反亲和性过滤器相反,此过滤器尽量将实例部署到同一个计算节点上
     

    权重过滤

    权重(weight)
    nova-scheduler服务可以使用多个过滤器依次进行过滤,过滤之后的节点再通过计算权重选出能够部署实例的节点。
    注意:
    所有权重位于novalschedulerlweights目录下。目前默认实现是RAMweighter,根据计算节点空闲的内存量计算权重值,空闲越多,权重越大,实例将被部署到当前空闲内存最多的计算节点上

    4.Nova 的 Cell 架构

           

     

    原理:在不影响现有的openstack云环境的前提下,解决openstack的扩展性和规模瓶颈。主要是把计算节点分为更多个更小的单元,每一个单元都有自己的数据库和消息队列。

    API节点上的数据库

    • nova_api数据库中存放全局信息,这些全局数据表是从nova库迁过来的,如flavor (实例模型)、instance groups(实例组). quota(配额)。
    • nova cell0数据库的模式与nova一样,,主要用途就是当实例调度失败时,实例的信息不属于任何一个Cell,因而存放到nova cell0数据库中。

    控制台接口

    • 首先用户(可以是OpenStack最终用户,也可以是其他程序)执行Nova Client提供的用于创建虚拟机的命令。
    • nova-api服务监听到来自于Nova Client的HTTP请求,并将这些请求转换为AMQP消息之后加入消息队列。
    • 通过消息队列调用nova-conductor服务。
    • nova-conductor服务从消息队列中接收到虚拟机实例化请求消息后,进行一些准备工作。nova-conductor服务通过消息队列告诉nova-scheduler服务去选择一个合适的计算节点来创建虚拟机,此时nova-scheduler会读取数据库的内容。
    • nova-conductor服务从nova-scheduler服务得到了合适的将计算节点的信息后,在通过消息队列来通知nova-compute服务实现虚拟机的创建。

    虚拟机实例化流程
    用户可以通过多种方式访问虚拟机的控制台

    • Nova-novncproxy守护进程:通过vnc连接访问正在运行的实例提供一个代理,支持浏览器novnc客户端。
    • Nova-spicehtml5proxy守护进程:通过spice连接访问正在运行的实例提供一个代理,支持基于html5浏览器的客户端。
    • Nova-xvpvncproxy守护进程:通过vnc连接访问正在运行的实例提供一个代理,支持openstack专用的java客户端。
    • Nova-consoleauth守护进程:负责对访问虚拟机控制台提供用
    • 户令牌认证。这个服务必须与控制台代理程序共同使用。

    原生nova架构
    每个组件都会精细化的控制/执行具体的工作
    1、nova-api会把任务发送给conductor子功能模块
    2、conductor 协调,会去做具体的协调工作,比如让scheduler去决定实例存放的位置、让具体的计算节点上的compute去创建虚拟机
    3、scheduler :通过获取DB数据库中的节点资源信息等资源,去做过滤,筛选出最合适的计算节点来创建虚拟机
    4、compute:控制实例生命周期(通过使用不同虚拟化驱动和vMM进行交互/调用资源)5、DB数据库:存放nova组件的各种资源、存放后端节点的资源信息,共给scheduler6、MQ:消息队列,作为组件之间交互的载体,每个组件都会去做具体的交互、操作。

    单cell (扩大的DB数据库的规模)


    特性:主要对原生架构中的DB数据库扩大了规模/精细化的划分DB-—->API数据库、cell0数据库、cell数据库
    与原生架构不同的点:
    1、这个时候,conductor 工作反而会更多了一点,因为除了需要自己去控制scheduler和compute之外,还需要将这些过程/结果信息,写入到cell数据库中
    2、nova-api在获取一个请求的结果的时候,可以直接从APr数据库和CELL数据库中获取

    多cell (扩大了DB数据库、消息队列、conductor)


    cell的特性是每个cell单元都会有自己的数据库、消息队列和conductor

    1、DB数据库做了更精细化的分层
    由API数据库作为总的资源统计
    由各CELL单元统计对应处理的请求的数据(存放在cell单元本地数据库中)
    2、消息队列(打大规模)分层
    nova组件内部子服务之间通讯会由API-rabbitmq进行承载(cell外部)每个cell单元中,获取任务会由一个cell-rabbitmq进行承载(cell内部)
    3、conductor
    原生架构中,conductor负责具体任务的调度加入cell之后,conductor进行了分层
    父conductor角色:控制任务具体分配给哪个cell进行处理conductor :进行具体的处理和协调
     

    四.工作流程

    工作流程图

     工作过程

    • nova-api 接受请求,一个tcp REST请求.
    • nova-api 发送一个创建虚拟机的请求到消息队列,并会存数据库,带uuid.
    • nova-scheduler 接受这个消息,并进行过滤,根据请求的虚拟资源,即flavor的信息.
    • scheduler会找到一个可用的主机(装有nova-compute的物理主机),如果没有找到就虚拟机的状态设置成ERROR,如果有可用主机,就发消息到nova-network,就进入下一步,配置网络,注:此过程虚拟机处于scheduling任务状态。
    • nova-network 接收到消息就从fixed IP表(数据库)里拿出一个可用IP,并设置dnsmsq(DHCP server),确保拿出的IP可以与对应的MAC地址(生成的)对应,确保虚拟机可以被赋予对应的IP设置IPTABLE.
    • 对fixed IP 进行地址转换,使虚拟机可以访问外网,设置好network之后,会发消息到消息队列,使要在其上创建虚拟机的物理计算节点就收到创建虚拟机的消息;
    • 计算节点接收到消息后,就开始创建虚拟机,首先会download镜像从glance上,然后会根据之前生成的uuid,MAC,镜像位置,
    • 创建一个启动虚拟机的xml文件,然后会调用libvirt接口,根据xml配置创建虚拟机,
    • 虚拟机创建完成之后,会把虚拟机状态改成ACTIVE
    • 至此,一台虚拟机发布完

     

    展开全文
  • espinosa-nova-pro Espinosa Nova Pro for LaTeX
  • 新病毒 Vim的Nova配色方案插件 变数 nova-vim可以配置以下变量: # configure transparent background let g:nova_transparent = 1 贡献 见 更多信息 有关更多信息,请参见。
  • Nova详解

    2019-10-18 14:42:30
    文章目录简单说说NovaNova基本架构前台:nova-api经理:nova-scheduler外勤:nova-compute后勤:nova-conductor实例创建具体流程 简单说说Nova Nova是OpenStack最为核心的服务,负责管理OpenStack平台的计算资源,...
  • 华为NOVA4E NOVA4 NOVA3I NOVA3E NOVA3刷机降级解锁教程 华为帐号锁帐户锁密码忘记怎么解锁?华为NOVA4E NOVA4 NOVA3I NOVA3E NOVA3刷机降级解锁教程 华为帐号锁帐户锁密码忘记怎么解锁?华为NOVA4E NOVA4 NOVA3I NOVA...
  • Nova 1.1.8开始,此功能已被采用为核心。您应该升级Nova并改用该过滤器。 Laravel Nova的日期过滤器 显示日期选择器而不是选择项的Nova过滤器。 演示版 安装 在您的nova项目中运行以下命令: composer require 64...
  • awesome-laravel-nova:Laravel Nova资源的精选列表
  • nova部署

    2021-01-04 19:30:21
    create database nova_api; Query OK, 1 row affected (0.002 sec) MariaDB [(none)]> create database nova; Query OK, 1 row affected (0.001 sec) MariaDB [(none)]> create database nova_cell0; Query...
  • 目标: 1)弄清楚nova组件通过packstack安装后源码位置 ...nova: /usr/bin/nova /etc/nova /usr/share/nova /usr/share/man/man1/nova.1.gz 1 确定nova组件代码位置 [root@localhost site-packages]# cd /us.
  • nova简介

    2019-09-27 17:35:35
    OpenStack云中实例(instances)生命周期的所有活动都由Nova处理。 这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。 但是,Nova自身并没有提供任何虚拟化能力,相反它使用libvirt API来...
  • Nova API Nova API 的执行过程 novaclient 将 Commands 转换为标准的HTTP请求 PasteDeploy 将 HTTP 请求路由到具体的 WSGI Application Routes 将 HTTP 请求路由到具体的操作函数并执行Nova APINova API 是访问、...
  • Nova部署

    2019-10-13 16:24:21
    一、nova介绍: Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源。OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的。 用途与功能 : 实例生命周期管理 ...
  • nova.web-源码

    2021-02-07 20:31:07
    docker run -p 4201:80 --name nova-web nova/nova-web:latest 运行云映像 docker build -f Dockerfile.cloud . -t nova/nova-web-cloud docker run -p 4202:80 --name nova-web-cloud nova/nova-web-cloud:latest
  • 根据报错得知 是Nova服务下的scheduler启动失败,对应的看下scheduler的日志是哪里出现问题, 查看/var/log/nova/nova-scheduler.log日志,(其他模块对应/var/log/nova/目录下对应名称) 可以看到报错信息 2021-03-...
  • Nova介绍

    2019-04-09 20:56:15
    Nova介绍 Nova是OpenStack中的计算组织控制器,管理OpenStack云中实例的生命周期的所有活动,使Nova成为一个负责管理计算资源、网络、认证所需的可扩展性平台。 常用术语 KVM 内核虚拟化,OpenStack默认的...
  • Nova Links-crx插件

    2021-04-02 06:19:59
    语言:English 检测并导航Nova链接 Laravel Nova的浏览器伴随扩展。 提供导航到Nova资源的简便方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,534
精华内容 5,413
关键字:

Nova