zoukankan      html  css  js  c++  java
  • 存储那些事儿(三):OpenStack的块存储Cinder与商业存储的融合

          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/

  • 相关阅读:
    Lucene:(一)建立索引文件:2。建立索引文件(一)
    Lucene:(一)建立索引文件:2。建立索引文件(二)Segment文件
    92.外边距设置 Walker
    99.元素居中及样式重置 Walker
    94.外边距踩坑 Walker
    101.列表属性 Walker
    97.boxsizing属性 Walker
    98.溢出隐藏 Walker
    95.内边距设置 Walker
    96.内边距和边框踩坑 Walker
  • 原文地址:https://www.cnblogs.com/anzhsoft/p/3602952.html
Copyright © 2011-2022 走看看