这几天在学习Openstack的Cinder项目,记录学习笔记如下。
Cinder从Openstack的Folsom版本(2012年9月发布)开始出现,用以替代Nova-Volume服务,Cinder为Openstack提供了管理卷(volunme)的基础设施。
按Openstack官方文档的表述,Cinder是受请求得到、自助化访问的块储存服务,即Cinder有两个显著地特点,第一,必须用户提出请求,才能得到该服务;第二,用户可以自定义的半自动化服务。Cinder实现LVM(逻辑卷管理),用以呈现存储资源给能够被Nova调用的端用户。简而言之,Cinder虚拟化块存储设备池,提供端用户自助服务的API用以请求和使用这些块资源,并且不用了解存储的位置或设备信息。
Cinder相关项目
1、Python Cinder客户端
2、块存储API文档
Cinder架构
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义。
Auth Manager:授权管理者
AMQP:高级消息队列协议,应用于MQ中。
SCSI 即 小型计算机系统接口 。小型计算机系统接口(英语:Small Computer System Interface; 简写:SCSI),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。 SCSI是一种智能的通用接口标准。它是各种计算机与外部设备之间的接口标准。
iSCSI: Internet 小型计算机系统接口(iSCSI)是一种基于TCP/IP的协议,用来建立和管理 IP 存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得 SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。
REST :表征状态转移(Representational State Transfer),定义了一种软件架构原则,它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。根据这些原则设计以系统资源为中心的 Web 服务,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。 如果考虑使用它的 Web 服务的数量,REST 近年来已经成为最主要的 Web 服务设计模式。
Cinder整体构架中,API是核心部分,连接了内部的授权管理,REST请求,MQ队列和前端的Cinder客户端,Nova客户端。客户端通过Web界面显示Cinder信息,Nova端用户可以调用存储在块中的资源。MQ队列,Scheduler调度volume上的存储信息。iSCSI是一个接口协议,一端连接存储设备(Volume),一端连接其他主机。
Cinder服务
API service:Cinder构架图的核心部分,负责接受和处理Rest请求,并将请求放入RabbitMQ队列。
Scheduler service: 处理任务队列的任务,并根据预定策略选择合适的Volume Service节点来执行任务。所以构架图中,Scheduler一端连接MQ队列,处理MQ队列中的任务;一端连接Volume设备,任务在Volume节点上执行。
Volume service: 该服务运行在存储节点上,管理存储空间。每个存储节点都有一个Volume Service,若干个这样的存储节点联合起来可以构成一个存储资源池。
Cinder服务的部署
上述的Cinder服务都可以独立部署,
Cinder-all: 用于部署all-in-one节点,即API, Scheduler, Volume服务部署在该节点上。
Cinder-scheduler: 用于将scheduler服务部署在该节点上。
Cinder-api: 用于将api服务部署在该节点上。
Cinder-volume: 用于将volume服务部署在节点上执行。
Cinder如何支持典型存储
从目前的实现来看,Cinder对本地存储和NAS的支持比较不错,可以提供完整的Cinder API V2支持,而对于其它类型的存储设备,Cinder的支持会或多或少的受到限制。
1、对于本地存储,cinder-volume可以使用lvm驱动,该驱动当前的实现需要在主机上事先用lvm命令创建一个cinder-volumes的vg, 当该主机接受到创建卷请求的时候,cinder-volume在该vg上创建一个LV, 并且用openiscsi将这个卷当作一个iscsi tgt给export.当然还可以将若干主机的本地存储用sheepdog虚拟成一个共享存储,然后使用sheepdog驱动。
2、EMC
3、NetApp
结合EMC和NetApp两个典型存储图,存储过程必定包含的元素有用户,Nova(Openstack的核心项目,计算功能),数据库,Volume管理(资源就是存储在Volume设备上),另外MQ队列至关重要,所有请求消息都汇集MQ队列,依次进行处理。EMC和NetApp存储的不同点是EMC使用SMI-S服务器,通过CIM与Volume管理者进行信息交互,而NetApp使用NetApp OnCommand存储管理方式,通过REST与Volume管理者传递请求。
本文参考:
1、Openstack官网Cinder部分https://wiki.openstack.org/wiki/Cinder
2、http://blog.csdn.net/luo_brian/article/details/8592692
相关推荐
个人总结的Openstack存储组件Cinder的资料,提供给大家,主要也是记录了自己的学习经历
魔术窗口Magic Window旨在使开发人员能够以最少的设置创建大型(如大像素)的高性能Cinder应用程序。 它是在考虑开发过程的基础上构建的,并且可以轻松地缩小原本庞大的应用程序,甚至可以在笔记本电脑的屏幕上显示...
煤渣论坛数据 探索数据提取,希望能够迁移到 。...笔记 对于主题中的所有消息,“ Posted Time列具有相同的值,主题创建日期而不是消息 主题内的消息是无序的 消息线程未定义(回复其他消息的消息) 对于
【16】7-1openstack-cinder 【17】7-2openstack-cinder 【18】7-3openstack-neutron 【19】8-1openstack-neutron 【20】8-2openstack-keystone 【21】8-3openstack-ceilmetor+rabbitmq 【22】8-4openstack-...
将 Elliot Woods 和 Kyle McDonald 的“校准投影仪和相机:实用工具”研讨会代码移植到 Kinect 2、ofx VS2013 和(即将推出)Cinder原始回购工作坊笔记依赖关系Visual Studio 2013 ( ) Kinect for Windows SDK ( ) ...
8 Openstack-cinder 9 Openstack-swift 10 Openstack-glance 11 Openstack-neutron.mp4 12 Openstack-ceilometer 13 FusionCloud 6.3私有云解决方案 14 FusionCloud网络平面 15 FusionCloud私有云运营 16 ...
笔记和思维导图 1-1 华为云计算解决方案介绍 1-2 华为云计算解决方案介绍 2-1 FusionSphere 6.3 服务器虚拟化运营 2-2 FusionSphere 6.3 服务器虚拟化运营 2-3 FusionSphere 6.3 服务器虚拟化运营 3-1 KVM虚拟...
E云计算笔记,网盘文件,永久链接 华为【0112020全新版一 HCIE-Cloud11华为云计算解决方案介绍zp 华为_【02】2020全新版- HCIE-Cloud1-2华为云计算解决方案介绍zip 华为[03】2020全新版- HCIE-Cloud2-1 L Fusion...
开放堆栈独立单服务器OpenStack部署笔记请参阅完整的。可用状态openstack 安装Nova,Glance和Keystone openstack.nova 安装Nova openstack.glance 安装一览openstack.keystone 安装梯形失真校正openstack.cinder ...