openstack启动云主机的流程

看一下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)发送请求,启动虚拟机。

时间: 2024-09-30 19:54:12

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

Openstack创建云主机的流程-小小白(linuxzkq)

博主自从之前换了工作到现在,因为工作太忙的原因,已经好久没有更新博客了,深表歉意,还望大家理解...... 今天正好有点时间,整理下Openstack创建云主机的流程,大神勿喷. 一.流程图 二.虚拟机创建流程如下 客户(用户)端通过命令行CLI或Dashboard Horizon使用自己的用户名密码请求认证组件keystone进行用户的验证: keystone通过查询在keystone的数据库user表中是否存在user的相关信息,包括password加密后的hash值,并返回一个token_

Openstack新建云主机的流程

前言 前天晚上没睡觉,所以昨天睡得很早,导致今天4点就起来了 时间是人最宝贵的财富,于是我打消了钻在被子里刷剧的念头,爬起来整理一下在Openstack中新建一个云主机的流程. Openstack可以让你在登录dashboard之后只需要点一下"创建主机"的按钮,选择相应配置,在几十秒内就可以创建好一台云主机供你使用,这么牛逼的事情是怎么做到的呢? 别着急,听我跟你慢慢道来 新建一个云主机流程总览图 图中流程-1 首先你访问dashboard之后,显示的是一个登录页面,人家horizo

openstack迁移云主机总汇 其二(云主机冷迁移)

2冷迁移 冷迁移有两种方式: 一种方式只能在同一个openstack集群中做,另一种可以再相同或者不同的集群中做 在做冷迁移之前记得把要迁移的实例关机 2.1方法1 把主机名为YUN-19上的实例迁移到YUN-20上,两个节点在同一个集群中,其中YUN-19是控制节点 2.1.1在YUN-19上,修改数据库 (修改数据库必须要在控制节点上做) # mysql mysql> use nova; mysql> update instances set host='YUN-20' where hos

openstack迁移云主机总汇其一(云主机热迁移)

openstack迁移总汇 目录 1 热迁移之block-migration 1.1 查看物理主机CPU 1.2 修改hosts文件 1.3 开启热迁移 1.4 修改防火墙 1.5 virsh测试是否可以连通对端机器 1.5.1 方法1 1.5.2 方法2 1.6 迁移情况 1.7 下面的作为参考 1.7.1 主机 1.7.2 各节点之间nova账号无密码访问 1.7.3 可选操作 1.8 注意事项 1.8.1 事项1 1.8.2 事项2 2 冷迁移 2.1 方法1 2.1.1 在YUN-19上

AWS云主机使用流程

1.注册一个AWS账号,申请使用免费一年的AWS服务然后在X宝上面买一个AWS信用卡账号及密码填入 2.在验证电话里面输入你的四位数字 3.进入控制面板,选择EC2,使用默认的地区(右上角的美国西部俄勒冈或者加利福利) 4.安装ubuntu14.04LTS PV(在最下面) 5.使用默认的收费标准Mirco(ti.micro) (Free tier eligible) (切勿选择其它!) 6.创建KEY,下载到本地 7.启动 注意事项:putty登录

openstack 调整云主机大小

######在主控制节点和所有的计算机节点做ssh认证 [ ! -f sshkey_tool.sh ] && wget https://files.cnblogs.com/files/blog-lhong/sshkey_tool.sh bash sshkey_tool.sh node171 root ess.com1 bash sshkey_tool.sh node172 root ess.com1 bash sshkey_tool.sh node173 root ess.com1 bas

Openstack liberty源码分析 之 云主机的启动过程3

接上篇Openstack liberty源码分析 之 云主机的启动过程2, 简单回顾下:nova-conductor收到nova-scheduler返回的主机列表后,依次发送异步rpc请求给目标主机的nova-compute服务,下面继续来看nova-compute服务的处理过程: nova-compute 根据路由映射,nova-compute中处理云主机启动请求的方法为 nova/compute/manager.py.ComputeManager.py.build_and_run_insta

Openstack liberty源码分析 之 云主机的启动过程2

接上一篇: Openstack liberty源码分析 之 云主机的启动过程1 nova-conductor nova-api通过rpc发送启动云主机请求后,nova-conductor会收到该请求,根据路由映射,该请求会递交给 nova/conductor/manager.py.ComputeTaskManager.build_instances处理,如下(函数说明见注释): def build_instances(self, context, instances, image, filter

Ceph与OpenStack整合(将云主机磁盘镜像文件直接建在ceph集群vms存储池中)

思路及实现: 1.承接前两篇文章,镜像服务的存储 池为images,云盘的存储池为volumes,目前要完成openstack新建云主机磁盘镜像文件直接存放到ceph中去(在ceph中新建存储池vms). 云主机在启动时需要有能访问镜像存储池images和云盘存储池volumes的能力,所以你需要在ceph集群的monitor节点新建存储池vms,同时新建账号,该账号具有对vms,images, 以及volumes三个存储池的rwx权限 2.这里请务必注意一个细节:回忆第一篇ceph与opens