当前位置: 首页 > article >正文

openstack之guardian介绍与实例创建过程

运行特征

在这里插入图片描述
采集模块:扩展Ceilometer,采集存储网、业务网连通性、nova目录是否可读写;
收集模块:将采集到的数据存储到数据库中;
分析模块:根据采集的结果,分析各节点状态,并进行反向检查,对故障节点进行关机,并迁移虚拟机;

运行机制

数据采集

1、计算节点的ceilometer-compute-ha服务负责采集业务网、存储网连通性等;
2、计算节点的ceilometer-compute-ha服务对虚机业务网、存储网等监控数据进行采集,并通过udp协议传送给ceilometer控制节点;

数据收集

控制节点的ceilometer-collector-ha服务负责将数据存储到ceilomete数据库中;

分析处理

1、guardian节点的guardian组件负责分析计算节点的状态,并进行反向检查;
2、对无数据上报的宿主机,guardian会对宿主机进行反ping探测,若不通次数超过阈值,则会发出告警,并通过ipmi判断电源状态,判断是否进行疏散;
3、根据配置发出告警信息、或对故障宿主机上的虚机进行疏散;

实例创建过程分析

在这里插入图片描述
1、某用户以登录web界面或执行rc文件的方式,通过RESTful API向keystone获取credentials;
2、keystone进行authentication,若正确则生成并返回auth-token;
3、以携带auth-token的形式,在web界面或命令行cli,通过RESTful API向nova-api发送一个启动实例的请求;

4、nova-api向keystone发送认证请求,验证token是否有效;
5、若有效则返回对应的role、credentials ;
6、通过认证后,nova-api验证参数是否正确,再与db通信;
7、记录新建vm的数据;
8、 nova-api通过同步执行远程方法rpc.call向nova-scheduler请求是否有资源;
9、nova-scheduler持续侦听mq,获取nova-api的请求;
10、nova-scheduler查询db中计算资源的情况,通过调度算法计算符合需求的主机;
11、nova-schduler更新db中待创建vm的宿主机信息;

12、nova-scheduler通过异步执行远程方法rpc.cast向nova-compute发送创建vm请求;
13、nova-compute从mq获取到创建vm的请求消息;
14、nova-compute通过rpc.call向nova-conductor获取规格flavor;
15、nova-conductor从mq获取到nova-compute的请求;
16-17、nova-conductor从db种查询对应虚拟机的信息;
18、nova-conductor把vm信息发送到mq;
19、nova-compute从mq中获取vm信息;

20、nova-compute携带从keystone获取的token,向glance-api发送http请求,获取镜像;
21、glance-api向keystone验证token是否有效,并返回验证结果;
22、若token验证通过,nova-compute获得相应镜像的URL;
23、nova-compute携带从keystone获取的token ,向neutron-server发送http请求,获取网络;
24、neutron-server向keystone验证token是否有效,并返回验证结果;
25、若token验证通过,nova-compute获得相应的网络信息;

26、nova-compute携带从keystone获取的token ,向cinder-api发送http请求,获取块存储;
27、cinder-api向keystone认证token是否有效,并返回验证结果;
28、若token验证通过,nova-compute获得相应的块存储信息;
29、nova-compute根据虚拟机信息生成配置文件libvirt.xml文件,调用libvirt driver创建VM;


http://www.kler.cn/a/379510.html

相关文章:

  • Python字典和集合在“用户信息管理”项目中的应用
  • opencv python笔记
  • 批量删除redis数据【亲测可用】
  • Linux 之 信号概念、进程、进程间通信、线程、线程同步
  • Python | Leetcode Python题解之第530题二叉搜索树的最小绝对差
  • openGauss数据库-头歌实验1-3 创建和管理模式
  • C语言实现力扣第31题:下一个排列
  • 重大917该如何复习?难度大不大?重点是啥?
  • Bacnet+springboot部署到linux后,无法检测到网络中的其他设备
  • 项目解决方案:跨不同的物理网络实现视频监控多画面的实时视频的顺畅访问
  • 代码笔录1
  • LeetCode25:K个一组翻转链表
  • LeetCode 19. 删除链表的倒数第 N 个结点(java)
  • Java Iterator 实现杨辉三角
  • Redis 补充概念
  • Unity 6 基础教程(Unity 界面)
  • 百度搜索引擎的工作原理
  • javaScript-----一维数组和数组对象去重的多种方法
  • 使用 MySQL Workbench 创建和管理用户
  • 手册更新 | RK3568开发板Openwrt文件系统构建
  • ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力
  • Win/Linux/Kylin 系统安装指定版本 jdk(8u171为例)
  • 学习记录:js算法(八十四):子集 II
  • vue系列==vue组件
  • sparkSQL面试题
  • Go语言sync.WaitGroup与errgroup.Group用法详解