前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FusionSphere Openstack 虚拟机创建流程

FusionSphere Openstack 虚拟机创建流程

作者头像
Ponnie
发布2021-02-24 11:00:22
1.6K0
发布2021-02-24 11:00:22
举报
文章被收录于专栏:玉龙小栈
OpenStack虚拟机创建流程

组件:nova-api负责接受和响应终端用户有关虚拟机和云硬盘的请求,nova-api是整个nova 的入口。它接受用户请求,将指令发送至消息队列,由相应的服务执行相关的指令消息。

nova-conductor主要负责是数据库的查询操作,进行流程控制。主要作用是避免 Nova Compute服务直接访问数据库,增加系统的安全性,组件之间解耦合,Nova Conductor提高RPC调用的,这样就会提高了操作的并发。

nova-schedule是调度虚拟机在哪个物理宿主机上部署,接受消息队列指令消息并执行。

nova-compute是主要的执行守护进程,职责是基于各种虚拟化技术 Hypervisor实现创建和终止虚拟机。

Rabbit MQ负责Nova组件的通信服务

1. Nova-api 收到创建虚拟机请求的 rest-api 消息,先校验这些参数(是否有权限,参数是否有问题),校验成功后进行校验申请(对申请资源的配额校验),然后把申请的配额写入数据库,先预占相应的资源(此时可以看到虚拟机状态为正在创建)。完成后发送给 Nova-conductor。

2. Nova-conductor 收到 Nova-api 的请求后先组装虚拟机的创建请求(创建在哪,要多少资源)找 Nova-scheduler 询问创建在哪台主机上。

3. Nova-scheduler 收到选择主机的的请求开始筛选主机,先通过 filter 模块第一次筛选出适合的主机(根据需要资源的大小),再通过权重第二次筛选(默认是内存权重,可以更改为 cpu 权重),再随机选择一台主机,把结果返回给 Nova-conductor。

4. Nova-conductor 把相关的信息发送给主机所在的 Nova-compute,让 Nova-compute 进行虚拟机的创建。

5. Nova-compute 根据创建要求占用相应的 CPU、内存资源,完成后把消息发给 Nova-conductor,让他在数据库内部刷新虚拟机的状态。

6. Nova-conductor 代写成功后 Nova-compute 会对资源进行加锁,资源加锁完成后由Nova-compute 找 neutron 要相应的网络接口,找 cinder 要相应的磁盘并挂载给虚拟机,挂载成功后就可以启动虚拟机了。启动后找 glance 要镜像。调用 libvirt 接口拉起虚拟机。

6. 此时虚拟机已经创建完成了,Nova-compute 找 Nova-conductor 更新数据库中虚拟机的状态就可以了。

OpenStack 卷创建流程

NO.1

趣事篇:热爱假期无孔不入

1. 用户发起创建卷,携带信息(卷名、卷大小、卷类型等等)

2. api接收请求,认证鉴权校验等等。转发给scheduler

3. scheduler筛选合适后端存储(filter\权重)

4. 后端存储所对应cinder-volume接收,调用dirver进行创建。

5. 后端存储进行相应的创建卷动作。

Cinder-scheduler根据AZ,容量,能力进行Filter.

根据AllocatedCapacityWeigher:有最小已使用空间的 host 胜出。

CapacityWeigher:有最大可使用空间的 host 胜出。

ChanceWeigher:随机从过滤出的host中选择一个host。进行权重。

EVS 的发放及挂载流程?

EVS 服务发放云硬盘及挂载云硬盘至 ECS 的业务流

1. VDC 管理员或 VDC 业务员通过 EVS 控制台申请存储资源。

2. EVS 控制台通过 ECS UI(EVS),将请求下发给组合 API(EVS)。

3. 组合 API 将请求分发到 Cinder。

4. Cinder 根据申请存储资源的策略在存储池创建卷。

5. VDC 管理员或 VDC 业务员通过 EVS 控制台将申请的存储资源挂载至云服务器。

a. EVS 控制台通过 ECS UI(ECS),将请求下发给组合 API(ECS)。

b. 组合 API 将请求分发到 Nova。

c. Nova 通过运行于计算节点上的 Nova-compute 处理挂载。

6. Nova 通知 Cinder 挂载云硬盘。

a. Nova 获取云硬盘信息,并通知 Cinder 保留云硬盘。

b. Nova 获取主机启动器信息并传递给 Cinder。

c. Cinder 通知存储阵列做启动器和目标器映射,并返回 Nova 目标器信

息。

d. Nova 完成挂载。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玉龙网络新知社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云硬盘
云硬盘(Cloud Block Storage,CBS)为您提供用于 CVM 的持久性数据块级存储服务。云硬盘中的数据自动地在可用区内以多副本冗余方式存储,避免数据的单点故障风险,提供高达99.9999999%的数据可靠性。同时提供多种类型及规格,满足稳定低延迟的存储性能要求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档