,,,,煤渣是openstack中提供块存储服务的组件,主要是为虚拟机实例提供虚拟磁盘。
通过某种协议(SAS, SCSI,圣,iSCSI等)挂接裸硬盘,然后分区,格式化创建的文件,或者直接使用裸硬盘存储数据的方式叫做块存储,每个裸硬盘通常也叫做卷(卷)。
通过nfs, cifs等协议,需要挂载的远程文件系统,叫做文件系统存储。
引用><强>一、理解块存储服务强>
<>强,,,,强>在openstack中提供对卷从创建到删除整个生命周期的管理,从虚拟机实例的角度来看,挂载的每一个卷都是一块硬盘.openstack提供块存储服务的是煤渣,具体功能如下:
,,,,提供api使用户能够查询和管理卷,卷快照以及卷类型
,,提供scheuler调度卷创建请求,合理优化存储资源的分配
,,通过司机架构支持多种后端存储方式
1) cinder-api
,,,,接收api请求,调用cinder-volume
2) cindere-volume
,,,,管理卷的服务,体积与供应商协调工作,管理体积的生命周期,运行cinder-volum的服务的节点被称作为存储节点
3) cinder-scheduler
,,调度器通过调度算法选择最合适的存储节点创建卷
4)体积提供者
数据的存储设备,为卷提供物理存储空间
5)消息队列
煤渣各个子服务通过消息列队实现进程间通信和相互协作
6)数据库存储渣一些数据库,一般使用mysql
<强>二、煤渣流程强>
<强> 强>
<强>
强>,,1)用户向API发送请求
<强>,,强> 2)api对请求做一些必要的处理后,向消息传递(rabbitmq)发送信息,让调度器创建一个卷
,,3)调度程序从消息获取到api发送的消息,然后执行调度算法,从若干存储节点选出节点一个
,,4)调度程序向消息发送一条消息,让存储节点创建卷
,,5)存储节点的体积从消息中获取到调度器发给它的消息,然后通过司机在体积提供者上创建卷
三、煤渣组件详解
,,,, 1, cinder-api
cinder-api是整个煤渣组件的门户,所有的煤渣的请求都首先由nova-api处理,它向外界暴露了若干HTTP REST API接口,在kesystone中可以查询到cinder-api的端点。
,客户端可以将请求发送到endponits指定的地址,向cinder-api请求操作,大部分的api请求都可以在仪表板上进行
cinder-api对接收到的http api请求会做如下处理:
检查客户端传入的参数是否合法有效
调用煤渣其他子服务的处理客户端请求
将煤渣其他子服务返回的结果序列号返回给客户端
2, cinder-scheduler
创建体积时,cinder-scheduler会基于容量、体积等型条件选择出最合适的存储节点,然后让其创建卷
(1)过滤调度器
过滤调度器是cinder-schedule默认的调度器
在/etc/煤渣/煤渣。配置中,煤渣通过schedulerdriver, schedulerdefault_filters和调度器defaultweighers三个参数来配置cinder-scheuler
调度器调度过程如下:
通过过滤器(过滤器)选择满足条件的存储节点
通过权重计算(权重)选择最优(权重最大)的存储节点
(2)滤波器
当滤波器调度程序需要执行调度操作时,会让过滤器对计算节点进行判断,过滤器返回真实或者假
配置文件中schedulerdefaultfilters选项指定过滤调度器使用的过滤器,默认如下
过滤调度器将按照列表中顺序依次过滤
& lt; 1比;AvailabilityZoneFilter
为提高容灾性和提供隔离服务,可以将存储节点和计算节点划分不同可用性区域,创建体积时,需要指定体积所属的可用性区域
openstack——理解煤渣服务