什么是cinder?
- cinder是一个openstack的组件,用来给云主机提供硬盘的一个服务
- 还可以对卷进行管理,允许对卷、卷的类型、卷的快照、卷备份进行处理。
- 它的容量都是通过cinder中实现的驱动对接来自于后端的储存,比如iscsi,glusterfs,nfs,ceph
Cinder中的模块
- Cinder API:对客户端的操作请求进行解析,并寻找相应的处理方法。包括了卷、快照的增删改查,卷的挂载卸载等。
- Cinder Scheduler:根设定的算法,对新建卷指定一个合适的后端储存
- Cinder Volume:负责与存储的块设备交互,实现卷的创建、删除、修改等操作
- Cinder Backup:备份服务,负责通过驱动和后端的备份设备打交道。
Cinder架构
Cinder内部逻辑
添加云硬盘
- 当用户发送一个创建请求给Cinder-API时,CinderAPI解析完后,调用Cinder-Scheduler选择一个合适的储存后端
- 然后使用Cinder-Volume对接后端储存,Cinder-Volume通过Volume-Driver来给后端储存发送一个创建容量的指令
- 后端储存接收到指令以后就根据参数信息在它本地创建一块空间
附加云硬盘
- 当用户发送一个附加云硬盘的请求时,这时是Nova-Api进行接收的
- Nova-Api把接收到的请求信息经过Nova-Scheduler传递到Nova-Computer
- Nova-Computer通过本地的储存驱动来连接,Cinder的后端储存,并通过云主机的XML配置文件映射到云主机