文章目录

  • 前言:
  • 一、Nova计算服务基本概念
  • 二、Nova主要功能与工作流程
    • 2.1 Nova 主要功能
    • 2.2 Nova虚拟机创建工作流程图
      • 2.2.1 详细工作流程
  • 三、Nova组件及功能
    • 3.1 主要组件
    • 3.2 其他组件简介

前言:

本篇博客为OpenStack—Nova组件基础理论,之后会持续更新其他组件理论部分

一、Nova计算服务基本概念

  • Nova主要负责计算资源的模块,同时支持、处理openstack云中的实例生命周期的所有活动,这样使得nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。
  • nova服务是由多个子服务构成,子服务是通过RPC(远程过程调用)实现通信。服务之间有很松的耦合性。
  • PS 解耦耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。 解耦就是用数学方法将两种运动分离开来处理问题,常用解耦方法就是忽略或简化对所研究问题影响较小的一种运动,只分析主要的运动。

二、Nova主要功能与工作流程

2.1 Nova 主要功能
  • ① 实现实例的生命周期的管理
  • ② 调动管理平台的网络、存储等资源
  • ③ 支持KVM、VMware等同名的hypervisor(虚拟机监视器)
  • ④ hypervisor 提供软件来管理虚拟机对底层硬件的访问
  • ⑤ 异步的一致性通信
2.2 Nova虚拟机创建工作流程图

2.2.1 详细工作流程
  • 请求nova boot --image ttylinux --flavor 1 i-01
  • 接收nova-api 接受请求(tcp REST请求)
  • nova-api 发送一个创建虚拟机的请求到消息队列,并会存储到数据库,产生uuid.
  • nova-scheduler 接受到请求后进行过滤,调度器会根据请求的虚拟资源,即flavor的信息,选择出最优的计算节点A(装有nova-computer的物理主机)
  • nova-scheduler发送消息到nova-network,进入下一步(配置网络),此过程虚拟机处于scheduling任务状态。
  • nova-network 接收到消息后,从fixed IP表(数据库)里拿出一个可用IP,设置dnsmsq(DHCP server),确保此IP可以与生成的MAC地址对应
  • nova-network对fixed IP 进行地址转换,使虚拟机可以访问外网
  • network设置完成后,nova-network发消息到消息队列,scheduler选择的计算节点服务器A会收到创建虚拟机的消息
  • 计算节点A接收到消息后,开始创建虚拟机,首先会从glance上下载镜像,然后会根据之前生成的uuid、MAC,镜像位置、创建一个启动虚拟机的xml文件,同时调用libvirt接口,根据xml配置创建虚拟机,
  • 虚拟机创建完后,把虚拟机状态改成ACTIVE
  • 以上,虚拟机发布完成

三、Nova组件及功能

3.1 主要组件
  • nova-api

    HTTP服务,对内接收处理客户端发送的HTTP请求 对外提供一个云基础设施的接口,也是外部可用于管理基础设施的唯一组件

  • nova-scheduler

    ① 在接收到一个来自消息队列的创建虚拟机实例请求时,根据配置从计算节点集群中选择最优节点,并将请求转给该节点,最终将虚拟机部署创建在该节点上,类似于负载均衡

    ② Nova-Scheduler服务将根据负载,内存,可用域的物理距离,CPU架构等信息,并运行调度算法,最终做出调度决策,同时负责Nova主机选择,提供决策,配置在contron下的noca.conf中

    ③ /Contron/nova.conf中配置:

    scheduler_default_filter默认的过滤器

    scheduler_avavilable_filter 可用的过滤器

    ④ 工作在逻辑控制层

  • nova-compute

    nova-compute是一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理虚拟机实例的生命周期

    上层发来的请求通过compute去管理虚拟化组件,kvm、qemu去创建虚拟机实例,通过 Hypervisor 的 API来创建 和销毁虚拟机

  • nova-network daemon

    安装在compute节点上,功能与nova-compute类似,管理IPtables规则和网卡

  • nova-conductor

    RPC(远程过程调用)服务,主要提供数据查询功能

    工作于Nova-Compute服务与数据库之间,避免了Nova-Compute服务对云数据库的直接访问,但是,不能将它部署在运行Nova-Compute服务的主机节点上

  • Nova-api-metadata

    接收来自虚拟机发送的源数据请求,一般在安装Nova-Network 服务的所主机模式下使用

  • Nova-placement-api

    用于追踪记录资源提供者目录和资源使用情况,这些资源包括计算,存储以及IP地址池等。

