概述
- cinder 是 OpenStack 中负责提供块存储服务的组件
- 管理 volume 从创建到删除的整个生命周期
- 块存储:挂接裸硬盘,分区,格式化,创建文件系统;或者直接使用裸硬盘存储数据
- 文件系统存储:通过nfs等方式挂载远程的文件系统
架构
- cinder-api
- 对外提供REST API、响应请求、调用cinder-volume
- 检查客户端传入的参数是否有效
- 调用cinder其他子组件处理客户端请求
- 将其他子组件处理的结果返回客户端
- cinder-volume
- 运行在存储节点上,负责管理具体存储设备的存储空间
- 每个存储节点都运行 cinder-volume 服务,多个存储节点便组成了一个存储资源池
- cinder-volume 自身并不是真正的存储设备,真正的存储设备是 volume provider
- cinder-volume 与 volume provider 一起实现了对 volume 全生命周期的管理
- cinder-scheduler
- 当用户向cinder-api发出请求创建一个volume时,如果用户已经指定存储节点,则cinder-api会直接调用cinder-volume 去创建volume
- 当用户没有指定节点时,cinder-api 会将请求发送给 cinder-scheduler,cinder-scheduler 会根据调度算法选择最合适的存储节点创建 volume
- volume provider
- volume provider 是数据存储设备,为volume提供物理存储空间
- cinder-volume 支持多种volume provider
- 每种 volume provider 通过自己的驱动与cinder-volume协同工作
- cinder DB
- cinder 在部署前也需在数据库中创建一个名为 cinder 的 database
Comments NOTHING