Cinder块存储

一、什么是Cinder块存储

  1. Cinder是Openstack对块存储的实现
  2. 块存储服务主要是为虚拟机提供弹性的存储服务

二、什么是块存储服务,与Swift的区别是什么?

  1. Swift存储服务只是提供简单的上传下载功能,没有提供实时的读写功能,无法提供告诉的I/O功能的存储服务,不能像一般的文件系统使用
  2. Swift可以简单理解成:我们在个人PC电脑上的云网盘。而Cinder就是移动硬盘,可以通过操作系统直接做读写修改操作。

三、Cinder的架构

  1. 三种节点:API Node、Schedule Node、Volume Node
    (1)API Node:主要功能是向外部服务提供Restful API,除此之外其他节点都是通过RabbitMQ进行通信
    (2)Scheduler Node:就是调度服务,将客户端的各种请求转发到对应的Volume Node节点
    (3)Volume Node:提供了真正的块存储服务,就相当于提供给虚拟机的移动硬盘所占用的空间是位于Volume Node

  2. 创建Volume的流程


    Cinder多节点部署方式.jpg

    (1)client想API节点发送创建volume的请求
    (2)API节点验证请求的合法性
    (3)API节点将合法请求转给Schedule节点,如果存在多个,那么随机找一个
    (4)收到消息的Scheduler节点,查看正常运行的Volume节点,选择一个合适的Volume节点,将创建请求转发上去
    (5)接收到请求的Volume节点会准备资源创建Volume,返回创建结果
    (6)之前的Scheduler节点接收到创建结果之后,返回给API节点。API节点再将此结果返回Client端

四、Cinder内部模块通信示意图

Cinder的内部通信.jpg

主要就是靠MQ进行内部消息的传递,做到了解耦,但是MQ服务器的稳定性成为关键

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • cinder是Openstack的Block Storage Service,在学习cinder之前,我们先练了解...
    drfung阅读 3,942评论 0 0
  • 第一章 OpenStack基础 OpenStack管理的资源及提供的服务OpenStack做为一个操作系统,...
    sgt_tiger阅读 14,465评论 4 72
  • 一、前置条件 MYSQL与Keystone服务都已经安装并且服务正常运行(1)Keystone服务是作为鉴权节点为...
    K1024阅读 3,021评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • 光阴似箭,不知不觉间已与大学挥手告别两年了,似乎依然清晰的还记得两年前那个奋斗的姑娘。 二零一一年的九月七日,那天...
    慕容兰馨阅读 3,325评论 8 8

友情链接更多精彩内容