博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第 6 章 Cinder - 047 - Cinder 组件详解
阅读量:7058 次
发布时间:2019-06-28

本文共 1977 字,大约阅读时间需要 6 分钟。

Cinder 组件详解

 

cinder-api

cinder-api 是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 cinder-api 处理。

cinder-api 向外界暴露若干 HTTP REST API 接口。

在 keystone 中可以查询 cinder-api 的 endponits。

 

客户端可以将请求发送到 endponits 指定的地址,向 cinder-api 请求操作。

最终用户不会直接发送 Rest API 请求。

OpenStack CLI,Dashboard 和其他需要跟 Cinder 交换的组件会使用这些 API。

 

cinder-api 对接收到的 HTTP API 请求会做如下处理:

1、检查客户端传人的参数是否合法有效

2、调用 cinder 其他子服务的处理客户端请求

3、将 cinder 其他子服务返回的结果序列号并返回给客户端

 

Volume 生命周期相关的操作,cinder-api 都可以响应。大部分操作都可以在 Dashboard 上看到。

 

打开 Volume 管理界面

 

点击下拉箭头,列表中就是 cinder-api 可执行的操作。

 

 

cinder-scheduler

创建 Volume 时,cinder-scheduler 会基于容量、Volume Type 等条件选择出最合适的存储节点,然后让其创建 Volume。

 

cinder-volume

cinder-volume 在存储节点上运行,OpenStack 对 Volume 的操作,最后都是交给 cinder-volume 来完成的。

cinder-volume 自身并不管理真正的存储设备,存储设备是由 volume provider 管理的。

cinder-volume 与 volume provider 一起实现 volume 生命周期的管理。

 

通过 Driver 架构支持多种 Volume Provider

cinder-volume 为这些 volume provider 定义了统一的接口,volume provider 只需要实现这些接口,就可以 Driver 的形式即插即用到 OpenStack 系统中。

 

下面是 Cinder Driver 的架构示意图:

 

在 /opt/stack/cinder/cinder/volume/drivers/ 目录下查看到 OpenStack 源代码中已经自带了很多 volume provider 的 Driver:

 

存储节点在配置文件 /etc/cinder/cinder.conf 中用 volume_driver 选项配置使用的driver:

 

这里 LVM 是实验环境使用的 volume provider。

 

定期向 OpenStack 报告计算节点的状态

 

在前面 cinder-scheduler 会用到 CapacityFilter 和 CapacityWeigher,它们都是通过存储节点的空闲容量来做筛选。

cinder-volume 会定期向 Cinder 报告每个存储节点的空闲容量信息。

从 cinder-volume 的日志可以发现每隔一段时间,cinder-volume 就会报告当前存储节点的资源使用情况。

实验环境中存储节点使用的是 LVM,所以在上面的日志看到存储节点通过“vgs”和”lvs”这两个命令获取 LVM 的容量使用信息。

 

实现 volume 生命周期管理

Cinder 对 volume 的生命周期的管理最终都是通过 cinder-volume 完成的,包括 volume 的 create、extend、attach、snapshot、delete 等。

 

-------------------------------------------------引用来自------------------------------------------------------------

https://www.cnblogs.com/CloudMan6/p/5585637.html

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587763&idx=1&sn=1374e3e2bcc453b782f0eb8a78f46ad6&chksm=8d30812aba47083cbe1f0aa93b3eff408590397eb2c88fe040eafd15b04888d0d1d116405d18&scene=21#wechat_redirect

转载于:https://www.cnblogs.com/gsophy/p/11062748.html

你可能感兴趣的文章
Powershell&TFS_Part 1
查看>>
Redis学习笔记(8)-发布/订阅
查看>>
MySQL
查看>>
1124: 零起点学算法31——开始新的起程
查看>>
ACID in Hbase
查看>>
日期控件
查看>>
如何撤回经由Outlook2016刚发出的邮件
查看>>
Lock和synchronized
查看>>
004 虚函数
查看>>
PHP学习笔记15——错误与异常
查看>>
第五周 PSP 燃尽图 以及 进度条总结
查看>>
netbeans中实体类代码的bug
查看>>
java线程
查看>>
清空文件内容
查看>>
java核心(八):继承与方法重写、final、多态性的两种描述形式
查看>>
【php设计模式】装饰器模式
查看>>
项目笔记之一:DBF数据库读取
查看>>
面向对象课程第二次总结性博客作业
查看>>
【差分约束】SCOI2011糖果
查看>>
搜索R包和查看包的技巧
查看>>