OpenStack Nova虚拟机创建流程解析】的更多相关文章

https://yikun.github.io/2017/09/27/OpenStack-Nova%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%88%9B%E5%BB%BA%E6%B5%81%E7%A8%8B%E8%A7%A3%E6%9E%90/ 1. 概述 Nova是OpenStack中处理计算业务(虚拟机.裸机.容器)的组件,整体的虚拟机创建流程自然是学习和熟悉Nova组件的第一步.本篇文章主要基于OpenStack Pike版本,基于最新的Cell v2架构部署为例,来介绍…
这篇博文静静的呆在草稿箱大半年了.假设不是由于某些原因被问到,以及由于忽略它而导致的损失,否则我也不知道什么时候会将它完毕.感谢这段时间经历的挫折,让我知道不足.希望你能给我更大的决心! 本文试图具体地描写叙述openstack创建虚拟机的完整过程.从用户发起请求到虚拟机成功执行,包含client请求的发出.keystone身份验证.nova-api接收请求.nova-scheduler调度.nova-computer创建.nova-network分配网络.对于每个模块在创建虚拟机的过程中所负责…
preface 在上一章节中,我们可以在无web管理界面上创建并启动虚拟机,虽然可以这么做,但是敲命令太繁琐,所以此时我们可以安装openstack web管理界面,通过web界面的图形化操作openstack,更加方便的使用openstack. Horizon简介 提供一个web界面操作openstack的系统. 使用Django框架基于Openstack API 开发 支持Session存储在DB.Memcached. 支持集群. 动手安装 由于Horizon也要依赖于apache等web服…
续上一篇Openstack安装配置 一,keystone交互认证阶段 1,发送用户名和密码给keystone认证获取token 2,带着token访问nova-api 3,nova-api使用token去keystone认证验证token有效性 二,nova组件交互阶段 4,往数据库写入虚拟机信息 5,把请求放入消息队列 6,nova scheduler监听消息队列 7,nova scheduler连接数据库查询计算节点并进行调度选择一个nova compute来创建虚拟机 8,nova com…
前言: 当neutron-server创建了port信息,将port信息写入数据库中.流程返回到nova服务端,接着nova创建的流程继续走.在计算节点中neutron-agent同样要完成很多的工作来支持主机的通信. 简要流程: 详细代码分析: spawn()作用: 准备磁盘信息 获取镜像的获取路径 准备启动xml文件 创建主机和网络,调用create_domain_and_network()函数获取网络信息. 准备启动xml文件的过程稍后有详细分析. create_domin_and_net…
前言: 在openstack的学习当中有一说法就是网络占学习时间的百分之七十.这个说法或许有夸大的成分,但不可否认的是openstack中的 网络是及其重要的部分,并且难度也是相当大.试图通过nova创建虚拟机过程中nova和neutron服务交互的过程来学习openstack网络. 写个学习笔记,整理思路. 版本信息: openstack版本:Newton linux系统:ubuntu1604-server 简要流程: nova在创建虚拟机时会向neutron请求ip和mac地址等port信息…
1.概述 启动一个新的实例,会涉及到OpenStack Nova中的多个组件: API服务器,接收用户端的请求,并且将其传递给云控制器. 云控制器,处理计算节点.网络控制器.API服务器和调度器之前的通信. 调度器,选择一个执行命令的主机. 计算节点,管理计算实例:启动/终止实例,添加/删除卷- 网络控制器,管理网络资源:分配固定IP地址,配置VLAN 启动一个实例的流程如下:API服务器收到用户的run_instance命令,API服务器将消息传递给云控制器(1):对用户进行身份验证:云控制器…
配置说明 首先介绍一下配置结构: xml配置遵循<keyword> xxxxxx </keyword>的格式,即一个配置段以<keyword>开头,以</keyword>结尾: 那么可知整个虚拟机的xml格式,为包在<domain></domain>配置段之间的一段配置,即: domain配置段 <domain type='qemu' xmlns:qemu='http://libvirt.org/schemas/domain/q…
前言: 当nova服务发送了创建port的restful调用信息之后,在neutron服务中有相应的处理函数来处理调用.根据restful的工作原理,是按照 paste.ini文件中配置好的流程去处理该条调用.本节从neutron代码中的create_port()函数开始说起. 简要流程: 下面是调用的流程图.  详细代码: 以上是简要流程图,下面是具体的代码分析. create_port() 功能: 调用create_port_db()函数产生port数据. 更新安全组 绑定port _cre…
还是先上图吧,无图无真相 别以为真懂Openstack!先别着急骂我,我也没有说我真懂Openstack 我其实很想弄懂Openstack,然而从哪里下手呢?作为程序员,第一个想法当然是代码,Code Talks,什么都可以忽悠,代码是实实在在的,何况原来也深入读过Lucene, Hadoop的源代码,总以为从代码下手,背后的原理变了然了. 说干就干,我喜欢读取代码的方式是按照情景阅读,比如在Lucene中跟踪索引的过程,跟踪搜索的过程,比如在Hadoop中,跟踪写入文件的过程,跟踪Map-Re…