3.2 其他组件简介
  • nova-consoleauth daemon

    身份验证的一个进程,用户的授权令牌.

    Noca-consoleauth 守护进程,由用户的console控制台代理提供授权tokens,两种模式nova-novncproxy和nova-xvpnvcproxy

  • nova-novncproxy daemon

    通过vnc(虚拟网络控制台)连接来访问运行的虚拟机实例的代理。

  • nova client

    是指使用 Neutron服务的应用程序,可以是命令行工具(脚本)、 Horizon( OpenStack图形操作界面)和Nova计算服务等

  • the queue

    消息队列rabbitmq。进程之间传递消息的中心

  • sql database

    数据库(默认使用 Maria DB)用于存放 OpenStack的网络状态信息、包括网络、子网端口、路由器等等

  • Nova-conductor——数据库访问代理

    负载均衡,可扩展性高

    防止计算节点直接访问数据库

OpenStack----Nova 计算服务器基础理论(持续更新)相关推荐

  1. HCIA-Intelligent Computing 华为认证智能计算高级工程师(持续更新中5%)

    HCIA-Intelligent Computing 华为认证智能计算高级工程师 智能计算HCIA概述 考试范围 1. 计算产业概述 2. 计算系统架构概述 2.1 处理器芯片概述 2.2 服务器软硬 ...

  2. OpenStack Nova计算服务管理(四)

    作者:李晓辉 联系方式: Xiaohui_li@foxmail.com 环境介绍 类型 控制节点和计算节点等在一起,形成all-in-one 内存 8G 硬盘 200G 网卡 2块 计算服务概览 使用 ...

  3. 财务管理计算题(持续更新)

    一.设备更新 1.某公司有一台设备,购置成本为 15 万元,预计可使用 10 年,已使用 年,残值为购置成本的 10%,该公司采用直线法计提折旧.现该公司拟购买新设备替换原设备,新设备购置成本 20 ...

  4. OpenStack Nova 计算节点的维护模式

    目录 文章目录 目录 维护模式 Set/Unset Maintenance Mode Using the OpenStack CLI 维护模式 在以下场景中,我们会考虑进入维护模式: 硬件替换或升级. ...

  5. 陈硕多线程服务器编程--持续更新

    1.https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html C++中voliate关键字,多线程共享变量用voliat ...

  6. (四)浅谈OpenStack T版服务组件--Nova计算服务(#^.^#)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.Nova简介 1.Nova的概念 2.Nova系统架构 二.Nova组件详解 1.Nova--API 2.Nova--S ...

  7. OpenStack精华问答 | NOVA计算服务

    自诞生以来,OpenStack 似乎一直被质疑,其背后最重要的两大推手 NASA 和 Rackspace 都弃它而去,惠普.思科接连宣布关闭基于 OpenStack 的公有云服务,但是,OpenSta ...

  8. OpenStack Victoria版——6.2计算节点-Nova计算服务组件

    6.2计算节点-Nova计算服务组件 更多步骤:OpenStack Victoria版安装部署系列教程 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 Ope ...

  9. OpenStack入门以及一些资料之(零,nova计算)

    最近看了些OpenStack的代码,深感自己还有很多不足,于是便想起了之前读过的华为孔令贤的csdn博客(原地址,现已迁移到github,地址),花费了一些时间通读了一遍,获益颇多,在这里整理并记录一 ...

最新文章

  1. 上下布局:上部分高度自己撑起,下部分高度占满剩下的全部
  2. matlab编程选择语句,matlab编程控制语句
  3. (chap6 Http首部) 传输方式的分类
  4. 【AWSL】之Linux引导过程及服务控制(MBR、GRUB、runlevel、systemcl、init、ntsysv、chkconfig)
  5. Android开发之修改项目的仓库地址亲测有效
  6. Git工作原理及功能结构
  7. 掌握神经网络,入门深度学习
  8. linux qt应用程序全屏,QT中MDI应用程序中更改子窗口大小或是全屏显示子窗口的方法...
  9. XsdGen:通过自定义Attribute与反射自动生成XSD
  10. 更新卡住解决_iPhone手机无法正常下载/安装应用的解决方法
  11. Java模板引擎 FreeMarker介绍1
  12. 在微型计算机中1G标准等于,微型计算机的基础知识概要.ppt
  13. Windows server 2008下查找 w3wp.exe对应的Appoolid
  14. 三菱a系列motion软体_三菱MDSDMSPV3系列连接接口说明
  15. 第09章节-Python3.5-Django目录详解 8
  16. u8、u16、u32、s8、s16、s32、Size_t是什么类型?
  17. day07【Collection、泛型、数据结构】
  18. android 获取视频编码,Android视频编码
  19. Python之绘制七段数码管
  20. 如何才能高效的学习,99%的人不知道的高效学习法

热门文章

  1. 中科磐云 隐写术应用
  2. 《让时间陪你慢慢变富》读书笔记
  3. PS · class 5
  4. 用java写一个超级详细的二手拍卖系统并附带代码注释
  5. 开发工具篇第九讲:菜鸟入坑指南
  6. 歌谱子计算机,计算机歌曲谱大全数字 | 手游网游页游攻略大全
  7. nlp-情感分类-研究
  8. iOS-账号密码自动填充与添加
  9. 数学:开区间(open)和闭区间(closed)的含义
  10. UI设计师必备技能是什么 常见动效类型有哪些