openstack nova工作流程
工作流程
请求:nova boot --image ttylinux --flavor 1 i-01
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
至此,一台虚拟机发布完成
openstack nova工作流程的更多相关文章
- OpenStack各组件逻辑关系、通信部署关系及工作流程
一. OpenStack组件之间的逻辑关系 OpenStack 是一个不断发展的系统,所以 OpenStack 的架构是演进的,举个例子: E 版本有5个组件 Compute 是 Nova:Imag ...
- OpenStack Nova启动实例流程
1.概述 启动一个新的实例,会涉及到OpenStack Nova中的多个组件: API服务器,接收用户端的请求,并且将其传递给云控制器. 云控制器,处理计算节点.网络控制器.API服务器和调度器之前的 ...
- Ansible工作流程详解
1:Ansible的使用者 ------>Ansible的使用者来源于多种维度,(1):CMDB(Configuration Management Database,配置管理数据库),CMDB存 ...
- How to use the ZooKeeper driver for ServiceGroup in OpenStack Nova
ServiceGroup APIs Nova会从ServiceGroup API 中查询节点的存活信息. ServiceGroup API 工作流程是: 当一个compute worker (runn ...
- OpenStack Nova
OpenStack Nova 简介 OpenStack 中的 Nova 负责维护和管理云环境的计算资源 Nova 在现有 Linux 服务器上作为一组守护线程来提供服务 Nova 由多个服务器进程组成 ...
- OpenStack Nova Release(Rocky to Train)
目录 文章目录 目录 前言 演进方向 Cellv2 更新 Rocky Support disabling a cell Stein Handling a down cell Train Count q ...
- Openstack Nova 源码分析 — 使用 VCDriver 创建 VMware Instance
目录 目录 前言 流程图 nova-compute vCenter 前言 在上一篇Openstack Nova 源码分析 - Create instances (nova-conductor阶段)中, ...
- Openstack Nova 源码分析 — Create instances (nova-conductor阶段)
目录 目录 前言 Instance Flavor Instance Status Virt Driver Resource Tracker nova-conductor Create Instance ...
- struts2工作流程
struts2的框架结构图 工作流程 1.客户端请求一个HttpServletRequest的请求,如在浏览器中输入http://localhost: 8080/bookcode/Reg.action ...
随机推荐
- 从Java小白到收获BAT等offer,分享我这两年的经验和感悟
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...
- Apache-Flink深度解析-State
摘要: 实际问题 在流计算场景中,数据会源源不断的流入Apache Flink系统,每条数据进入Apache Flink系统都会触发计算.如果我们想进行一个Count聚合计算,那么每次触发计算是将历史 ...
- linux命令-awk入门
最近经常查看nginx日志,有时候需要做一些统计分析,于是就想起了awk,学习了就顺便做一个记录. 目录 概述:简单介绍awk背景原理 基本用法:常用到的awk语法 内建变量 综合实例 概述 awk是 ...
- js 日期格式 转换 yyyy-MM-dd
之前js获取到数据库的Date,总是显示成: 后来知道是js 的Date 格式不能直接转换常用的yyyy-MM-dd 的格式 Date.prototype.yyyymmdd = function () ...
- 【整理】WDK 和 DDK异同
WDK和DDK的作用 开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发 WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WIND ...
- Linux常用命令之网络和关机重启命令
目录 1.网络命令 一.给指定用户发送信息:write 二.给所有用户发送广播信息:wall 三.测试网络连通性:ping 四.查看和设置网卡信息:ifconfig 五.查看发送电子邮件:mail 六 ...
- 一篇文章让你成为 NIO 大师 - MyCAT通信模型
这篇文章没有详细介绍 NIO 的概念,对于 NIO 不了解的同学,可根据自己需要,阅读这篇介绍 NIO 的博客 io.mycat.net.NIOAcceptor NIOAcceptor负责处理客 ...
- vs javascript intellisence失效
前些天写js的时候发现vs的提示都没了...纳闷但是没去了解原因. 今天实在是受不了了. 网上搜了一下,看到msdn文档上一句话,“通过使用 reference 指令,Visual Studio 能够 ...
- 翻译:group_concat()函数(已提交到MariaDB官方手册)
本文为mariadb官方手册:group_concat()函数的译文. 原文:https://mariadb.com/kb/en/group_concat/ 我提交到MariaDB官方手册的译文:ht ...
- Mybatis的SqlSession运行原理
前言 SqlSession是Mybatis最重要的构建之一,可以简单的认为Mybatis一系列的配置目的是生成类似 JDBC生成的Connection对象的SqlSession对象,这样才能与数据库开 ...