Cinder简介
Cinder在OpenStack中为虚拟机实例提供volume卷的块存储服务,可将卷挂载在实例上作为虚拟机实例的本地磁盘来使用,一个volume卷可以同时挂载到多个实例上,但是同时只能有一个实例可以对卷进行写操作,其他只能是只读的。支持的文件系统类型:LVM/ISCSI; NFS; NetAPP NFS; Gluster; DELL Equall Logic
常用术语
Volume备份:volume卷的备份,存放在备份的设备中
Volume快照:卷在某个时间点的状态
Cinder API:为Cinder请求提供统一风格的Rest API服务,用来接收Cinder请求,是Cinder服务的入口
Cinder Scheduler:负责为新建卷指定块存储设备(负责为新建卷分配存储快捷点)
Cinder Volume:负责与存储的块设备交互,实现卷的创建、删除、修改等操作
Cinder Backup:备份服务负责通过驱动和后端的备份设备打交道,备份的后端如swift等
Cinder架构原理
当有用户或Nova compute提供创建卷的请求时,首先由Cinder API接收请求,然后以消息队列的形式发送给Cinder Scheduler来调用,Cinder Scheduler 侦听到来自Cinder API的消息队列后,到数据库中取查询当前存储节点的状态信息,并根据预定策略选择卷的最佳volume service节点,然后将调度的结果发布出来给volume service来调用,当volume service收到volume scheduler 的调度结果后,会去查找volume providers, 从而在特定存储节点上创建相关的卷,然后将相关结果返回给用户,同时将修改的数据写入到数据库中。