OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目。OpenStack是IaaS(基础设施即服务)软件,让任何人都可以自行建立和提供云端运算服务。此外,OpenStack也用作建立防火墙内的“私有云”(Private
Cloud),提供机构或企业内各部门共享资源。
Cinder提供了OpenStack的Block Service(块服务)。类似于 Amazon 的 EBS 块存储服务,OpenStack 中的实例是不能持久化的,需要挂载 volume,在 volume 中实现持久化。Cinder 就是提供对 volume 实际需要的存储块单元的实现管理功能。这个project是从Nova里分出来的。它的前身是Nova-Volume。虽然Nova变得越来越复杂,而块服务又那么重要,在Folsom版本中,Cinder就从Nova中分离出来了。因为可以和商业存储相结合,所以存储厂商都很积极。
下图是OpenStack的内部架构:
下图是Cinder的架构:
要说的一点是其实它的Component之间也是通过AMPQ进行通信的。如果想了解更多可以移步我的专栏:RabbitMQ从入门到精通
这个设计还是比较简单的(当然Cinder现在的功能还是比较简单的,毕竟项目开始不久):
cinder-api:负责接受和处理 Rest 请求,并将请求放入
RabbitMQ队列。
cinder-scheduler: 处理任务队列的任务,并根据预定策略选择合适的 cinder-volume 节点来执行任务。目前版本的 cinder 仅仅提供了一个 Simple Scheduler, 该调度器选择卷数量最少的一个活跃节点来创建卷。
cinder-volume: 该服务运行在存储节点上,管理存储空间。每个存储节点都有一个 Volume Service,若干个这样的存储节点联合起来可以构成一个存储资源池。为了支持不同类型和型号的存储,当前版本的 Cinder 为 Volume Service 添加如下 drivers。当然在 Cinder 的 blueprints 当中还有一些其它的 drivers,以后的版本可能会添加进来。
- Coraid (AoE)
- EMC VMAX/VNX (iSCSI)
- GlusterFS (GlusterFS)
- HP 3PAR (iSCSI/FC)
- HP LeftHand (iSCSI)
- Huawei T-series/Dorado (iSCSI)
- IBM Storwize family/SVC (iSCSI/FC)
- IBM XIV (iSCSI), LVM (iSCSI)
- NetApp (iSCSI/NFS)
- Nexenta (iSCSI)
- NFS (NFS)
- RBD (Ceph)
- Scality SOFS (scality)
- Sheepdog (sheepdog)
- Solaris (iSCSI)
- SolidFire (iSCSI)
- Windows Server 2012 (iSCSI)
- Zadara (iSCSI)
在Havana Release中新增加的Driver如下:
- IBM GPFS
- IBM zVM
- EMC Isilon (iSCSI)
- Local disk partitions
- Hitachi HUS (DF850) (iSCSI)
- Dell Equalogic
- Violin Memory v6000 (iSCSI)
接下来看一下在OpenStack中的数据控制流图:
唯一一点要说明的是iSCSI只是一个实例,支持的Protocol还有FC, NFC等。
下面我们通过SMIS来看一下EMC的设备是如何整合到OpenStack中去的:
如果深入了解一下SMIS是如何实现存储的管理的,请移步我之前的一篇文章:
存储那些事儿(一):异构虚拟化一种实现SMIS
如果疑问请留言讨论。
尊重原创,转载请注明出处 anzhsoft: http://blog.csdn.net/anzhsoft/article/details/20472033
参考资料:
1. https://wiki.openstack.org/w/images/3/3b/Cinder-grizzly-deep-dive-pub.pdf
2. https://wiki.openstack.org/wiki/Cinder
3. http://www.ibm.com/developerworks/cn/cloud/library/1402_chenhy_openstackstorage/
分享到:
相关推荐
openstack cinder之块存储管理
OpenStack煤渣 OpenStack Cinder是用于开放式云计算服务的存储服务。 您可以在以下位置了解有关Cinder的更多信息:入门如果要从master分支运行,可以克隆git repo: git clone 如果您想贡献,请参阅的信息您可以在...
OpenStack之块存储服务(Cinder)
刘继伟:Openstack构建企业私有云.pdf
深入浅出Neutron :OpenStack网络技术
该文档来自OpenStack Days China 2016。书生云高级工程师于磊发表的题为“OpenStack超融合:再无交付实施之痛” 的主题演讲,欢迎下载!
华胜天成OpenStack实践汇报
英文书, OpenStack Object Storage (Swift) Essentials Design, implement, and successfully manage your cloud storage using OpenStack Swift 作者: Amar Kapadia,Kris...OpenStack的Swift部件可用于创建云存储。
OpenStack早起版本使用nova-volume为云平台虚拟机提供持久性块存储。从F版本后,就把最为Nova组成部分的nova-volume分离了出来,形成了独立的Cinder组件。1、cinder-api负责接收和处理外界的API请求,通过消息队列...
这是一份详细阐述OpenStack与SDN应用分析的文档!
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
书中首先介绍了PXE和网络相关的内容,接着介绍了nova-network安装模式、Quantum安装模式、Quantum GRE模式等,然后讨论了Cinder部件、中央存储与虚拟机运态迁移、云服务的开放EC2接口、RabbitMQ的集群冗余架构等,...
07. openstack块存储组件cinder讲解以及配置 24:18 08. openstack计算组件Nova讲解 28:13 09. openstack网络组件neutron功能讲解 24:12 10. openstack网络组件neutron在各个节点配置讲解 24:54 11. openstack网络...
程辉与大家分享了OpenStack开源社区的发展历程,也为大家讲解了新浪SAE的基础架构。
书中首先介绍了与OpenStack相关的基础架构软件,同时深入讲解和分析了OpenStack三大核心组件——计算(Nova)、存储(Cinder/Ceph)和网络(Neutron)的架构原理及使用方式。在具备完善的理论知识后,本书又从实战角度讲解...
名称Net::OpenStack::Compute - OpenStack Compute API 的绑定。版本版本 1.1200概要 use Net::OpenStack::Compute;my $compute = Net::OpenStack::Compute->new( auth_url => '...
该文档来自OpenStack Days China 2016。Aptira东亚区总经理及Aptira印度云端应用软件工程团队... Huang发表的题为“OpenStack迁移即服务(GUTS)与持续整合即服务(StackBuffet)之开源工具介绍” 的主题演讲,欢迎下载!
课时41、实例:Dashboard 块存储的使用 课时42、实例:Dashboard 对象存储的使用 课时43、实例:OpenStack 命令行接口使用 课时44、OpenStack HA与性能调优 课时45、OpenStack Devstack 自动安 课时46、配置 ...
这是一个脚本,旨在充当示例/参考脚本,以方便OpenStack的卷备份/还原工作流,并提供一些针对Cinder Backup Service当前限制的变通办法,如以下两篇文章所述:当前,此脚本提供以下功能: 备份/还原所有卷: 来自...
课时41、实例:Dashboard 块存储的使用 课时42、实例:Dashboard 对象存储的使用 课时43、实例:OpenStack 命令行接口使用 课时44、OpenStack HA与性能调优 课时45、OpenStack Devstack 自动安 课时46、配置 ...