看一下openstack启动云主机的流程图

通过上图分析可以知道:

1. 用户使用Dashboard或者CLI 把认证信息通过REST请求发送给keystone进行认证。
2. Keystone校验用户发送的认证信息,并且生成/存储/返回认证后的令牌(token),这个令牌被用来向其他组件发送REST请求。
3. Dashboard 和 CLI把“启动云主机”和 “nova-boot”请求转换成REST API请求,并且发送到nova-api。
4. Nova-api收到请求,然后向keystone发送验证令牌和访问权限的请求。
5. Keystone验证令牌并且返回添加了角色和权限的验证信息。
6. Nova-api和数据库交互。
7. 在数据库中创建新云主机的信息。
8. nova-api发送包含云主机ID的rpc.call请求到消息队列,让nova-scheduler从数据库中取得云主机信息。
9. nova-scheduler 从队列中取得请求。
10. nova-scheduler与数据库交互,通过过滤和权重策略,查询合适的主机。
11. 数据库返回合适的宿主机ID(计算节点)
12. nova-scheduler向符合条件的云主机发送“启动云主机”的rpc.cast请求。
13. 对应的nova-compute从队列中取得请求。
14. nova-compute向nova-conductor发送rpc.call请求,需要获得云主机的信息,比如云主机ID和flavor(内存,CPU,硬盘),系统镜像等。
15. nova-conductor 从队列中取得请求。
16. nova-conductor和数据库交互。
17. 数据库返回云主机信息。
18. nova-conductor通过队列向nova-compute返回云主机的信息(内存,CPU,硬盘,系统镜像)。
19. nova-compute发起REST请求,通过发送令牌和镜像ID到glance-api,取得镜像URI。
20. glance-api通过keystone验证令牌。
21. nova-compute获得镜像资源。
22. nova-compute发起REST请求,通过发送令牌和网络信息到Network API,配置云主机网络和IP。(openvswitch-agent)
23. quantum-server(neutron-server)通过keystone验证令牌。
24. nova-compute获得了网络信息。
25. nova-compute发起REST请求,通过发送令牌和卷信息到Volume API,挂载云硬盘。
26. cinder-api通过keystone验证令牌。
27. nova-compute获得了块设备信息。
28. nova-compute生成hypervisor驱动需要的数据,并且向hypervisor(libvirt)发送请求,启动虚拟机。

 

openstack启动云主机的流程的更多相关文章

  1. Openstack新建云主机的流程

    前言 前天晚上没睡觉,所以昨天睡得很早,导致今天4点就起来了 时间是人最宝贵的财富,于是我打消了钻在被子里刷剧的念头,爬起来整理一下在Openstack中新建一个云主机的流程. Openstack可以 ...

  2. Openstack 调整云主机大小失败解决

    Openstack 使用调整openstack云主机大小报错 tailf /var/log/nova/nova-compute.log 2017-02-24 18:21:29.088 28511 ER ...

  3. 数据包从物理网卡流经 Open vSwitch 进入 OpenStack 云主机的流程

    目录 文章目录 目录 前言 数据包从物理网卡进入虚拟机的流程 物理网卡处理 如何将网卡收到的数据写入到内核内存? 中断下半部分软中断处理 数据包在内核态 OvS Bridge(Datapath)中的处 ...

  4. 如何在OpenStack中对云主机类型进行重新配置

    目标:很多用户在OpenStack启动一个虚拟机,选择了一个云主机配置类型,例如2CPU 4GB内存,使用了一段时间,感觉这个配置并不能满足需求,所以希望能够提高配置,那么OpeNStack的管理界面 ...

  5. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建

    公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...

  6. 使用aliyun cli工具快速创建云主机

    参考文档: https://help.aliyun.com/document_detail/25484.html?spm=a2c4g.11186623.3.2.b57vQp 步骤 创建AccessID ...

  7. 【openstack N版】——创建云主机

    一.启动实例 1.1 已准备服务介绍 MySql:为各个服务提供数据存储. RabbitMQ:为各个服务之间通信提供交通枢纽. keystone:为各个服务之间通信提供认证和服务注册. Glance: ...

  8. 【openstack N版】——云主机调整大小\冷迁移

    一.先决条件 云主机冷迁移,即:将一台云主机从一个计算节点上,迁移到另外一个计算节点上.因为环境原因,所以我们需要准备两个计算节点. 1.1准备环境 在控制节点上,安装一个计算节点 #在控制节点安装n ...

  9. OpenStack平台上,linux云主机可以使用xshell连接,但是无法xftp连接

    笔者在OpenStack云平台上创建了CentOS6.6的云主机,用了一段时间后,发现xshell可以连接,但是xftp却连接不上. 于是进行伟大的百度操作,检查网络设置.ssh服务设置等,均正常,否 ...

随机推荐

  1. IHostingEnvironment VS IHostEnvironment - .NET Core 3.0中的废弃类型

    原文: https://andrewlock.net/ihostingenvironment-vs-ihost-environment-obsolete-types-in-net-core-3/ 作者 ...

  2. 洛谷P1028 数的计算 题解 动态规划入门题

    题目链接:https://www.luogu.com.cn/problem/P1028 题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数 \(n\) ): 先输入一个自然数 \(n(n \ ...

  3. SpringBootTest 测试工具

    以下内容,翻译自官方文档,并结合了学习过程的demo. Spring Boot提供了许多实用程序和注解,帮助测试应用程序.测试支持由两个模块提供:spring-boot-test 包含核心项,spri ...

  4. Idea 注册方式,亲测可用

    参考:https://www.cnblogs.com/aacoutlook/p/9036299.html 2018年3月 <License server>方式不能使用了,只好尝试<A ...

  5. C#反射与特性(七):自定义特性以及应用

    目录 1,属性字段的赋值和读值 2,自定义特性和特性查找 2.1 特性规范和自定义特性 2.2 检索特性 3,设计一个数据验证工具 3.1 定义抽象验证特性类 3.2 实现多个自定义验证特性 3.3 ...

  6. LCA - 倍增法去求第几个节点

    You are given a tree (an undirected acyclic connected graph) with N nodes, and edges numbered 1, 2, ...

  7. java 储存机制

    1.栈 statck 局部变量名称 2.堆 heap 带new的 3.方法区 method area .class

  8. redis 5种类型

    redis可以不严谨的看成: redis: { name: value, name: value, } value的数据类型: 1.字典 2.列表 3.字符串 4.集合 5.有序集合 注意: redi ...

  9. Java入门 - 语言基础 - 02.开发环境配置

    原文地址:http://www.work100.net/training/java-environment-setup.html 更多教程:光束云 - 免费课程 开发环境配置 序号 文内章节 视频 1 ...

  10. .net core mysql CodeFirst

    创建两个项目 1.网站 2.Model层 引用DLL Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Design Micros ...